docs(security): периметр 80/443→HAProxy, 25→KSMG; UFW на .117
Переписаны docs/security под текущий этап: SSH/stats из SSH_ALLOWED, 80/443 для всех. Скрипт UFW дополнен правилом 8404.
This commit is contained in:
+24
-31
@@ -1,44 +1,37 @@
|
||||
# Чеклист после внедрения защиты
|
||||
# Чеклист
|
||||
|
||||
## HAProxy (192.168.160.117)
|
||||
## UFW на HAProxy (текущий этап)
|
||||
|
||||
- [ ] `ufw status verbose` — active; есть 22 из admin, **80/443** open (25 — только если явно включён для LAN)
|
||||
- [ ] SSH с admin-IP работает; с random IP — **нет** (или только ключ + fail2ban)
|
||||
- [ ] `ss -tlnp` — нет лишних listen (8404, 3000, …)
|
||||
- [ ] `ufw status verbose` — active
|
||||
- [ ] **22/tcp** — только `5.100.81.121`, `192.168.128.0/17`
|
||||
- [ ] **8404/tcp** — только тот же список (если stats включён)
|
||||
- [ ] **80/tcp**, **443/tcp** — `Anywhere`
|
||||
- [ ] **25/tcp** — нет правила allow (default deny)
|
||||
- [ ] SSH с admin-IP — OK; с чужого IP — refused
|
||||
- [ ] Сервисы через HAProxy (git, zabbix, rds, …) — OK
|
||||
- [ ] `haproxy -c -f /etc/haproxy/haproxy.cfg` — OK
|
||||
- [ ] С allowlist IP: git, rds, zabbix, erp, syno — **OK**
|
||||
- [ ] С чужого IP: git/rds/erp — **reject** (нет TCP reset или обрыв на ACL)
|
||||
- [ ] `fail2ban-client status sshd` — active
|
||||
- [ ] Логи: `grep -E 'SC|NOSRV|reject' /var/log/haproxy.log | tail`
|
||||
- [ ] `/etc/haproxy/security/haproxy-ufw.env` — backup
|
||||
|
||||
## MikroTik / периметр
|
||||
## MikroTik
|
||||
|
||||
- [ ] С интернета на публичный IP: открыты только **80, 443**
|
||||
- [ ] Нет DNAT 3389, 5001, 4430 на внутренние хосты
|
||||
- [ ] HAProxy health-check не блокируется
|
||||
- [ ] DNAT **80/443** → `192.168.160.117`
|
||||
- [ ] DNAT **25** → `192.168.160.57` (не на HAProxy)
|
||||
- [ ] Нет DNAT 3389, 5001, 4430 на внутренние IP
|
||||
|
||||
## Бэкенды (каждый)
|
||||
## После UFW (опционально, не блокер)
|
||||
|
||||
- [ ] UFW/firewall active
|
||||
- [ ] С `.117` на сервисный порт — OK
|
||||
- [ ] С другого LAN IP на сервисный порт — **closed** (если так задумано)
|
||||
- [ ] HAProxy backend **UP** в stats/log
|
||||
- [ ] Прикладной smoke-test (OWA, RD Web, Gitea login, …)
|
||||
- [ ] fail2ban sshd
|
||||
- [ ] `unattended-upgrades`
|
||||
|
||||
## KSMG (.57)
|
||||
---
|
||||
|
||||
- [ ] Inbound-почта с интернета **не** идёт через HAProxy:25 (DNAT на MikroTik только 80/443)
|
||||
- [ ] На KSMG в `EXTRA_ALLOWED` — **192.168.160.117** (если используется `fe_smtp` из LAN) и прямые MTA
|
||||
## Позже — бэкенды
|
||||
|
||||
## Документация и runbook
|
||||
- [ ] UFW: сервисный порт только с `.117`
|
||||
- [ ] KSMG: UFW под прямой **25** с интернета
|
||||
|
||||
- [ ] `/etc/haproxy/security/*.env` — backup в password store
|
||||
- [ ] Откат UFW: `ufw disable` + процедура задокументирована
|
||||
- [ ] Ответственный и дата внедрения фикс
|
||||
|
||||
## Регулярно (ежемесячно)
|
||||
## Регулярно
|
||||
|
||||
- [ ] `apt upgrade` на HAProxy
|
||||
- [ ] Проверка актуальности allowlist / `rds-allowed` cron
|
||||
- [ ] Review fail2ban / auth.log
|
||||
- [ ] Тест restore конфига из git
|
||||
- [ ] Актуальность allowlist / `rds-allowed`
|
||||
- [ ] `ufw status`, auth.log
|
||||
|
||||
Reference in New Issue
Block a user