systems:media_server:secure_the_server:install_fail2ban
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
systems:media_server:secure_the_server:install_fail2ban [2025/05/30 19:48] – peter | systems:media_server:secure_the_server:install_fail2ban [2025/05/30 21:31] (current) – peter | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Systems - Media Server - Secure the Server - Install fail2ban ====== | ====== Systems - Media Server - Secure the Server - Install fail2ban ====== | ||
- | ==== Update the system: ==== | + | **Fail2ban** is an intrusion prevention software framework. |
- | <code bash> | + | * It bans IP addresses conducting too many failed login attempts. |
- | sudo apt update && sudo apt upgrade | + | |
- | </ | + | |
---- | ---- | ||
- | ==== Install Fail2Ban | + | ===== Update the system: ===== |
<code bash> | <code bash> | ||
- | sudo apt install fail2ban | + | sudo apt update && sudo apt upgrade |
</ | </ | ||
---- | ---- | ||
- | ==== Configure | + | ===== Install |
- | + | ||
- | The default configuration is defined in **/ | + | |
- | + | ||
- | <WRAP important> | + | |
- | **WARNING: | + | |
- | </ | + | |
- | + | ||
- | Here are salient lines from the default configuration: | + | |
- | + | ||
- | <file bash / | + | |
- | # line 87 : ignore your own local IP | + | |
- | #ignoreself = true | + | |
- | + | ||
- | # line 92 : possible to add ignored networks | + | |
- | #ignoreip = 127.0.0.1/8 ::1 | + | |
- | + | ||
- | # line 101 : number of seconds that a host is banned | + | |
- | # - 1m ⇒ 1 minutes | + | |
- | # - 1h ⇒ 1 houer | + | |
- | # - 1d ⇒ 1 day | + | |
- | # - 1mo ⇒ 1 month | + | |
- | # - 1y ⇒ 1 year | + | |
- | bantime | + | |
- | + | ||
- | # line 105 : A host is banned if it has generated " | + | |
- | findtime | + | |
- | + | ||
- | # line 108 : " | + | |
- | maxretry = 5 | + | |
- | + | ||
- | # line 178 : destination email address if enabling email notification | + | |
- | destemail = root@localhost | + | |
- | + | ||
- | # line 181 : sender address if enabling email notification | + | |
- | sender = root@< | + | |
- | + | ||
- | # line 263 : default action | + | |
- | # - %(action_)s ⇒ ban only | + | |
- | # - %(action_mw)s ⇒ band and email notification (includes Whois info) | + | |
- | # - %(action_mwl)s ⇒ band and email notification (includes Whois info and logs) | + | |
- | action = %(action_)s | + | |
- | </ | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | ==== Override the default values ==== | + | |
- | + | ||
- | As root, create a **/ | + | |
- | + | ||
- | <file bash / | + | |
- | [DEFAULT] | + | |
- | ignoreip = 127.0.0.1/8 ::1 | + | |
- | bantime | + | |
- | findtime | + | |
- | maxretry = 5 | + | |
- | destemail = root@localhost | + | |
- | sender = root@mediaserver | + | |
- | </ | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | ==== Restart Fail2Ban | + | |
<code bash> | <code bash> | ||
- | sudo systemctl restart | + | sudo apt install |
</ | </ | ||
---- | ---- | ||
- | ==== Verify Fail2Ban ==== | + | <WRAP info> |
+ | **NOTE: | ||
- | <code bash> | + | * See [[Ubuntu: |
- | sudo systemctl status fail2ban | + | |
- | </ | + | |
- | returns: | ||
- | |||
- | < | ||
- | fail2ban.service - Fail2Ban Service | ||
- | | ||
- | | ||
- | Docs: man: | ||
- | Main PID: 3108 (fail2ban-server) | ||
- | Tasks: 5 (limit: 154383) | ||
- | | ||
- | CPU: 110ms | ||
- | | ||
- | | ||
- | |||
- | May 30 19:38:01 mediaserver systemd[1]: Started fail2ban.service - Fail2Ban Service. | ||
- | May 30 19:38:02 mediaserver fail2ban-server[3108]: | ||
- | May 30 19:38:02 mediaserver fail2ban-server[3108]: | ||
- | </ | ||
- | |||
- | ---- | ||
- | |||
- | ==== Check the fail2ban status ==== | ||
- | |||
- | <code bash> | ||
- | sudo fail2ban-client status | ||
- | </ | ||
- | |||
- | returns: | ||
- | |||
- | < | ||
- | Status | ||
- | |- Number of jail: 1 | ||
- | `- Jail list: sshd | ||
- | </ | ||
- | |||
- | <WRAP info> | ||
- | **NOTE: | ||
</ | </ | ||
---- | ---- | ||
- | ==== Check the fail2ban status of the sshd service | + | ===== References |
- | + | ||
- | <code bash> | + | |
- | sudo fail2ban-client status sshd | + | |
- | </ | + | |
- | + | ||
- | returns: | + | |
- | + | ||
- | < | + | |
- | Status for the jail: sshd | + | |
- | |- Filter | + | |
- | | |- Currently failed: 0 | + | |
- | | |- Total failed: 0 | + | |
- | | `- Journal matches: | + | |
- | `- Actions | + | |
- | |- Currently banned: 0 | + | |
- | |- Total banned: 0 | + | |
- | `- Banned IP list: | + | |
- | </ | + | |
- | + | ||
- | <WRAP info> | + | |
- | **NOTE: | + | |
- | </ | + | |
- | + | ||
- | ---- | + | |
+ | [[Ubuntu: | ||
systems/media_server/secure_the_server/install_fail2ban.1748634526.txt.gz · Last modified: 2025/05/30 19:48 by peter