Raspberry Pi 測試 – ArchLinux 篇 安裝 fail2ban

在 ArchLinux 安裝 fail2ban
# pacman -S fail2ban

但安裝好了之後,在 /var/log 目錄下卻一直找不到相關的 log 檔,後來才又安裝了 syslog-ng 解決了這個問題!
ArchLinux 的系統 ssh log 檔

修改設定檔,加入對 ssh 的攻擊防護,因為根據自己架設的 Server,大部分都是嘗試對 ssh 的錯誤連線,而 ftp 的部分幾乎都沒有。
Chain fail2ban-ssh (1 references)
target     prot opt source               destination
DROP       all  —  61.174.51.232        0.0.0.0/0
DROP       all  —  61.174.51.235        0.0.0.0/0
DROP       all  —  122.225.109.217      0.0.0.0/0
DROP       all  —  218.2.0.123          0.0.0.0/0
RETURN     all  —  0.0.0.0/0            0.0.0.0/0

Chain fail2ban-vsftpd (1 references)
target     prot opt source               destination
RETURN     all  —  0.0.0.0/0            0.0.0.0/0[@more@]# vim /etc/fail2ban/jail.conf
修改並加入下面的設定
[sshd]
enabled = true
port    = ssh
logpath = /var/log/ssh.log
#logpath = %(sshd_log)s
maxretry = 3
bantime  = 86400

重新啟動 fail2ban
# systemctl start fail2ban

設定開機時啟動
# systemctl enable fail2ban

檢查 fail2ban 的狀態
# fail2ban-client status
Status
|- Number of jail:      1
`- Jail list:   sshd

以 Client  IP 192.168.1.10 嘗試對 Server IP 192.168.1.106 嘗試連線錯誤幾次之後
列出 fail2ban 偵測到的 SSH 攻擊
# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     3
|  `- File list:        /var/log/ssh.log
`- Actions
   |- Currently banned: 1
   |- Total banned:     1
   `- Banned IP list:   192.168.1.10

列出 f2b-sshd 的規則
# iptables -t filter -L f2b-sshd -n
Chain f2b-sshd (1 references)
target     prot opt source               destination
REJECT     all  —  192.168.1.10         0.0.0.0/0            reject-with icmp-port-unreachable
RETURN     all  —  0.0.0.0/0            0.0.0.0/0

刪除防火牆規則
# iptables -D f2b-sshd  -s 192.168.1.10 -j REJECT