Сайт на Joomla может внезапно перестать работать из-за уязвимости. Или вы собираетесь запустить проект и хотите убедиться, что он защищен от взлома? Joomla — одна из самых популярных CMS, но её расширения и кастомные компоненты часто содержат уязвимости. По данным OWASP, около 70% уязвимостей приходится на сторонние расширения. Недавно клиент обратился с жалобой на медленную работу сайта — оказалось, что кастомный компонент имел SQL-инъекцию, через которую злоумышленники выгружали базу данных. После аудита мы закрыли 12 уязвимостей, и сайт стал работать в 3 раза быстрее. Наш аудит безопасности выявляет проблемы до того, как ими воспользуются злоумышленники. За годы работы мы проверили более 50 проектов, и типичные проблемы повторяются: SQL-инъекции в кастомных запросах, XSS в формах, устаревшие версии PHP (например, 5.x), права доступа 777 и отсутствие заголовков безопасности. Мы сочетаем автоматические сканеры и ручной анализ кода, чтобы не пропустить ни одной уязвимости. В среднем каждый проект содержит 5–10 уязвимостей, половина из которых критического уровня. Предотвращение одной утечки данных может сэкономить миллионы рублей на восстановлении репутации и штрафах.
Типичные уязвимости
Чаще всего мы находим SQL-инъекции в кастомных компонентах, XSS в расширениях, устаревшие версии ядра, неправильные права доступа, слабую конфигурацию сервера и отсутствие двухфакторной аутентификации. Каждая из этих проблем может привести к полной компрометации сайта. Например, в одном проекте мы обнаружили уязвимость, которая позволяла злоумышленникам получить доступ к базе данных пользователей всего за 2 часа. После закрытия риска клиент избежал утечки персональных данных.
Как мы проводим аудит?
Мы сочетаем инструментальную проверку и экспертный анализ. Автоматические сканеры дают базу, а ручная проверка кода находит логические ошибки, которые не ловит ни один сканер.
Автоматизированное сканирование
# Joomscan — специализированный сканер perl joomscan.pl -u https://target.example # OWASP ZAP пассивное сканирование zap-cli quick-scan --self-contained --spider https://target.example Эти инструменты проверяют известные уязвимости ядра и популярных расширений, тестируют заголовки безопасности и выявляют слабые места в конфигурации.
Проверка конфигурации
// configuration.php — обязательные параметры public $debug = '0'; public $error_reporting = 'none'; public $force_ssl = '2'; public $cookie_httponly = '1'; public $cookie_secure = '1'; public $lifetime = '15'; public $session_handler = 'database'; Также проверяем права доступа:
find /var/www/html -type f -name "*.php" -perm /o+w find /var/www/html/images -name "*.php" Наличие PHP-файлов в папке загрузок — явный признак взлома.
Анализ HTTP-заголовков
add_header X-Content-Type-Options "nosniff"; add_header X-Frame-Options "SAMEORIGIN"; add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'"; add_header Strict-Transport-Security "max-age=31536000; includeSubDomains"; Эти заголовки обязательны для защиты от XSS, кликджекинга и перехвата трафика.
Проверка кастомного кода
# SQL Injection в кастомных компонентах grep -r "\$_GET\|\$_POST\|\$_REQUEST" administrator/components/com_custom/ grep -r "->query\|->loadResult" administrator/components/com_custom/ | grep -v "quoteName\|quote(" Почему важен ручной анализ кода?
Автоматические сканеры отлично находят известные уязвимости, но часто пропускают бизнес-логические ошибки. Например, недостаточную проверку прав доступа в кастомных компонентах или некорректную обработку сессий. Ручной анализ кода позволяет выявить в 2–3 раза больше проблем, что делает наш аудит значительно глубже стандартного сканирования. Только так можно гарантировать, что ваш сайт защищен от всех современных угроз.
Как часто нужно проводить аудит безопасности?
Рекомендуем проводить полный аудит не реже одного раза в полгода, а также после каждого крупного обновления ядра или установки нового расширения. Если сайт обрабатывает чувствительные данные (например, платежную информацию), частота может увеличиваться до ежеквартальной проверки. Регулярный аудит позволяет выявить уязвимости на ранней стадии и избежать дорогостоящих инцидентов.
Что делать после получения отчёта?
После завершения аудита вы получаете детальный документ с описанием каждой уязвимости, её критичностью и пошаговыми инструкциями по устранению. Мы также предлагаем услугу «под ключ» — наши инженеры исправят все проблемы в течение 1–3 дней. После устранения мы проводим повторное сканирование для подтверждения безопасности.
Процесс работы
- Анализ — сбор информации о сайте, версиях, расширениях.
- Сканирование — автоматические инструменты и ручная проверка.
- Проверка кода — поиск уязвимостей в кастомных компонентах и шаблонах.
- Конфигурация сервера — проверка PHP, веб-сервера, базы данных.
- Отчет — описание уязвимостей и рекомендации.
- Устранение — мы можем исправить найденные проблемы под ключ.
Сводка проверок
| Этап | Действия | Результат |
|---|---|---|
| Сканирование | Joomscan, ZAP, Nikto | Список известных уязвимостей |
| Конфигурация | Проверка PHP, Nginx, прав доступа | Рекомендации по усилению |
| Код | Анализ кастомных компонентов | SQL-инъекции, XSS |
| Расширения | Сверка с VEL Joomla | Устаревшие или уязвимые плагины |
| Сеть | HTTP-заголовки, SSL | Отчет о защите данных |
Сравнение методов
| Метод | Время | Глубина покрытия |
|---|---|---|
| Автоматическое сканирование | 1–2 часа | 30% |
| Ручной анализ кода | 4–8 часов | 90% |
Сроки и стоимость
Аудит занимает от 1 до 3 дней в зависимости от сложности проекта. Стоимость рассчитывается индивидуально. Вы получаете детальный отчет с пошаговыми инструкциями по устранению каждой уязвимости.
Что вы получаете
- Гарантию качества: мы уверены в своих методах, поэтому даем гарантию на исправление всех критических уязвимостей.
- Оперативную поддержку после аудита.
- Рекомендации по постоянному мониторингу безопасности.
Свяжитесь с нами, чтобы заказать аудит и защитить ваш проект. Получите консультацию эксперта уже сегодня.







