mirror of
https://gitverse.ru/kpa39l/md2vk.git
synced 2026-09-29 09:55:04 +00:00
Security docs: реальный хэш пароля, точный фильтр fail2ban (md2vk.access.log)
This commit is contained in:
+7
-9
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
- Весь https://md2vk.nixg.ru закрыт HTTP Basic Auth.
|
- Весь https://md2vk.nixg.ru закрыт HTTP Basic Auth.
|
||||||
- Пользователь: **estorozhenko**; пароль — у пользователя, в конфиге только bcrypt-хэш.
|
- Пользователь: **estorozhenko**; пароль — у пользователя, в конфиге только bcrypt-хэш.
|
||||||
- Хэш в Caddyfile: `admin $2a$14$uzlQxJdcRZJ5gDpGG5B26OXnudIme1IYe7xh0WtDwFtbB6XiiDYTS`
|
- Хэш в Caddyfile: `estorozhenko $2a$14$uzlQxJdcRZJ5gDpGG5B26OXnudIme1IYe7xh0WtDwFtbB6XiiDYTS`
|
||||||
(сгенерирован 2026-09-18 `docker exec caddy caddy hash-password --plaintext '<пароль>'`).
|
(сгенерирован 2026-09-18 `docker exec caddy caddy hash-password --plaintext '<пароль>'`).
|
||||||
- Без basic auth сервис наружу не отдаётся.
|
- Без basic auth сервис наружу не отдаётся.
|
||||||
|
|
||||||
@@ -20,15 +20,13 @@
|
|||||||
|
|
||||||
## Блокировка после 5 неудачных попыток (fail2ban на vps02)
|
## Блокировка после 5 неудачных попыток (fail2ban на vps02)
|
||||||
|
|
||||||
- На vps02 установлен fail2ban, jail `md2vk`:
|
- На vps02 установлен fail2ban (v1.0.2), jail `md2vk`:
|
||||||
- следит за логами Caddy (JSON: `/var/log/caddy/access.log`),
|
- следит за site-логом Caddy: `/opt/caddy/caddy_data/logs/md2vk.access.log` (JSON, все запросы включая 401),
|
||||||
- фильтр: basic auth failure (`401` с `"err"`, absence of `"user_id"`):
|
- фильтр `filter.d/caddy-md2vk.conf`: `^.*"request":\{"remote_ip":"<HOST>"[^}]*"host":"md2vk\.nixg\.ru"[^}]*\}.*"status":401`,
|
||||||
```
|
- правило: ban IP после **5 неудачных попыток** (`maxretry=5`, `findtime=600`; на 6-й срабатывает),
|
||||||
^.*"status":401.*
|
|
||||||
```
|
|
||||||
- правило: ban IP после **5 неудачных попыток подряд** (`maxretry=5`, `findtime=600`),
|
|
||||||
- наказание: **ban до ручного снятия** (`bantime = -1`),
|
- наказание: **ban до ручного снятия** (`bantime = -1`),
|
||||||
- действие: `iptables-allports` (ban на уровне ядра, DROP).
|
- действие: `iptables-allports` (цепочка `f2b-md2vk`, REJECT; на Debian 12 транслируется в nftables),
|
||||||
|
- ignoreip: `127.0.0.1/8 ::1 10.8.0.0/24` (не баним bigbox/vps02).
|
||||||
- **Ручная разблокировка** (на vps02, sudo):
|
- **Ручная разблокировка** (на vps02, sudo):
|
||||||
```bash
|
```bash
|
||||||
fail2ban-client -c /etc/fail2ban unban <ip>
|
fail2ban-client -c /etc/fail2ban unban <ip>
|
||||||
|
|||||||
Reference in New Issue
Block a user