近期電子郵件伺服器遭受駭客攻擊,記錄一下怎麼去找駭客攻擊來源與分析。
一、取得駭客攻擊紀錄檔
系統:CentOS + Postfix
一般來說,紀錄檔應該在: /var/log/maillog,而駭客來源多半使用Unknown(未知)的主機偏多,也就是未設反解的主機。
所以,用指令:
grep -i unknow /var/log/maillog |grep sasl_username > /tmp/hackerip.txt
Aug 16 21:56:26 ms2 postfix/smtpd[19973]: 756EB16DF89: client=unknown[178.122.44.102], sasl_method=LOGIN, sasl_username=st001234
Aug 16 21:56:26 ms2 postfix/smtpd[23571]: 75A6D16DF8A: client=unknown[178.127.215.79], sasl_method=LOGIN, sasl_username=st001234
Aug 16 21:56:26 ms2 postfix/smtpd[21316]: 8734D16DF8B: client=unknown[94.153.58.87], sasl_method=LOGIN, sasl_username=st001234
Aug 16 21:56:26 ms2 postfix/smtpd[21556]: 886A316DF8C: client=unknown[31.40.32.175], sasl_method=LOGIN, sasl_username=st001234
Aug 16 21:56:26 ms2 postfix/smtpd[22382]: F0A2E16DF90: client=unknown[178.91.154.33], sasl_method=LOGIN, sasl_username=st001234
Aug 16 21:56:27 ms2 postfix/smtpd[16861]: 0324B16DF91: client=unknown[178.123.255.94], sasl_method=LOGIN, sasl_username=st001234
由來源的IP差異頗大,就可知道這個st001234帳號被入侵了,所以之後以可針對這個帳號再次查詢。
grep -i 'sasl_username=st001234' /var/log/maillog > /tmp/hacked_user.txt
之後所取得的文件檔有時會非常大,建議使用ftp傳檔,並用Notepad++(http://notepad-plus-plus.org/)之類的文字編輯程式來開,或是直接用Microsoft Excel 2007之後的版本來分析。
二、分析攻擊紀錄檔
Microsoft Excel 2007可分析的最大列數為1048576行,如果不確定是否可分析,可先下:
wc -l hacked_user.txt
若行數尚可分析,就直接以Excel來開,不行的話就先切割檔案。
接下為取得其中的IP,我用比較笨的方式來做,假設原IP訊息「client=unknown[178.123.255.94]」存在C2,我在同行不同欄中用函數來分析取得ip:
=MID(C2,FIND("[",C2),FIND("]",C2))
之後就可用樞鈕分析表來取得數量合計列表。
三、進階分析
去掉ip前後的中括號,就可用IPNetInfo(http://www.nirsoft.net/utils/ipnetinfo.html)這套軟體來取得該IP的來源。
雖然這套軟體沒辦法直接產生CSV檔,但可先產生html檔(橫列格式),就可以複製或匯出至Excel分析。
四、阻擋
若有裝TCP wrappers,就可將這些IP加入/etc/hosts.deny ,或是使用iptables防火牆來阻擋。
但IP數若太多,可先分析是否來自同一網段或相近的網段,但這種加入的方式比較累人,還是再多檢查一下安全政策比較好,例如限制可使用的服務與IP。
留言列表