一直找不到日志方面怎么弄,問了同事,同事給了個網址:
http://www.thegeekstuff.com/2012/08/iptables-log-packets/
下面就是我根據這個網址里面的設置自己實踐的步驟以及自己的想法:
仔細看了一遍之后,感覺和以前玩的routeos的規則差不多:
1.就是先創建一個日志鏈
2.然后將所有的輸入都跳轉到這個日志鏈
3.然后就是記錄日志鏈中drop調的數據
4.然后就是終止日志鏈
防火牆規則如下:
iptables -N LOGGING iptables -A INPUT -j LOGGING iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4 iptables -A LOGGING -j DROP
現在我比較不熟悉的就是模塊的m參數,網上搜索了下:大概意思就是固定時間段內限制多少個包被記錄
那么,比如我們要記錄4488端口的訪問,那么我們應該使用如下的代碼:
iptables -N LOGGING iptables -A INPUT -j LOGGING iptables -A LOGGING -p tcp --dport 4488 -m limit --limit 2/min -j LOG --log-prefix "drop port 4488" --log-level 7 iptables -A LOGGING -j DROP service iptables save service iptables restart
因為我設置了messages日志中的debug到獨立的日志,所以我就設置log-level 7 也就是debug級別,這樣這些日志就會記錄到獨立的日志文件了
而不是都記錄在messages日志里面了!
對於 http://www.thegeekstuff.com/2012/08/iptables-log-packets/ 下面的評論有說設置后,服務器就不接受input connect了,
我認為我們這樣記錄日志的前提條件就是已經開啟了允許的端口,
也就是說,我們設置防火牆的步驟應該是:
1.設置INPUT 默認禁止掉
2.設置允許的端口
3.INPUT跳轉LOGGING
4.記錄日志
5.禁止LOGGING