IT_man 發表於 2016-4-9 12:53:54

防火牆強化套件fail2ban之安裝與設定

本帖最後由 IT_man 於 2016-4-9 22:36 編輯

我的環境:
CentOS 6.7    這是RedHat系列的發行版本,與Fedora同系。(發行版本的資料會記錄在 /etc/redhat-release)
1.用yum安裝fail2ban
yum -y install fail2ban   (yum安裝的歷程會記錄在 /var/log/yum 中。如有需要確認已安裝的套件,可以回頭查詢這個記錄檔。)

如果上述步驟不能安裝fail2ban,那麼yum會顯示找不到該套件的時候,你需要進入這個步驟。

yum會掃描套件庫來決定要如何安裝套件。然而由於fail2ban並不在預設的套件庫中,所以我們必須手動加入含有fail2ban的套件庫atrpms。

請編輯 /etc/yum.repos.d/CentOS-Base.repo :

vi /etc/yum.repos.d/CentOS-Base.repo
在最後加入以下設定:


name=Red Hat Enterprise Linux $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
enabled=1

2. 設定fail2ban
主要有兩個設定檔:/etc/fail2ban/fail2ban.conf 跟 /etc/fail2ban/jail.conf
vi /etc/fail2ban/fail2ban.conf
修改 logtarget 的參數:
#預設的參數
#logtarget = SYSLOG
#調整後的參數
logtarget = /var/log/fail2ban.logvi /etc/fail2ban/jail.conf (fail2ban主要的設定檔)
#預設的參數
#backend = auto
#調整後的參數
backend = gamin gamin是Linux的套件之一。如果缺少你可以用yum來安裝它

#是否啟用
enabled= true
#過濾名稱,使用預設的即可
filter   = sshd
#iptables設定
action   = iptables
         #發生阻擋時的寄信設定
         sendmail-whois

#需要掃描的記錄檔
logpath= /var/log/secure
#最高嘗試錯誤次數
maxretry = 2
#阻擋的時間,-1表示永久阻擋
bantime= -1讓fail2ban重新啟動時不會重設阻擋IP規則
在預設的設定中,fail2ban每次重新啟動時都會遺忘被阻擋的IP設定。舉例來說,如果我的電腦因為登入失敗被fail2ban擋掉,那麼只要fail2ban重新啟動,那麼我的電腦又可以繼續嘗試登入server。
如果要讓fail2ban重新啟動時,不會重設阻擋的IP規則,則修改 /etc/init.d/fail2ban 的內容。
vi /etc/init.d/fail2ban
找到start()的區塊,加入以下有#註解的設定:
start() {
    echo -n [      DISCUZ_CODE_3      ]quot;Starting fail2ban: "
    getpid
    if [ -z "$pid" ]; then
      rm -rf /var/run/fail2ban/fail2ban.sock # unclean in case of restart fal2ban
      $FAIL2BAN -x start > /dev/null
      RETVAL=$?
    fi
    if [ $RETVAL -eq 0 ]; then
      touch /var/lock/subsys/fail2ban
      echo_success
      /sbin/service iptables restart # reloads previously banned ip's
    else
      echo_failure
    fi

    echo
    return $RETVAL
}再找到stop()區塊,加入以下有#註解的設定:
stop() {
    echo -n [      DISCUZ_CODE_4      ]quot;Stopping fail2ban: "
    getpid
    RETVAL=$?
    if [ -n "$pid" ]; then
       /sbin/service iptables save # saves banned ip's
      $FAIL2BAN stop > /dev/null
    sleep 1
    getpid
    if [ -z "$pid" ]; then
      rm -f /var/lock/subsys/fail2ban
      echo_success
    else
      echo_failure
    fi
    else
      echo_failure
    fi
    echo
    return $RETVAL3. 設定fail2ban開機順序

chkconfig --add fail2ban


p.s
以上參考 :
http://blog.pulipuli.info/2011/07/centosfail2ban.html
http://www.vixual.net/blog/archives/252
頁: [1]
查看完整版本: 防火牆強化套件fail2ban之安裝與設定