Технический аудит сайта: производительность, безопасность и качество кода
В рамках технического аудита веб-проекта мы проводим исследования производительности (скорости работы) серверной платформы и кода сайта, изучаем код проекта на предмет безопасности и качества.
Аудит производительности сайта
Одними из важнейших факторов успеха сайта являются скорость его работы и стабильность. Для их обеспечения важно сохранять состояние серверной платформы и кода проекта в оптимальном состоянии. Сделать это позволяет аудит проекта.
Аудит производительности серверной платформы сайта
При проведении аудита и экспертизы производительности веб-серверов мы проводим исследования следующих компонентов:
- Аппаратное обеспечение сервера (состояние, конфигурация)
- Поиск путей оптимизации аппаратных ресурсов и анализ возможностей резервирования критичных узлов на аппаратном уровне
- Изучение настроек операционной системы сервера
- Проверка наличия актуальных патчей безопасности
- Проверка наличия уязвимостей
- Анализ настроек и состояния СУБД
- Анализ настроек и производительности WEB-стека (Nginx+Apache+PHP)
В обязательном порядке мы производим поиск путей для оптимизации производительности. А по завершению аудита составляем для заказчика план действий и отчет о найденных проблемах.
Довольно часто по результатам аудита выясняется, что возможна оптимизация платформы. Она включает в себя:
- Улучшение уровня резервирования аппаратной составляющей
- Оптимизация настроек СУБД
- Оптимизация настроек операционной системы
- Оптимизация настроек стека (Nginx+Apache+PHP)
Отдельно от работ по оптимизации проводятся работы по устранению уязвимостей в системе и нагрузочному тестированию.
Аудит производительности кода и оптимальности настроек CMS/фреймворка проекта
Выполняем аудит производительности кода и оптимальности настроек CMS/фреймворка проекта. Состав работ:
- Проверка настроек (например, кеширования) CMS/фреймворка на оптимальность
- Проведение замеров производительности штатными инструментами CMS/фреймворка и их анализ (Монитор производительности Битрикс, Symfony Profiler)
- Профилирование выполнения PHP-кода специализированными инструментами (xhprof, xdebug)
- Профилирование выполнения JavaScript-кода с помощью Chrome DevTools
- Ревью исходного кода в разрезе оптимальности отдельных участков кода и выбранного подхода к решению той или иной задачи в целом
- Анализ индексов базы данных
Аудит безопасности кода проекта
Выполняем аудит безопасности кодовой базы проекта. Состав работ:
- сканирование на предмет наличия вредоносного кода
- анализ кода, обрабатывающего входные данные, на предмет обработки потенциально вредоносных конструкций (инъекций)
- анализ истории версий подключаемых сторонних библиотек на наличие в них известных уязвимостей
- анализ настроек/политик CMS/фреймворка, связанных с безопасностью (сессии, пароли и др.)
- проверка/составление матрицы доступов к отдельным частям системы для всех ролей проекта
Аудит качества кода
Выполняем аудит качества кода, используя ряд автоматических утилит и ревью. Состав работ:
- анализ соблюдения стандартов платформы (Битрикс, Symfony)
- анализ соблюдения стандартов, принятых на проекте (если были приняты)
- выявление использования анти-паттернов и типовых ошибок (фиксация на конкретную среду исполнения, дублирование кода, магические числа и др.)
- анализ цикломатической сложности
- составление рекомендаций по улучшению читаемости кода
- аудит производительности кода
Статьи по теме из нашего блога
Примеры проектов