Files
reverse-proxy/docs/security/README.md
T
Andrey Lutsenko e3201ae41b docs: периметр MikroTik — на HAProxy только 80/443
Уточнено: порт 25 с интернета не проброшен; inbound-почта не через HAProxy.
2026-06-13 22:24:48 +10:00

3.5 KiB
Raw Blame History

Безопасность периметра HAProxy (kalinamall.ru)

План защиты хоста haproxy.kalinamall.ru и бэкендов за ним. HAProxy слушает 25, 80, 443; с интернета (MikroTik DNAT) доступны только 80 и 443. Фильтрация по SNI/Host и allowlist уже в haproxy.cfg, но UFW на хосте inactive — ниже поэтапное включение defense in depth.

Модель угроз (кратко)

Уровень Что закрывает
MikroTik / провайдер DDoS, geo; DNAT на HAProxy только 80/443
UFW на HAProxy SSH с доверенных IP; 80/44325 только если нужен с LAN)
HAProxy ACL Неизвестный SNI, allowlist по сервисам
UFW на бэкендах Сервисы доступны только с IP HAProxy (192.168.160.117)
Приложение Auth OWA, RD Gateway, Gitea, SAC, 1С

Обход HAProxy (VPN в 192.168.160.0/24, прямой RDP) — отдельная политика; см. backend-hosts.md.

Документы

Файл Содержание
architecture.md Схема потоков, зоны, принципы
haproxy-host.md Hardening Ubuntu, UFW, SSH, fail2ban, HAProxy
backend-hosts.md Правила для каждого бэкенда
deployment-plan.md Пошаговый план внедрения (фазы 0–5)
checklist.md Проверки после внедрения

Скрипты

Скрипт Назначение
scripts/security/haproxy-ufw-apply.sh UFW на HAProxy (dry-run по умолчанию)
scripts/security/haproxy-ufw.env.example Пример env для HAProxy
scripts/security/backend-ufw-from-haproxy.sh UFW на бэкенде: порт только с HAProxy
scripts/security/backend-ufw.env.example Пример env для бэкенда

Быстрый старт (после чтения deployment-plan)

# на HAProxy — сначала dry-run
sudo cp ~/reverse-proxy/scripts/security/haproxy-ufw.env.example /etc/haproxy/security/haproxy-ufw.env
sudo nano /etc/haproxy/security/haproxy-ufw.env   # SSH_ALLOWED, при необходимости порты
sudo bash ~/reverse-proxy/scripts/security/haproxy-ufw-apply.sh
sudo bash ~/reverse-proxy/scripts/security/haproxy-ufw-apply.sh --apply

На каждом бэкенде — backend-hosts.md и backend-ufw-from-haproxy.sh.

Связь с конфигом HAProxy

Allowlist-файлы в /etc/haproxy/ (не заменяют UFW):

  • git-sac-allowed, rds-allowed, 1c-allowed, zabbix-allowed, syno-allowed

Сервисы без allowlist на 443: Exchange (ext, autodiscover), sac-api. SMTP 25 с интернета на HAProxy не проброшен (см. architecture.md); fe_smtp — для LAN/внутреннего использования.