部署fail2ban防止暴力破解ssh密碼

fail2ban能夠監視你的系統日誌,而後匹配日誌的錯誤信息(正則式匹配)執行相應的屏蔽動做(通常狀況下是調用防火牆屏蔽),如:當有人在試探你的SSH、SMTP、FTP密碼,只要達到你預設的次數,fail2ban就會調用防火牆屏蔽這個IP,並且能夠發送e-mail通知系統管理員,是一款很實用、很強大的軟件!python

步驟:linux

#cd /etc/yum.repos.d/     
#wget http://mirrors.163.com/.help/CentOS6-Base-163.repo     
#yum install gamin-pythonvim

#wget ftp://rpmfind.net/linux/epel/6/x86_64/python-inotify-0.9.1-1.el6.noarch.rpm 
#rpm -ivh python-inotify-0.9.1-1.el6.noarch.rpm    
#wget ftp://rpmfind.net/linux/epel/6/x86_64/fail2ban-0.8.14-1.el6.noarch.rpm bash

#rpm -ivh fail2ban-0.8.14-1.el6.noarch.rpm   ssh

#chkconfig fail2ban on    
#vim /etc/fail2ban/jail.conftcp

[DEFAULT]    #全局設置    
ignoreip = 127.0.0.1   #忽略IP,在這個清單裏的IP不會被屏蔽,多個用空格分開     
bantime  = 600         #屏蔽時間,以秒爲單位     
findtime  = 600        #這個時間段內超過規定次數會被ban掉     
maxretry = 3           #全局最大嘗試次數(經測試,有少許延遲)     
[ssh-iptables]            #至關於標籤說明     
enabled  = true        #是否激活此項(true/false)     
filter   = sshd        #過濾規則filter的名字,對應filter.d目錄下的sshd.conf     
action   = iptables[name=SSH, port=端口, protocol=tcp]  #動做的相關參數     
           sendmail-whois[name=SSH, dest=root, sender=fail2ban@mail.com] #發送郵件,不可註銷,默認便可     
logpath  = /var/log/secure    #ssh日誌記錄的位置     
maxretry = 5                     #最大嘗試次數,此項會覆蓋全局中maxretry設置(次數會有少許延遲)


#service fail2ban startide


fail2ban 會按照你的過濾規則(filter   = sshd    也就是filter.d/sshd.conf)去查看相應的日誌文件(logpath=/var/log/secure),而後在findtime = 600 「10分鐘」 (此時間以全局的爲準)以內符合條件的記錄下來,若是到達了maxretry = 5 就採起相應的動做action(ptables.conf和sendmail-whois.conf),而且限制的時間爲bantime = 600。測試

相關文章
相關標籤/搜索