Fail2Ban for Dovecot @ IT Ranger--Pippeng :: 隨意窩 Xuite日誌





  • Powered by Xuite
  • 累積 | 今日
    loading......
  • 站內文章搜尋
  • 文章搜尋
  • 廣告
  • 平均分數:0 顆星
    投票人數:0
    我要評分:
    1. 沒有新回應!
    201210080007Fail2Ban for Dovecot

    距離上次介紹使用Fail2Ban已經過了3年了,其實這篇文章2年前就想寫了,但是遇到了WEB2.0的崛起,

    噗浪與FB的隨口PO文的即時與少話讓很多Blog都被停寫了,但是對於技術的文章傳承確不是好現象。

     

    進入正題

    之前介紹的Fail2Ban真的是超實用的,現在網路上也出現很多中文的文章了,

    所以英文真的很重要,不然你永遠只能等華人世界有人願意寫你才會用這新工具,

    安裝Fail2Ban確實幫了我很大的忙,因為他不只針對DNS攻擊,還有常見的SSH暴力破解,

    或是垃圾郵件公司利用暴力破解smtp,然後使用你的smtp發廣告信。

     

    但是後來我發現,他們放棄攻擊你的smtp了,而改攻擊你的pop3,

    而很遺憾的是Fail2Ban預設並沒有檢查Dovecot,

    導致公司還是發生一次同事Mail帳號密碼被破解,smtp被拿來發垃圾郵件,

    所以我還是去問Lord of Google(因為我不是神)

    後來終於找到有外國有人有寫好dovecot的filter(對原作抱歉時間太久沒記錄來源網頁),

    dovecot的網頁上也有敎 http://wiki.dovecot.org/HowTo/Fail2Ban

    其實如果你熟正規表示式也可以自己寫,只是去log裡面去過濾攻擊紀錄而已。

     

    首先要先到fail2an的filter.d目錄裡面建立3個filter檔

    #cd /etc/fail2ban/filter.d
    #vi dovecot-secure.conf
    新增以下幾行後儲存並關閉檔案:wq
     
    [Definition]
    # to test set up use this
    # /usr/bin/fail2ban-regex /var/log/secure /etc/fail2ban/filter.d/dovecot.conf

    failregex =  (?: authentication failure).*rhost=(?:::f{4,6}:)?(?P<host>\S*)
    ignoreregex =

    再來繼續第二個filter
    #cd /etc/fail2ban/filter.d
    #vi dovecot-pop3imap.conf
    新增以下幾行後儲存並關閉檔案:wq

    [Definition]
    failregex = (?: pop3-login|imap-login): (?:Authentication failure|Aborted login \(auth failed|Disconnected \(auth failed).*rip=(?P<host>\S*),.*
    ignoreregex =

    再來繼續第三個filter
    #cd /etc/fail2ban/filter.d
    #vi dovecot-mail.conf
    新增以下幾行後儲存並關閉檔案:wq

    [Definition]
    # to test set up use this
    # /usr/bin/fail2ban-regex /var/log/maillog /etc/fail2ban/filter.d/dovecot.conf

    failregex =  (?: Authentication failure|Aborted login|Disconnected).*rip=(?:::f{4,6}:)?(?P<host>\S*),.*
    ignoreregex = (?: Disconnected: Logged out).*

    這樣就完成三個filter
    接下來要繼續完成最後設定,讓fail2ban去使用這3個filter幫你檢查pop3是否被攻擊,
    還記得fail2ban的設定檔是哪一個嗎?  哈當然忘記了
    趕快去看一下之前的文章吧,就是jail.conf


    到最後面開始新增dovecot的filter
    至於每個設定值的說明有興趣的可以去看我之前寫的安裝設定文章 主機上的主動防禦-Fail2Ban for Linux

    #vi jail.conf
    新增以下幾行後儲存並關閉檔案:wq

    # This jail is Dovecot Pop3
    [dovecot-pop3imap]
    enabled = true
    filter = dovecot-pop3imap
    action = iptables-multiport[name=dovecot-pop3imap, port="smtp,pop3,imap", protocol=tcp]
             sendmail-whois[name=Dovecot, dest=adminmail@example.cm.tw]
    logpath = /var/log/maillog
    maxretry = 10
    bantime = 1200
    findtime = 1200

    [dovecot-secure]
    enabled = true
    filter = dovecot-secure
    action = iptables-multiport[name=dovecot, port="pop3,pop3s,imap,imaps", protocol=tcp]
    sendmail-whois[name=dovecot-secure, dest=adminmail@example.cm.tw]
    logpath = /var/log/secure
    maxretry = 10
    findtime= 600
    bantime= 7200


    [dovecot-mail]
    enabled = true
    filter = dovecot-mail
    action = iptables-multiport[name=dovecot-mail, port="smtp,pop3,imap", protocol=tcp]
              sendmail-whois[name=Dovecot-Mail, dest=adminmail@example.cm.tw]
    logpath = /var/log/maillog
    maxretry = 10
    findtime = 600
    # Ban time is in seconds. 60 * 60 = 3600 seconds = 1hr. * 2 = 7200 seconds
    bantime = 7200

    -----------------
    -------------------------------
    完工
    這樣你的Fail2Ban就有防禦dovecot暴力破解的能力了

     

     

     

    廣告

    沒有上一則|日誌首頁|沒有下一則
    回應