Содержание
- + Методалогии разработки ПО
-
+
Проектирование систем
- + API
- + UML
- + Интеграции
- + Моделирование данных
- + Представление данных
- BPMN
- C4 model
- Domain Driven Design
- EPC
- IDEF0
- Архитектор
- Архитектура
- Интерфейс
- Карта экосистемы
- Когда стоит выбирать микросервисы
- Контекстная диаграмма
- Ролевая модель
- Проектирование систем
- + Развёртывание
-
+
Разработка
- + Git
- + Linux OS
- + Mac OS
- + Подходы организации кода
- + Языки программирования
- Виды программирования
- Интерпритатор
- Компилятор
- Разработка
-
–
Сеть
- + OSI
- – Защита
- CDN
- ngrok
- Сеть
- + Системный анализ
- + Требования
- + Хранение данных
- + Языки разметки
Описание
Файлы конфигов
/etc/fail2ban/jail.local
Настройки Fail2Ban. Определяет фильтр nginx-limit-req для блокировки IP, превышающих лимит запросов, и отключает sshd jail.
Комментарий: Автоматически банит злоумышленников, снижая риск атак.
Пример
# Отключение фильтра для SSH (sshd), чтобы Fail2Ban не пытался искать логи SSH
[sshd]
enabled = false
# Фильтр для Nginx, отслеживающий превышение лимита запросов
[nginx-limit-req]
# Включение фильтра (true = активно)
enabled = true
# Название фильтра, определённого в /etc/fail2ban/filter.d/nginx-limit-req.conf
filter = nginx-limit-req
# Путь к лог-файлу, который анализируется (ошибки Nginx)
logpath = /var/log/nginx/error.log
# Максимальное количество попыток (ошибок) за findtime секунд, после которых IP блокируется
maxretry = 50
# Временное окно (в секундах) для подсчёта попыток (600 секунд = 10 минут)
findtime = 600
# Время блокировки IP (в секундах, 3600 = 1 час)
bantime = 3600
# Действие при превышении: блокировка портов http и https через iptables
action = iptables-multiport[name=nginx, port="http,https", protocol=tcp]
/etc/fail2ban/filter.d/nginx-limit-req.conf
Фильтр Fail2Ban для анализа /var/log/nginx/error.log на ошибки limiting requests.
Комментарий: Определяет, какие записи логов считаются попытками атаки.
Пример
[Definition]
failregex = limiting requests, excess:.*client: ,
ignoreregex =
Команды
Проверка заблокированных ip
sudo fail2ban-client status nginx-limit-req
Status for the jail: nginx-limit-req
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /var/log/nginx/error.log
`- Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list: 79.100.100.100
В данном премере заблокирован на 1 час 79.100.100.100
Для разблокировки
sudo fail2ban-client unban 79.100.100.100