Развёртывание
Для установки DAST-One (D1) в собственной инфраструктуре потребуется:
- Подготовка (конфигурация) окружения
- Комплект docker-образов D1
- Конфигурация D1
При необходимости мы консультируем по конфигурации этих опций в вашей инсталляции.
1. Среда развёртывания
Системные требования
Необходимые аппаратные ресурсы зависят от планируемого количества одновременно запущенных сканеров. В варианте по умолчанию задача на тестирование (1 скан) порождает запуск 2 инструментов, при этом сканеры в режиме DAST более требовательны к вычислительным ресурсам, чем "фаззеры" (сканеры в режиме Fuzzing).
Кол-во параллельных сканов | Потребность в vCPU, шт. | Потребность в RAM, ГБ |
---|---|---|
1 (минимум) | 1 | 4 |
3 (по умолчанию, рекомендуется) | 6 | 14 |
Для расчёта потребности в дисковом пространстве исходите из следующих соображений:
Как говорит
docker images | egrep '(dast|d1)\.'
, docker-образы занимаютtxtd1.onprem.yard ... 193MB \ т.е. около 250МБ d1.onprem.rtr ... 127MB / непосредственно на D1 dast.asler ... 221MB \ dast.nukem ... 823MB | т.е. ~3.5GB на сканеры dast.zedan ... 2.37GB / (зависит от их набора) vuapi ... 177MB -- опциональный тренировочный подопытный
Плюс на каждое тестируемое приложение/сервис в зависимости от его объёма и от требуемой длительности хранения истории (промежуточных данных) следует резервировать от десятков мегабайт до единиц гигабайт в
APPDATA
(каталог с данными D1, см. конфигурацию ниже).
Программные ресурсы:
ОС/среда: Linux, kernel 5.x+. В документации по умолчанию подразумевается deb-flavor (Debian, Ubuntu, Astra), если не сказано иное. D1 не тестируется в среде rpm-flavor, но отрицательных предпоcылок для сборки в этой среде нет.
Docker Engine v27, Docker Compose v2, установленные из репозиториев вендора (см. оригинальные инструкции).
Конфигурация Docker
Поставляемый ознакомительный комплект будет работать в среде docker/docker compose в конфигурации по умолчанию.
plus Тем не менее, рекомендуется сконфигурировать userns-remap и выделить для D1 интерфейс управления dockerd (например,/var/run/docker_alt.sock
с соотв. правами). Конфигурация сетевого взаимодействия
Поставляемый ознакомительный комплект содержит конфигурацию web-сервера, принимающего соединения по HTTP(80). При настройке SSL/TLS следует дополнительно задействовать опции web-сервера и docker для приёма соединений HTTPS(443).
TLS plus
Для использования в производственной среде рекомендуется выпустить сертификат SSL/TLS для web-сервера и обеспечить размещение ключа сервера и цепочки сертификатов в каталоге /etc/nginx/ssl/
сервиса rtr
.
OAST plus
Для использования возможностей тестирования Out-of-Band (OOB) требуется содержание собственного сервера имён, способного генерировать ответы на запросы по именам в некоторой выделенной зоне. Выделенный для этих целей домен необходимо указать в конфигурации OOB.
IAM/IdM/SSO plus
Необходимо сконфигурировать oauth2-proxy
в составе rtr
на использование используемого в вашей среде соотв. решения. Задача rtr
в этом деле -- идентифицировать пользователя (аутентификация выполняется на стороне вашего auth-провайдера) и дополнить входящие запросы для back-end (yard
) HTTP-заголовками
X-User
X-Email
X-Preferred-Username
в соответствии с которыми D1 осуществляет авторизацию действий пользователей (возможность запуска сканирования, доступ к отчётам).
2. Компоненты D1
Собранный дистрибутив включает в себя набор docker-образов и файлов конфигурации, которые предоставляются по индивидуальной договорённости (запрос).
Комплект "ядра D1":
yard
-- образ docker: back-end, web-APIrtr
-- образ docker: маршрутизатор запросов (web-сервер + oauth)
Комплект сканеров по умолчанию (предмет индивидуальной конфигурации):
zedan
-- docker-образ, основанный на ZAPnukem
-- docker-образ, основанный на Nucleiasler
-- docker-образ, основанный на Restler
Файлы конфигурации:
compose.yaml
-- инструкции docker compose.env
-- опции, используемые docker compose и yard
Полученные образы следует загрузить и установить:
cd /каталог/в/который/вы/загрузили/файлы_TXZ_и_SHA256/
sha256sum -c *.sha256 && for DIMG in \
d1.onprem.rtr d1.onprem.yard dast.asler dast.nukem dast.zedan vuapi
do
docker load -i ${DIMG}.txz
done
Файлы compose.yaml
и .env
следует разместить "рядом", в одном каталоге.
3. Конфигурация D1
Перед первым запуском убедитесь, что в файле .env
задан следующий параметр:
# Путь к каталогу, который будет содержать данные D1
# (все промежуточные данные тестирования, метаданные и отчёты)
APPDATA = '/var/opt/d1'
ORIGINS = 'http://ne.dast.one http://localhost http://127.0.0.1'
Запуск
cd /каталог/в/который/вы/положили/compose_и_env/
docker compose up --remove-orphans --wait --force-recreate
Если вы не конфигурировали сетевые параметры, то после запуска проверьте вывод команды docker compose ps rtr
. Ответ вида
NAME IMAGE ... PORTS
d1onprem-rtr-1 d1.onprem.rtr:latest ... 0.0.0.0:80->80/tcp ...
будет означать, что D1 доступен по любому из IP-адресов сетевых интерфейсов на вашем узле (разумеется, в зависимости от прочей конфигурации).
С этого момента можете приступать к пользованию D1.