Обзор развертывания Haltdos на сервере¶
Предварительные требования¶
Для успешного развертывания приложения требуются следующие условия:
-
Операционная система: Ubuntu.
-
Права доступа: права суперпользователя (root) для установки пакетов и управления сервисами.
-
Сетевые настройки: доступ к интернету для загрузки установочных скриптов и получения SSL-сертификатов.
-
Порты:
-
80(HTTP) — для проверки владения доменом и перенаправления на HTTPS. -
443(HTTPS) — основной порт для защищенного трафика.
FDQN итоговой панели на домене hostkey.in¶
Доменное имя формируется на основе префикса и идентификатора сервера.
| Параметр | Значение |
|---|---|
| Префикс | haltdos |
| Домен | hostkey.in |
| Полный шаблон | haltdos{Server_ID}.hostkey.in |
Процесс установки приложения¶
Процесс развертывания включает в себя несколько этапов:
-
Подготовка системы:
-
Установка базовых пакетов:
curl,nginx,certbot. -
Остановка существующих веб-серверов (
nginxилиapache2) и контейнеров, занимающих порты 80 и 443, для освобождения ресурсов. -
Настройка системного имени хоста (hostname) в соответствии с FQDN.
-
Внесение изменений в файл
/etc/hosts. -
Установка основного компонента:
-
Загрузка установочного скрипта
setup.shиз репозиторияhttps://binary.haltdos.com/community/waf/waf/setup.sh. -
Выполнение скрипта для развертывания Haltdos Community WAF.
-
Настройка безопасности (SSL):
-
Получение SSL-сертификата через Certbot в режиме
standalone.
Контейнеры Docker и их запуск¶
В системе используется контейнер для управления сертификатами и проксированием:
| Параметр | Значение |
|---|---|
| Имя образа | jonasal/nginx-certbot:latest |
| Режим сети | host |
| Политика перезапуска | unless-stopped |
| Тома (volumes) | - nginx_secrets:/etc/letsencrypt- /data/nginx/user_conf.d:/etc/nginx/user_conf.d |
| Переменные окружения | CERTBOT_EMAIL=hkadm@hostkey.com |
Кастомные скрипты и дополнительные настройки¶
В процессе развертывания выполняются следующие действия:
-
Установочный скрипт: Скрипт
setup.sh, загружаемый из внешнего источника, выполняет автоматическую установку компонентов Haltdos WAF. -
Настройка Nginx как Reverse Proxy:
-
Создается конфигурационный файл
/etc/nginx/sites-available/haltdos.conf. -
Настраивается перенаправление (redirect) с порта 80 на HTTPS.
-
Настраивается проксирование трафика с порта 443 на внутренний адрес
https://127.0.0.1:9000с передачей заголовковHost,X-Real-IP,X-Forwarded-ForиX-Forwarded-Proto.
Расположение конфигурационных файлов и данных¶
-
Конфигурация Nginx:
/etc/nginx/sites-available/haltdos.conf(доступен сайт),/etc/nginx/sites-enabled/haltdos.conf(активная ссылка). -
Сертификаты SSL:
/etc/letsencrypt/live/{FQDN}/. -
Данные контейнера Nginx:
/data/nginx/user_conf.d.
Доступные порты для подключения¶
| Порт | Протокол | Назначение |
|---|---|---|
| 80 | HTTP | Перенаправление на HTTPS |
| 443 | HTTPS | Основной защищенный доступ к приложению |