一、 Linux 網絡安全模型
1. 防火墻: 工作在主機或者網絡邊緣,對進出報文使用實現定義的規則進行檢測,并且由匹配的規則進行處理的一組硬件或者軟件。也可能兩者結合。
1) 通常使用的防火墻設備
硬件防火墻:專門的一臺防火墻硬件設備,工作在整個網絡入口處。
軟件防火墻:工作在主機中TCP/IP協議站上面的軟件(工作在內核中)。
2) 防火墻工作位置
網絡層:工作在網絡層,類似路由器,主要拆除物理層和鏈路層協議,檢測IP/TCP/UDP/ICMP網絡層協和傳輸層協議首部,來進行規則定制
應用層:工作在應用層,拆除網絡層和傳輸層首部,查看應用層內容。
2. IDS(Intrusion-detection system) 入侵檢測系統
HIDS(主機入侵檢測系統):OSSEC
NISC(網絡入侵檢測系統):snort(可以作為網絡嗅探器)
Filesystem: 文件系統級別檢測入侵檢測
3. IPS(入侵防御系統): IDS + Firewall兩者聯動
4. honeypot:蜜罐系統,用于誘捕黑客,獲取證據。
5. 系統安全漏洞漏洞掃描工具,進行系統安全評估:Nessus, nmap 等
6. rootkit:直接在系統層植入后門,將無法防護,只能重新安裝系統 。
二、 iptables工作機制
1. iptables/netfilter:網絡層防火墻,可以鏈接追蹤狀態(狀態檢測), 是一個規則編寫工具。規則通過內核中netfilter框架產生作用。
2. 設置iptables防護的五個位置(hook_function 位置)以及允許規則(五鏈四表):
1) PREROUTING: 主機外報文進入位置,允許的表mangle, nat(目標地址轉換,把本機地址轉換為真正的目標機地址,通常指響應報文)
2) INPUT:報文進入本機用戶空間位置,允許的表filter, mangle
3) OUTPUT:報文從本機用戶空間出去的位置,允許filter, mangle, nat
4) FOWARD:報文經過路由并且發覺不是本機決定轉發但還不知道從哪個網卡出去,允許filter, mangle
5) POSTROUTING:報文經過路由被轉發出去,允許mangle,nat(源地址轉換,把原始地址轉換為轉發主機出口網卡地址)
四表: filter, nat , mangle, raw
五鏈:PREROUNTING, INPUT, FORWARD, OUTPUT, POSTROUTING
3. 表與鏈的對應關系
1) filter: INPUT, FORWARD, OUTPUT
2) nat: PREROUTING, OUTPUT, POSTROUTING
3) mangle: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING
4) raw:
4. 規則:匹配到后的處理機制
1) 通: 默認為堵, 只對規則匹配到的進行開放
2) 堵: 默認為同, 只對規則匹配到的堵
5. 網絡層和傳輸層協議檢查內容
1) IP:
SIP: 源IP
DIP: 目標IP
2) TCP:
SPORT: 源端口
DPORT:目標端口
Flags:標識位
3) ICMP: ICMP-TYPE (ping 命令)
6. 關于TCP協議標識位以及有限狀態機圖解
TCP協議通信時,伴隨著標識位的相互傳輸,以及在各個狀態之間的轉換。這些標識位將成為規則檢測的內容。
7. 擴展檢測機制:
1)time(根據時間),
2)應用層協議(如qq)
3)string 敏感字符
4)state(connection-tracking) 連接追蹤
8. 匹配到的報文處理機制:
1) DROP: 默默的丟棄
2) REJECT:拒絕,不建議使用,容易拉仇恨
3) ACCEPT:接受
4) SNAT: 源地址轉換
5) DNAT:目標地址轉換
6) REDIRECT: 端口映射
7) LOG:日志
8) RETURN: 返回
具體iptables實現的功能和操作,詳見下一篇博客。。。。
原創文章,作者:以馬內利,如若轉載,請注明出處:http://www.www58058.com/6507
說一下個人的讀后感:
1、標題感覺不夠準確:網絡協議基本原理好像沒有怎么解釋
2、Linux的網絡安全模型包括honeypot、系統安全漏洞漏洞掃描工具、rootkit嗎?
3、五鏈四表的圖畫的很好,以前對iptables了解的很不深入,感覺理解起來有些費勁兒,尤其是五鏈四表的對應關系,簡單明了,贊!對應五鏈的解釋稍顯簡單,不易理解。
4、另外規則里面提到的默認規則,其實默認規則時可以設置的。
5、TCP的三次握手,圖畫的不是特別清楚
6、另外可能由于寫的比較倉促,一些明顯的別字、個別句子不通,無法理解
@transpart:哈哈,多謝提的意見,很中肯。恩確實,這個只能說是一個學習筆記,談不上什么正經大作。
以后多多努力啦。
居然你能耐心看完還給出建議,讓我真的很感激
三次握手主要是想突出標識位的變化,其他太復雜了就沒有畫進去。
沒有什么太多時間寫,寫完也沒看直接遞交了。錯字確實多