Технический аудит сайта: производительность, безопасность и качество кода

В рамках технического аудита веб-проекта мы проводим исследования производительности (скорости работы) серверной платформы и кода сайта, изучаем код проекта на предмет безопасности и качества.

Аудит производительности сайта

Одними из важнейших факторов успеха сайта являются скорость его работы и стабильность. Для их обеспечения важно сохранять состояние серверной платформы и кода проекта в оптимальном состоянии. Сделать это позволяет аудит проекта.

Аудит производительности серверной платформы сайта

При проведении аудита и экспертизы производительности веб-серверов мы проводим исследования следующих компонентов:

  • Аппаратное обеспечение сервера (состояние, конфигурация)
  • Поиск путей оптимизации аппаратных ресурсов и анализ возможностей резервирования критичных узлов на аппаратном уровне
  • Изучение настроек операционной системы сервера
  • Проверка наличия актуальных патчей безопасности
  • Проверка наличия уязвимостей
  • Анализ настроек и состояния СУБД
  • Анализ настроек и производительности WEB-стека (Nginx+Apache+PHP)

В обязательном порядке мы производим поиск путей для оптимизации производительности. А по завершению аудита составляем для заказчика план действий и отчет о найденных проблемах.

Довольно часто по результатам аудита выясняется, что возможна оптимизация платформы. Она включает в себя:

  • Улучшение уровня резервирования аппаратной составляющей
  • Оптимизация настроек СУБД
  • Оптимизация настроек операционной системы
  • Оптимизация настроек стека (Nginx+Apache+PHP)

Отдельно от работ по оптимизации проводятся работы по устранению уязвимостей в системе и нагрузочному тестированию.

Аудит производительности кода и оптимальности настроек CMS/фреймворка проекта

Выполняем аудит производительности кода и оптимальности настроек CMS/фреймворка проекта. Состав работ:

  • Проверка настроек (например, кеширования) CMS/фреймворка на оптимальность
  • Проведение замеров производительности штатными инструментами CMS/фреймворка и их анализ (Монитор производительности Битрикс, Symfony Profiler)
  • Профилирование выполнения PHP-кода специализированными инструментами (xhprof, xdebug)
  • Профилирование выполнения JavaScript-кода с помощью Chrome DevTools
  • Ревью исходного кода в разрезе оптимальности отдельных участков кода и выбранного подхода к решению той или иной задачи в целом
  • Анализ индексов базы данных

Аудит безопасности кода проекта

Выполняем аудит безопасности кодовой базы проекта. Состав работ:

  • сканирование на предмет наличия вредоносного кода
  • анализ кода, обрабатывающего входные данные, на предмет обработки потенциально вредоносных конструкций (инъекций)
  • анализ истории версий подключаемых сторонних библиотек на наличие в них известных уязвимостей
  • анализ настроек/политик CMS/фреймворка, связанных с безопасностью (сессии, пароли и др.)
  • проверка/составление матрицы доступов к отдельным частям системы для всех ролей проекта

Аудит качества кода

Выполняем аудит качества кода, используя ряд автоматических утилит и ревью. Состав работ:

  • анализ соблюдения стандартов платформы (Битрикс, Symfony)
  • анализ соблюдения стандартов, принятых на проекте (если были приняты)
  • выявление использования анти-паттернов и типовых ошибок (фиксация на конкретную среду исполнения, дублирование кода, магические числа и др.)
  • анализ цикломатической сложности
  • составление рекомендаций по улучшению читаемости кода
  • аудит производительности кода

Примеры проектов