
Нужно быстро выявить уязвимости в веб-приложении до релиза или провести периодический аудит безопасности? Acunetix – коммерческий сканер уязвимостей веб-приложений, который автоматизирует поиск XSS, SQLi, SSRF, RCE и десятков других проблем. В этой статье разберем, как развернуть Acunetix, настроить сканы, интерпретировать результаты и интегрировать его в CI/CD. Материал пригодится инженерам по безопасности, DevOps и разработчикам, которые хотят встроить автоматизированный AppSec в свой процесс.
Содержание
1. Что такое Acunetix и когда его использовать
2. Архитектура и варианты развертывания
3. Установка и первоначальная настройка
4. Настройка целей и типов сканов
5. Аутентификация и обход защиты
6. Политики сканирования и профили
7. Разбор отчетов и приоритезация
8. Интеграция в CI/CD и баг-трекеры
9. Практическая пошаговая настройка
10. Реальный кейс: XSS и SQLi в тестовом окружении
11. Часто задаваемые вопросы
12. Заключение
Что такое Acunetix и когда его использовать
Acunetix Web Vulnerability Scanner – инструмент для автоматизированного поиска уязвимостей в веб-приложениях и API. Поддерживает сканирование как традиционных сайтов, так и SPA (single page applications) с интенсивным использованием JavaScript.
Ключевые возможности:
- Обнаружение OWASP Top 10 (XSS, SQLi, SSRF, XXE, IDOR, RCE и др.)
- Сканирование REST и SOAP API (поддержка OpenAPI/Swagger, WSDL)
- Встроенный веб-кроулер для динамических сайтов (JS-heavy)
- Аутентифицированные сканы (Form-based, HTTP Basic/Digest, OAuth)
- Политики сканирования и настраиваемые профили
- Отчеты для разных аудиторий (технич./бизнес, PCI-DSS, OWASP)
- Интеграции: Jira, GitLab, Jenkins, Bamboo, Azure DevOps, email/webhook
Когда использовать:
- Регулярные безопасностные спринты (DAST) перед релизами
- Проверка публичных веб-приложений и API
- Непрерывный мониторинг уязвимостей в продуктиве
- Подготовка к аудитам и соответствию стандартам (PCI-DSS, OWASP)
Архитектура и варианты развертывания
Acunetix состоит из:
- Core (Engine) – выполняет сканирование и анализ уязвимостей
- Web UI – управление сканами, политиками, отчетами
- Agent (в Acunetix 360) – удаленные сканеры для распределенных сред
Варианты развертывания:
- On-premises: Windows или Linux сервер
- Cloud (Acunetix Online): SaaS, без локальной установки
- Acunetix 360: версия для крупных компаний с многопользовательским режимом и удаленными агентами
Рекомендации по ресурсам (on-prem):
- Небольшие команды: 4 CPU, 8 GB RAM, 50+ GB диска
- Средние команды: 8 CPU, 16 GB RAM, 100+ GB диска
- Большие инсталляции: выделенный сервер + отдельный сканер(ы)
Установка и первоначальная настройка
Linux (Ubuntu 22.04)
bash
<h2 id="obnovit-sistemu">Обновить систему</h2>
sudo apt update && sudo apt upgrade -y
<h2 id="skachat-paket-acunetix-primer-ssylki-aktualnuyu-brat-iz-lichnogo-kabineta">Скачать пакет Acunetix (пример ссылки, актуальную брать из личного кабинета)</h2>
wget https://downloads.acunetix.com/v/wvs/acunetix_15.5.220910095_x64.sh -O acunetix.sh
<h2 id="ustanovit">Установить</h2>
chmod +x acunetix.sh
sudo ./acunetix.sh
После установки веб-интерфейс будет доступен по HTTPS на 3443 порту: `https://:3443/`
Windows (Server 2019+)
1. Скачать инсталлятор из личного кабинета Acunetix
2. Запустить с правами администратора
3. Следовать мастеру, указать учетные данные администратора
4. Открыть `https://localhost:3443/` для первичной настройки
Базовая конфигурация
- Создать admin-аккаунт
- Настроить SMTP (для уведомлений): Settings → Email Settings
- Настроить лицензию (онлайн или файл)
- Добавить команду (users/roles) при необходимости
Настройка целей и типов сканов
Добавление цели (Target)
1. Targets → Add Target
2. URL: `https://app.example.com`
3. Target description: кратко о сервисе
4. Business criticality: High/Medium/Low (влияет на приоритет)
5. Technology stack: выбрать (PHP, Node.js, .NET, Java и т.д.) – улучшает точность
Типы сканов
- Full Scan – полный аудит (рекомендуется для регламентных проверок)
- High Risk Vulnerabilities – быстрый поиск критичных уязвимостей
- Crawl Only – только обход приложения (полезно для SPA)
- API Scan – по OpenAPI/Swagger или WSDL
- Continuous Scans – регулярные проверки по расписанию
Расписание
Targets → Scan Schedules:
- Daily/Weekly/Monthly
- По окнам обслуживания (например, ночью)
- Ограничение скорости запросов, чтобы не перегрузить приложение
Аутентификация и обход защиты
Acunetix поддерживает разные способы аутентификации:
- Form-based login (передаем логин/пароль, настраиваем сессию)
- HTTP Basic/Digest
- OAuth/OpenID Connect (указать токен или сценарий логина)
- JWT (добавить токен в заголовок Authorization)
- Client certificate (для mTLS)
Настройка Form-based:
1. Targets → Target → Login → Record Login Sequence
2. Записать шаги входа (URL, поля логина/пароля)
3. Проверить, что статус сессии отображается как Authenticated
Обход защит:
- Настроить throttle (ограничить RPS), чтобы не вызвать DoS
- Исключить чувствительные эндпоинты (лог-аут, деструктивные операции)
- Добавить custom headers (если требуется для доступа)
- Разрешить robots.txt обход, если это тестовое окружение
Политики сканирования и профили
Политики определяют, какие проверки выполняются.
- Default – полный набор тестов
- High Risk – быстрый поиск критичных уязвимостей
- API – для REST/SOAP (поддержка OpenAPI/Swagger, WSDL)
- Custom – собственный набор (включать/выключать тесты)
Практика:
- Для продакшена: осторожные политики, лимиты скорости
- Для стейджинга: полный скан + интенсивный кроулинг
- Для API: подключать файл OpenAPI/Swagger, задавать авторизацию
Разбор отчетов и приоритезация
После скана Acunetix формирует отчеты с классификацией по Severity:
- Critical / High – немедленно исправить
- Medium – планировать в ближайший спринт
- Low / Info – по возможности
Что смотреть в уязвимости:
- Описание и метод эксплуатации
- HTTP-запрос/ответ (Proof of Concept)
- Путь/параметр, где найдена проблема
- Рекомендации по исправлению
- CVSS и ссылка на стандарт (OWASP, CWE)
Приоритезация:
- Исправлять сначала Critical/High с доступом без авторизации
- Ставить дедлайны: High – 7 дней, Medium – 30 дней
- Проверять повторно после фикса (re-test)
Интеграция в CI/CD и баг-трекеры
CI/CD
- Jenkins/GitLab CI/Azure DevOps: запускать скан по ветке или перед релизом
- Использовать CLI/REST API для запуска и получения результатов
- Блокировать релиз, если найдены Critical/High
Пример шага в GitLab CI:
yaml
security_scan:
image: python:3.11
script:
- pip install acunetix-api-client
- python ci/run_acunetix_scan.py
allow_failure: false
Баг-трекеры
- Интеграции: Jira, GitHub Issues, GitLab, Azure Boards
- Автосоздание тикетов с данными PoC, HTTP-запросом и рекомендациями
- Настройка статусов: при re-test автоматически закрывать фикс
Практическая пошаговая настройка
1) Добавить цель
- URL: `https://test-app.local`
- Tech stack: Node.js, PostgreSQL
- Criticality: High
2) Настроить аутентификацию
- Form-based: записать сценарий логина
- Проверить статус Authenticated
3) Выбрать политику
- Staging: Full Scan + JS Crawler
- Prod: High Risk, лимит RPS, исключить опасные эндпоинты
4) Запустить скан
- Targets → Scan → Full Scan
- Поставить расписание: еженедельно ночью
5) Проанализировать отчет
- Фильтр: Severity = High/Critical
- Проверить PoC, пути, параметры
- Сформировать задачи в Jira
6) Провести re-test
- После фикса – перезапустить скан выбранных уязвимостей
- Убедиться, что статус изменился на Fixed/Not Found
Реальный кейс: XSS и SQLi в тестовом окружении
Контекст: тестовое веб-приложение со страницей поиска и формой обратной связи.
Настройка:
- Цель: `https://staging.app.local`
- Аутентификация: Form-based (учетка тестового пользователя)
- Политика: Full Scan + API Scan (Swagger подключен)
Результат скана:
- XSS (Reflected) в параметре `q` страницы поиска
- SQL Injection (Time-based) в параметре `id` формы обратной связи
Детали (пример):
- XSS: URL `https://staging.app.local/search?q=alert(1)`
- SQLi: POST `/feedback` с параметром `id=1' WAITFOR DELAY '00:00:05'--`
Действия:
- Передали PoC в баг-трекер (Jira) с деталями запроса/ответа
- Разработчики внедрили фильтрацию/экранирование и параметризованные запросы
- Проведен re-test – уязвимости устранены
Вывод:
- Acunetix быстро выявил критичные уязвимости на стейджинге
- Повторный скан подтвердил исправления
- Интеграция с Jira ускорила передачу задач
Часто задаваемые вопросы
Нужен ли отдельный сервер для Acunetix?
Для небольших команд можно на одном сервере (4 CPU, 8 GB RAM). Для частых и параллельных сканов – лучше выделенный сервер/несколько сканеров.Можно ли сканировать только API?
Да. Поддерживаются OpenAPI/Swagger (JSON/YAML) и WSDL. В политике выбрать API Scan и указать файл/URL спецификации.Безопасно ли сканировать продакшен?
Рекомендуется аккуратная политика: ограничить RPS, исключить деструктивные эндпоинты, сканировать в окна обслуживания. Предпочтительно сканировать стейджинг с полной копией данных.Как избежать ложных срабатываний?
Пересматривать уязвимости, помеченные как Potential. Делать выборочный ручной верификационный тест. Для повторяющихся false positive – исключить проверки или настроить политику.Есть ли бесплатная версия?
Есть trial с ограниченным временем. Полноценная версия – коммерческая. Для open-source альтернатив можно рассмотреть OWASP ZAP, но по функционалу Acunetix богаче.Заключение
Acunetix – мощный DAST-сканер для веб-приложений и API, который помогает автоматизировать поиск уязвимостей, ускорить безопасные релизы и снизить риски. Правильно настроенные цели, политики и интеграции позволяют встроить безопасность в процесс разработки и эксплуатации. Запускайте полные сканы на стейджинге, аккуратные – на продакшене, интегрируйте результаты в CI/CD и баг-трекеры, делайте re-test после фикса – и вы закроете большинство типовых рисков веб-безопасности.
Дополнительные ресурсы:
- Официальный сайт Acunetix
- Документация Acunetix
- Acunetix API
---
**⚠️ Дисклеймер:** Статья носит информационно-образовательный характер и не содержит инструкций для совершения противоправных действий.