# 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]]
