在 CentOS 7 上安裝 fail2ban
我正在使用@GarethTheRed 對這個問題的回答在遠端 CentOS 7 伺服器上安裝 fail2ban。我能夠完成所有步驟,直到
tail -f /var/log/fail2ban.log
,此時我得到的結果與他的答案不同。這是我在這一步得到的結果:
[root@remotecentosserver.com ~]# tail -f /var/log/fail2ban.log 2014-12-02 16:55:53,548 fail2ban.server.server[6667]: INFO Changed logging target to /var/log/fail2ban.log for Fail2ban v0.9.0 2014-12-02 16:55:53,550 fail2ban.server.database[6667]: INFO Connected to fail2ban persistent database '/var/lib/fail2ban/fail2ban.sqlite3' 2014-12-02 16:55:54,239 fail2ban.server.database[6667]: WARNING New database created. Version '2'
在最後一行之後,我只有一個游標,但沒有命令提示符,除非我輸入
Ctrl-C
.當我輸入
systemctl status fail2ban
時,它告訴我它fail2ban
是活動的。當我退出系統並稍後重新登錄時,sshd
告訴我自上次登錄以來已多次嘗試登錄失敗。所以應該有fail2ban
日誌。但我似乎找不到它們。有人可以告訴我如何進行此設置以
fail2ban
生成我可以跟踪的日誌嗎?
嘗試
fail2ban
從EPEL安裝。它是為 CentOS 7 打包的,您將在它們發佈時獲得更新。安裝rpm
另一個 repo 的表單可能會起作用(在這種情況下確實如此),但不是最好的做事方式。首先,通過發出以下命令(以 root 身份)安裝 EPEL 儲存庫:
yum install epel-release
上面應該安裝 EPEL 並讓您訪問許多新包。其中一個包是
fail2ban
,因此通過執行安裝它:yum install fail2ban
預設情況下沒有配置監獄,因此要配置基本
sshd
監獄:創建/編輯文件
/etc/fail2ban/jail.local
並添加:[sshd] enabled = true
從以下開始:
systemctl start fail2ban
讓它在啟動時啟動:
systemctl enable fail2ban
曾經有一個已知的錯誤,SELinux 會阻止
fail2ban
訪問它完成工作所需的日誌文件。這似乎在最新版本的 CentOS 7 中得到修復;您不需要進行以下更改。如果您確實遇到此問題,則日誌中不會出現任何症狀,並且
fail2ban-client status sshd
.要檢查 SELinux 錯誤,請閱讀以下日誌:
journalctl -lfu fail2ban
觀看他們的消息,例如:
SELinux is preventing /usr/bin/python2.7 from getattr access on the file . ***** Plugin catchall (100. confidence) suggests ************************** If you believe that python2.7 should be allowed getattr access on the file by default. Then you should report this as a bug. You can generate a local policy module to allow this access. Do allow this access for now by executing: # grep fail2ban-server /var/log/audit/audit.log | audit2allow -M mypol # semodule -i mypol.pp
因此按照建議執行並執行:
grep fail2ban-server /var/log/audit/audit.log | audit2allow -M mypol semodule -i mypol.pp
然後,為了安全起見,重新啟動
fail2ban
:systemctl restart fail2ban
您甚至可能不得不重複上述過程,直到日誌中不再出現錯誤消息。
如果您的伺服器在 Internet 上,則監視
fail2ban-client status sshd
. 如果您發現了所有 SELinux 問題,它將很快開始顯示失敗和禁止計數。請注意,您必須密切關注您的 SELinux 政策更新。如果出現
selinux-policy
包更新,它可能會覆蓋上述內容,您可能需要再次執行上述命令。你會知道是否是這種情況,因為它fail2ban
會再次停止工作!