歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux使用fail2ban防止暴力破解SSH登陸

Linux使用fail2ban防止暴力破解SSH登陸

日期:2017/2/28 15:54:58   编辑:Linux教程
1、fail2ban簡單介紹

官方站點一句話介紹:

fail2ban scans log files like /var/log/pwdfail or /var/log/apache/error_log and bans IP that makes too many password failures. It updates firewall rules to reject the IP address.

簡單來說其功能就是防止暴力破解。工作的原理是通過分析一定時間內的相關服務日志,將滿足動作的相關IP利用iptables加入到dorp列表一定時間。

注:重啟iptables服務的話,所有DORP將重置。

2、CentOS中fail2ban安裝及文件說明
安裝:

yum install fail2ban 

相關主要文件說明:

[[email protected]]# rpm -ql fail2ban
/etc/fail2ban/action.d                   #動作文件夾,內含默認文件。iptables以及mail等動作配置
/etc/fail2ban/fail2ban.conf             #定義了fai2ban日志級別、日志位置及sock文件位置
/etc/fail2ban/filter.d                     #條件文件夾,內含默認文件。過濾日志關鍵內容設置
/etc/fail2ban/jail.conf                   #主要配置文件,模塊化。主要設置啟用ban動作的服務及動作閥值
/etc/rc.d/init.d/fail2ban                #啟動腳本文件

3、應用實例

設置條件:ssh遠程登錄5分鐘內3次密碼驗證失敗,禁止用戶IP訪問主機1小時,1小時該限制自動解除,用戶可重新登錄。

因為動作文件(action.d/iptables.conf)以及日志匹配條件文件(filter.d/sshd.conf )安裝後是默認存在的。基本不用做任何修改。所有主要需要設置的就只有jail.conf文件。啟用sshd服務的日志分析,指定動作閥值即可。實例文件/etc/fail2ban/jail.conf及說明如下:

[DEFAULT]               #全局設置
ignoreip = 127.0.0.1       #忽略的IP列表,不受設置限制
bantime  = 600             #屏蔽時間,單位:秒
findtime  = 600             #這個時間段內超過規定次數會被ban掉
maxretry = 3                #最大嘗試次數
backend = auto            #日志修改檢測機制(gamin、polling和auto這三種)

[sshd]                   #單個服務檢查設置,如設置bantime、findtime、maxretry和全局沖突,服務優先級大於全局設置。
enabled  = true             #是否激活此項(true/false)
filter   = sshd              #過濾規則filter的名字,對應filter.d目錄下的sshd.conf
action   = iptables[name=SSH, port=ssh, protocol=tcp]             #動作的相關參數,對應action.d/iptables.conf文件
logpath  = /var/log/secure         #檢測的系統的登陸日志文件
bantime  = 3600
findtime  = 300
maxretry = 3

PS:logpath(Centos5和Rhel5中)要寫成/var/log/secure,這個是系統登陸日志,不能隨意設置。

啟動服務:

[[email protected]]# service fail2ban start
Starting fail2ban:                                         [確定]

測試:

故意輸入錯誤密碼進行測試。。測試發現確實有一定的延遲。設定3次。。在嘗試第7次的時候才被加入到DORP列表。

[[email protected] ~]# iptables -L |tail -4
Chain fail2ban-SSH (1 references)
target     prot opt source               destination
DROP       all  --  192.168.7.142        anywhere
RETURN     all  --  anywhere             anywhere

查看fail2ban的日志能夠看到相關的信息

2011-12-03 18:24:34,231 fail2ban.actions: WARNING [sshd] Ban 192.168.7.142

Copyright © Linux教程網 All Rights Reserved