57 lines
1.5 KiB
Markdown
57 lines
1.5 KiB
Markdown
# Fail2Ban (Ansible) (one-screen)
|
|
|
|
## 1) Что такое Fail2Ban
|
|
**Fail2Ban** — защита от brute-force атак (SSH/FTP/веб-панели и т.п.):
|
|
- анализирует лог-файлы,
|
|
- при подозрительной активности временно банит IP.
|
|
|
|
## 2) Пример `jail.local`
|
|
```ini
|
|
[sshd]
|
|
enabled = true
|
|
port = ssh
|
|
logpath = /var/log/auth.log
|
|
maxretry = 5
|
|
bantime = 3600
|
|
findtime = 600
|
|
```
|
|
Смысл параметров:
|
|
- `maxretry` — сколько попыток до бана,
|
|
- `findtime` — окно времени для подсчёта попыток,
|
|
- `bantime` — длительность бана.
|
|
|
|
## 3) Установка и настройка через Ansible (идея)
|
|
Шаги:
|
|
1) поставить пакет (`apt`),
|
|
2) положить конфиг (`template` → `/etc/fail2ban/jail.local`),
|
|
3) перезапустить и включить сервис (`service`).
|
|
|
|
Пример playbook:
|
|
```yaml
|
|
- name: Install & configure Fail2ban
|
|
hosts: all
|
|
become: true
|
|
tasks:
|
|
- name: Install fail2ban
|
|
apt:
|
|
name: fail2ban
|
|
state: present
|
|
|
|
- name: Copy jail.local
|
|
template:
|
|
src: jail.local.j2
|
|
dest: /etc/fail2ban/jail.local
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
|
|
- name: Restart fail2ban
|
|
service:
|
|
name: fail2ban
|
|
state: restarted
|
|
enabled: true
|
|
```
|
|
|
|
---
|
|
**Source:** [[01 Library/02 DevOps/Ansible/Fail2Ban - Ansible|Fail2Ban - Ansible]]
|