4.9 KiB
Fail2ban Whitelist Configuration
Дата: 19 ноября 2025
Статус: ✅ Настроено
Проблема
Fail2ban блокировал IP администратора (89.19.210.178) при установке Flutter и интенсивном использовании VSCode Server.
Решение
Добавлен IP администратора в whitelist (ignoreip) для всех VSCode jail'ов.
Конфигурация
Файл: /etc/fail2ban/jail.d/vscode.conf
[vscode]
enabled = true
port = http,https
filter = vscode
logpath = /var/log/nginx/access.log
maxretry = 3
bantime = 3600
findtime = 600
ignoreip = 127.0.0.1/8 ::1 89.19.210.178
[vscode-ddos]
enabled = true
port = http,https
filter = vscode-ddos
logpath = /var/log/nginx/access.log
maxretry = 100
bantime = 600
findtime = 60
ignoreip = 127.0.0.1/8 ::1 89.19.210.178
Что означает ignoreip
127.0.0.1/8- локальные IP адреса (localhost)::1- IPv6 localhost89.19.210.178- ваш текущий внешний IP
Параметры защиты
vscode jail
- maxretry: 3 попытки
- bantime: 3600 секунд (1 час)
- findtime: 600 секунд (10 минут)
Блокирует за 3 неудачные попытки входа в течение 10 минут на 1 час.
vscode-ddos jail
- maxretry: 100 запросов
- bantime: 600 секунд (10 минут)
- findtime: 60 секунд (1 минута)
Блокирует за более 100 запросов в минуту на 10 минут (защита от DDoS).
Проверка
Текущий статус
ssh root@147.45.152.129 'fail2ban-client status vscode-ddos'
Результат:
Status for the jail: vscode-ddos
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
`- Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list:
✅ Нет заблокированных IP
Проверка whitelist
ssh root@147.45.152.129 'fail2ban-client get vscode-ddos ignoreip'
Должно показать: 127.0.0.1/8 ::1 89.19.210.178
Добавление нового IP в whitelist
Если ваш IP изменится или нужно добавить другой IP:
ssh root@147.45.152.129
# Редактировать конфигурацию
nano /etc/fail2ban/jail.d/vscode.conf
# Добавить новый IP в строку ignoreip через пробел
ignoreip = 127.0.0.1/8 ::1 89.19.210.178 NEW_IP_HERE
# Перезапустить fail2ban
systemctl restart fail2ban
# Проверить статус
systemctl status fail2ban
Разблокировка IP вручную
Если всё же кто-то был заблокирован:
# Посмотреть заблокированные IP
ssh root@147.45.152.129 'fail2ban-client status vscode-ddos'
# Разблокировать конкретный IP
ssh root@147.45.152.129 'fail2ban-client set vscode-ddos unbanip IP_ADDRESS'
# Пример
ssh root@147.45.152.129 'fail2ban-client set vscode-ddos unbanip 89.19.210.178'
Логи
Просмотр логов fail2ban
ssh root@147.45.152.129 'tail -f /var/log/fail2ban.log'
Просмотр nginx access log
ssh root@147.45.152.129 'tail -f /var/log/nginx/access.log | grep vscode'
Backup
Создан backup оригинальной конфигурации:
/etc/fail2ban/jail.d/vscode.conf.backup
Для восстановления:
ssh root@147.45.152.129 'cp /etc/fail2ban/jail.d/vscode.conf.backup /etc/fail2ban/jail.d/vscode.conf && systemctl restart fail2ban'
Безопасность
✅ Fail2ban продолжает работать - защита от атак активна
✅ Ваш IP в whitelist - вас больше не будет блокировать
✅ Другие IP защищены - атаки с других адресов будут блокироваться
Проверка после изменений
Все сервисы работают:
| Сервис | URL | Статус |
|---|---|---|
| Forgejo | https://code.mnemo-cards.online/ | 🟢 Доступен |
| VSCode | https://vscode.mnemo-cards.online/ | 🟢 Доступен |
| Backend API | https://api.mnemo-cards.online/ | 🟢 Доступен |
Связанные документы
- VSCODE_SERVER_SETUP.md - Настройка VSCode Server
- RECOVERY_REPORT_2025-11-19.md - Восстановление после перезагрузки
Вывод: Ваш IP (89.19.210.178) добавлен в whitelist. Fail2ban больше вас не заблокирует, но продолжит защищать сервер от атак с других IP адресов.