iptables防火墻實現(xiàn)阻擋常見攻擊的實用設置教程
防火墻借由監(jiān)測所有的封包并找出不符規(guī)則的內容,可以防范電腦蠕蟲或是木馬程序的快速蔓延。這篇文章主要介紹了iptables防火墻實現(xiàn)阻擋常見攻擊的實用設置分享,本文講解了防止 SYN 洪水攻擊、丟棄 NULL 空數據包、丟棄異常的 XMAS 數據包、丟棄無效數據包等應對異常數據的設置方法,需要的朋友可以參考下
方法步驟
從 Yaocheng 那里看到了這篇文章,好東西,需要珍藏下。這里列舉了 Linux 下面幾個經常遇見的攻擊手段和應對手段。以下 iptables 規(guī)則應該普遍適應于各種 Linux 版本,只是要注意保存,以免系統(tǒng)重啟后失效
初始創(chuàng)建的 TCP 連接必須含 SYN
復制代碼代碼如下:
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
丟棄 Fragments 碎片數據包 (碎片數據包攻擊的后果: 可能導致正常數據包丟失)
復制代碼代碼如下:
iptables -A INPUT -f -j DROP
防止 SYN 洪水攻擊 (限制的速度根據自身情況調整)
復制代碼代碼如下:
iptables -A INPUT -p tcp -m state --state NEW -m limit --limit 100/second --limit-burst 300 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -j DROP
丟棄異常的 XMAS 數據包 (異常的 XMAS 數據包攻擊的后果: 可能導致某些系統(tǒng)崩潰)
復制代碼代碼如下:
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL FIN,PSH,URG -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
丟棄 NULL 空數據包
復制代碼代碼如下:
iptables -A INPIT -p tcp --tcp-flags ALL NONE -j DROP
允許有限的 TCP RST 請求 (限制的速度根據自身情況調整)
復制代碼代碼如下:
iptables -A INPUT -p tcp -m tcp --tcp-flags RST RST -m limit --limit 10/second --limit-burst 30 -j ACCEPT
丟棄無效數據包
復制代碼代碼如下:
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
阻擋欺詐 IP 地址的訪問 (以下為 RFC1918 類型和 IANA 預留地址,多為 LAN 或者多播地址,這些是不可能作為公網地址源的)
復制代碼代碼如下:
iptables -A INPUT -s 10.0.0.0/8 -j DROP
iptables -A INPUT -s 169.254.0.0/16 -j DROP
iptables -A INPUT -s 172.16.0.0/12 -j DROP
iptables -A INPUT -s 127.0.0.0/8 -j DROP
iptables -A INPUT -s 224.0.0.0/4 -j DROP
iptables -A INPUT -d 224.0.0.0/4 -j DROP
iptables -A INPUT -s 240.0.0.0/5 -j DROP
iptables -A INPUT -d 240.0.0.0/5 -j DROP
iptables -A INPUT -s 0.0.0.0/8 -j DROP
iptables -A INPUT -d 0.0.0.0/8 -j DROP
iptables -A INPUT -d 239.255.255.0/24 -j DROP
iptables -A INPUT -d 255.255.255.255 -j DROP
阻擋自定義的惡意 IP 地址的訪問
復制代碼代碼如下:
iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP
禁止 ICMP PING
復制代碼代碼如下:
iptables -A INPUT -p icmp -m icmp --icmp-type echo-request -j DROP
補充閱讀:防火墻主要使用技巧
一、所有的防火墻文件規(guī)則必須更改。
盡管這種方法聽起來很容易,但是由于防火墻沒有內置的變動管理流程,因此文件更改對于許多企業(yè)來說都不是最佳的實踐方法。如果防火墻管理員因為突發(fā)情況或者一些其他形式的業(yè)務中斷做出更改,那么他撞到槍口上的可能性就會比較大。但是如果這種更改抵消了之前的協(xié)議更改,會導致宕機嗎?這是一個相當高發(fā)的狀況。
防火墻管理產品的中央控制臺能全面可視所有的防火墻規(guī)則基礎,因此團隊的所有成員都必須達成共識,觀察誰進行了何種更改。這樣就能及時發(fā)現(xiàn)并修理故障,讓整個協(xié)議管理更加簡單和高效。
二、以最小的權限安裝所有的訪問規(guī)則。
另一個常見的安全問題是權限過度的規(guī)則設置。防火墻規(guī)則是由三個域構成的:即源(IP地址),目的地(網絡/子網絡)和服務(應用軟件或者其他目的地)。為了確保每個用戶都有足夠的端口來訪問他們所需的系統(tǒng),常用方法是在一個或者更多域內指定打來那個的目標對象。當你出于業(yè)務持續(xù)性的需要允許大范圍的IP地址來訪問大型企業(yè)的網絡,這些規(guī)則就會變得權限過度釋放,因此就會增加不安全因素。服務域的規(guī)則是開放65535個TCP端口的ANY。防火墻管理員真的就意味著為黑客開放了65535個攻擊矢量?
三、根據法規(guī)協(xié)議和更改需求來校驗每項防火墻的更改。
在防火墻操作中,日常工作都是以尋找問題,修正問題和安裝新系統(tǒng)為中心的。在安裝最新防火墻規(guī)則來解決問題,應用新產品和業(yè)務部門的過程中,我們經常會遺忘防火墻也是企業(yè)安全協(xié)議的物理執(zhí)行者。每項規(guī)則都應該重新審核來確保它能符合安全協(xié)議和任何法規(guī)協(xié)議的內容和精神,而不僅是一篇法律條文。
四、當服務過期后從防火墻規(guī)則中刪除無用的規(guī)則。
規(guī)則膨脹是防火墻經常會出現(xiàn)的安全問題,因為多數運作團隊都沒有刪除規(guī)則的流程。業(yè)務部門擅長讓你知道他們了解這些新規(guī)則,卻從來不會讓防火墻團隊知道他們不再使用某些服務了。了解退役的服務器和網絡以及應用軟件更新周期對于達成規(guī)則共識是個好的開始。運行無用規(guī)則的報表是另外一步。黑客喜歡從來不刪除規(guī)則的防火墻團隊。
iptables防火墻實現(xiàn)阻擋常見攻擊的實用設置教程相關文章: