iptables日志探秘
?
防火墻的主要功能除了其本身能進(jìn)行有效控制網(wǎng)絡(luò)訪問之外,還有一個很重要的功能就是能清晰地記錄網(wǎng)絡(luò)上的訪問,并自動生成日志進(jìn)行保存。雖然日志格式會因防火墻廠商的不同而形態(tài)各異,但被記錄下的主要信息大體上卻是一致的。無論是后面我們談到的PIX、ASA或是CheckPoint放火墻其產(chǎn)生的日志內(nèi)容均類似。這就表明,任何連接或者請求,例如TCP、UDP、ICMP連接記錄、連接的流量信息、連接建立時間等,防火墻日志都會將其逐一體現(xiàn)。所以歸納起來,防火墻日志大致包含消息發(fā)送源IP地址、消息目的IP、消息流向、消息的內(nèi)容,以及應(yīng)用幾方面。
防火墻每天要產(chǎn)生大量的日志文件,防火墻管理員針對這未經(jīng)任何處理和分析的龐大的日志進(jìn)行管理是很困難的。因此,日志的統(tǒng)計和分析現(xiàn)在已經(jīng)成為防火墻功能中必不可少的一項,管理員不但可以按照不同的需求來查找日志、審計日志,還可以分析網(wǎng)絡(luò)帶寬的利用率、各種網(wǎng)絡(luò)協(xié)議和端口的使用情況等。防火墻日志還會產(chǎn)生安全警告及一些對網(wǎng)絡(luò)安全管理很有幫助的信息。這極大的方便了管理員對防火墻的安全管控。
本文以Linux下的iptables為例講解防火墻日志,下面看一段iptables日志
Jun 19 17:20:04 webkernel:?NEW DRAP IN=eth0 OUT=MAC=00:10:4b:cd:7b:b4:00:e0:le:b9:04:al:08:00SRC=192.168.150.1 DST=192.168.150.152 LEN=20 TOS=0X00 PREC=0x00 TTL=249ID=10492 DF PROTO=UDP SPT=53 DPT=32926 LEN=231
對于此日志解釋見表1。
表1 iptablesLog字段解釋
| 序號 | 字段名稱 | 含義 |
| 1 | Jun 19 17:20:24 | 日期時間,由syslog生成 |
| 2 | Web | 主機名稱 |
| 3 | Kernel | 進(jìn)程名由syslogd生成kernel為內(nèi)核產(chǎn)生的日志說明netfilter在內(nèi)核中運行 |
| 4 | NEW_DRAP | 記錄前綴,由用戶指定—log-prefix”NEW_DRAP” |
| 5 | IN=eth0 | 數(shù)據(jù)包進(jìn)入的接口,若為空表示本機產(chǎn)生,接口還有eth0、br0等 |
| 6 | OUT= | 數(shù)據(jù)包離開的接口,若為空表示本機接收 |
| 7 | MAC=00:10:4b:cd:7b:b4:00:e0:le:b9:04:al | 00:10:4b:cd:7b:b4?為目標(biāo)MAC地址 00:e0:le:b9:04:al?為源MAC地址 |
| 8 | 08:00 | 08:00?為上層協(xié)議代碼,即表示IP協(xié)議 |
| 9 | SRC=192.168.150.1 | 192.168.150.1為源IP地址 |
| 10 | DST=192.168.150.152 | 192.168.150.152w為目標(biāo)IP地址 |
| 11 | LEN=20 | IP封包+承載數(shù)據(jù)的總長度(MTU) |
| 12 | TOS=0x00 | IP包頭內(nèi)的服務(wù)類型字段,能反應(yīng)服務(wù)質(zhì)量包括延遲、可靠性和擁塞等 |
| 13 | PREC=0x00 | 服務(wù)類型的優(yōu)先級字段 |
| 14 | TTL=249 | IP數(shù)據(jù)包的生存時間 |
| 15 | ID=10492 | IP數(shù)據(jù)包標(biāo)識 |
| 16 | DF | DF表示不分段,此字段還可能為MF/FRAG |
| 17 | PROTO=UDP | 傳輸層協(xié)議類型,它代表上層協(xié)議是什么可分為TCP、UDP、ICMP等 |
| 18 | SPT=53 | 表示源端口號 |
| 19 | DPT=32926 | 表示目的端口號 |
| 20 | LEN=231 | 傳輸層協(xié)議頭長度 |
| 21 | SEQ=?內(nèi)容略 | TCP序列號 |
| 22 | ACK=內(nèi)容略 | TCP應(yīng)答號 |
| 23 | WINDOWS=內(nèi)容略 | IP包頭內(nèi)的窗口大小 |
| 24 | RES | 保留值 |
| 25 | CWR/ECE/URG/ACK/PSH/RST/SYN/FIN | TCP標(biāo)志位 |
| 26 | URGP= | 緊急指針起點 |
| 27 | OPT(?內(nèi)容略?) | IP或TCP選項,括號內(nèi)為十六進(jìn)制 |
| 28 | INCOMPLETE[65535 bytes] | 不完整的數(shù)據(jù)包 |
| 29 | TYPE=CODE=ID=SEQ=PARAMETER= | 當(dāng)協(xié)議為ICMP時出現(xiàn) |
| 30 | SPI=0xF1234567 | 當(dāng)前協(xié)議為AHESP時出現(xiàn) |
| 31 | SYN | TCP-Flags中的SYN標(biāo)志,此外還有FIN/ACK/RST/URG/PSH幾種 |
| 32 | [? ] | 中括號出現(xiàn)在兩個地方,在ICMP協(xié)議中作為協(xié)議頭的遞歸使用;在數(shù)據(jù)包長度出現(xiàn)非法時用于指出數(shù)據(jù)實際長度 |
?
二、LOG日志格式的思考:
從表1的描述可看出,iptables日志記錄的信息很多而且顯得很凌亂,在分析時面臨以下幾個問題:
(1)MAC的表示過于簡單,把目標(biāo)MAC、源MAC及長度類型全部混在一起,不利于閱讀。
(2)在表中的序號12、13中TOS和PREC的值都為“0x00”標(biāo)志位表示方式混亂。
(3)在日志中沒有記錄數(shù)據(jù)包內(nèi)容,特別是對一些被拒絕的數(shù)據(jù)包,如果有記錄數(shù)據(jù)包內(nèi)容將有助于查找攻擊方式、方法。
(4)沒有記錄規(guī)則號,對于被記錄的數(shù)據(jù)包,當(dāng)需要查看它因為滿足什么條件被記錄時,將變得比較困難。
(5)LEN、DPT標(biāo)志同時出現(xiàn)在IP頭、TCP頭中在分析處理日志時容易出現(xiàn)混亂。
?
三、日志分析
?
在Linux下單獨記錄Iptables的方法是編輯/etc/syslog.conf文件,在其中加入一行
kern.warning?/var/log/iptables.log
然后重啟syslog服務(wù):
#/etc/init.d/syslog restart
???為了方便地對日志進(jìn)行分析,可加上適當(dāng)?shù)挠涗浫罩厩熬Y,即在IPtables中使用LOG選項,通過LOG?選項打開匹配數(shù)據(jù)包的內(nèi)核記錄功能。LOG?選項的子選項?--log-prefix?用來給記錄信息添加一個消息前綴,這個前綴可設(shè)達(dá)?29?個字符。添加前綴的目的只是為了更好的辨別記錄信息,比如更容易用?grep?這種工具過濾出匹配的記錄信息。下面舉個例子。在Linux?服務(wù)器中輸入下面的命令:
? ? ? ? ? ? ? ? ? ? ? ? ? ?
接下來查看iptables.log日志文件中加HACKERS前綴的日志,當(dāng)然你也可以換成其他內(nèi)容。
?
參數(shù)“-j LOG”用于設(shè)定日志級別,利用?syslog?把特殊級別的信息放入指定日志文件。初始存放在/var/log/messages里面,由于存放messages中,對于分析日志產(chǎn)生不便。這里簡單介紹一個iptables日志的管理、循環(huán)和自動報告生成的實例。
幾乎所有的Linux發(fā)行版都默認(rèn)安裝了iptables,由dmesg或syslogd的facility結(jié)合內(nèi)核管理。iptables的日志的初始值是[warn(=4)],若需要修改這個初始值就需要編輯syslog.conf。
/etc/logrotate.conf的初始設(shè)置是每周進(jìn)行日志循環(huán)。所以每周的日志將被存在?/var/log/iptables.log中,以前的日志將被順次存儲在iptableslog.1~ iptables-log.50?中。
另一種方法就是通過iptables直接獲取日志,操作如下:
# iptables -A INPUT -s 127.0.0.1 -p icmp -j LOG--log-prefix "iptables icmp-localhost "
\\*保存從eth0?進(jìn)入的packet記錄;
# iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP
\\*廢除從eth0進(jìn)入的packet記錄;
?經(jīng)過上面兩條命令操作之后/var/log/iptables-log.1的內(nèi)容將如下所示:
?Sep 2310:16:14 hostname kernel: iptables icmp-localhost IN=lo OUT=MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=57148SEQ=256
上面這種方法比較麻煩,下面用ulog工具可使用netlink直接將日志廣播到用戶態(tài),這樣以來效率更高,首先安裝ulog包,命令如下:
#apt-get install ulogd
查看Iptables日志,如圖1所示。
圖1?用ulog查看Iptables日志
四、圖形化分析工具
了解日志構(gòu)成和結(jié)構(gòu)、含義是基礎(chǔ),但大數(shù)據(jù)下的“大安全時代”必須使用工具軟件協(xié)助你完成任務(wù),下面筆者推薦幾款圖形化分析工具。
1)OSSIM
在OSSIM USM?版本可以對各種日志進(jìn)行歸一化處理并以圖表的方式展現(xiàn)出來,如圖2所示。
圖2 OSSIM日志收集
2)?FirewallAnalyzer
Firewall Analyzer是一套基于Web,無需安裝代理的防火墻日志分析系統(tǒng),該系統(tǒng)可支持網(wǎng)絡(luò)中的多款防火墻設(shè)備,并實現(xiàn)監(jiān)視、日志搜集和分析、并以報表的形式將其呈現(xiàn)出來。利用Firewall Analyzer,網(wǎng)絡(luò)安全管理員,可以快速的獲取網(wǎng)絡(luò)頻寬占用,以及安全時間等重要信息,從而更加有效地對網(wǎng)絡(luò)實施管理。一般來說,可以獲取到的安全事件信息包括:入侵檢測、病毒攻擊、拒絕服務(wù)攻擊等異常的網(wǎng)絡(luò)行為。Firewall Analyzer能分析Cisco PIX、ASA,CheckPoint等多種防火墻日志。如圖3所示,為Firewall Analyzer流量分析界面。
圖3?Firewall Analyzer?日志分析主界面
3)Sawmill
Sawmill適用于Unix/Linux和Windows等多種平臺,支持900?種日志格式,集中式且跨平臺的日志報表管理系統(tǒng),能集中搜集日志,并產(chǎn)生中文報表(包含體簡體及繁體中文),簡約的操作界面讓使用者能直覺地透過簡單的點擊操作,能夠輕松分析Netfilter日志,快速分析并定制報表,如圖4、5所示。
圖4?設(shè)定讀取數(shù)據(jù)源
圖5設(shè)定輸出報表
4.Splunk
Splunk是一款強大的日志分析工具,使用 Splunk 可收集、索引和利用所有應(yīng)用程序、服務(wù)器和設(shè)備(物理、虛擬和云中)生成的快速移動型計算機數(shù)據(jù) ,用它分析iptables日志,如圖6所示,是不是和OSSIM的圖形化輸出有些相似?
圖6
5.logstash
Logstash是一個開源工具,它可以對你的日志進(jìn)行收集、簡單分析,我們看看下面這段原始日志,我通過一個實驗來說明logstash是如何通過圖形化方式展示給用戶的。
總之,開源工具學(xué)習(xí)成本高,對初學(xué)者難度大,而商業(yè)工具可以讓你省心,需要一筆不菲的開銷的同時,還少了一些研究開源軟件的成就感。
轉(zhuǎn)載于:https://www.cnblogs.com/yangxiaochu/p/7090398.html
總結(jié)
以上是生活随笔為你收集整理的iptables日志探秘的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简单的横向ListView实现(vers
- 下一篇: 模态框在IE下的问题,即position