docs: периметр MikroTik — на HAProxy только 80/443

Уточнено: порт 25 с интернета не проброшен; inbound-почта не через HAProxy.
This commit is contained in:
Andrey Lutsenko
2026-06-13 22:24:48 +10:00
parent a337bbdda1
commit e3201ae41b
11 changed files with 47 additions and 34 deletions
+8 -5
View File
@@ -9,20 +9,23 @@
Та же схема текстом:
```text
Интернет → MikroTik (DNAT) → HAProxy .117 (25/80/443) → ACL (SNI/Host) → бэкенды .160.0/24
Интернет → MikroTik (DNAT 80/443) → HAProxy .117 → ACL (SNI/Host) → бэкенды .160.0/24
```
**Периметр MikroTik:** с интернета на HAProxy проброшены только **80** и **443**. Порт **25** (и прочие) на HAProxy снаружи **недоступны** — DNAT не настроен.
## Два контура
### 1. Публичный вход (через HAProxy)
Клиент → публичный IP → **HAProxy** → (проверки) → один бэкенд.
Клиент → публичный IP → **MikroTik (DNAT 80/443)****HAProxy** → (проверки) → один бэкенд.
На HAProxy уже есть:
На HAProxy с интернета доступны только:
- **443/TCP**: отклонение неизвестного SNI; allowlist для git, sac-web, rds, erp, syno.
- **80/HTTP**: только `Host: zabbix.kalinamall.ru` + `zabbix-allowed`.
- **25/SMTP**: passthrough на KSMG без IP-фильтра на frontend.
**25/SMTP** в `haproxy.cfg` слушает на хосте, но **с интернета не проброшен** (MikroTik DNAT только 80/443). Inbound-почта на KSMG идёт **не через** HAProxy:25 с периметра.
### 2. Внутренняя сеть (LAN / VPN)
@@ -58,7 +61,7 @@ Health-check HAProxy и прокси идут **с этого IP**. Правил
## Принципы
1. **Default deny** на вход (UFW `incoming deny`, бэкенды — только HAProxy + admin).
2. **Минимум открытых портов** с интернета: 25, 80, 443 на одном хосте.
2. **Минимум открытых портов** с интернета на HAProxy: **80** и **443** (DNAT на MikroTik).
3. **Не дублировать** смысл правил без нужды: allowlist в HAProxy для HTTP/SNI; UFW — транспорт и админ.
4. **Сначала dry-run**, потом `--apply`; для SSH — **console/IPMI** или сессия, которую UFW не оборвёт.
5. **Логи**: HAProxy + UFW + fail2ban; алерты на аномалии (Zabbix уже в инфраструктуре).