5月 23
iptables 是 Linux 中最常用的防火牆軟體之一,其實觀察各個 Linux distribution 都不約而同的把 iptables 內建安裝在系統中,它的重要性便可見一斑。
防火牆是做啥用的?很多人常常把防火牆跟防毒軟體搞混,其實這兩種軟體性質是截然不同的,防毒軟體就是在防止一些惡意的程式來破壞主機或盜取主機資料的軟體;而防火牆的功能就是在阻擋這一些來自網路上的惡意連線的入侵、或是植入病毒,所以這兩種軟體是相輔相成的。
廣義的來說,只要能夠分析與過濾進入我們管理之網域的封包資料,就可以稱為防火牆。
其實設定防火牆,並沒有想像中那麼難,簡易的防火牆設定,只要幾行規則,就可以達到不錯的效果,先了解到 iptables 的一些規則:
先觀察主機中,iptables 的列表:
CODE:
-
~# iptables -L -n
-
-
Chain INPUT (policy ACCEPT)
-
target prot opt source destination
-
-
Chain FORWARD (policy ACCEPT)
-
target prot opt source destination
-
-
Chain OUTPUT (policy ACCEPT)
-
target prot opt source destination
上面是一般主機尚未進行規則設定的列表
INPUT 進入主機封包的狀態
FORWARD 封包轉向的狀態
OUTPUT 出去主機封包的狀態
後面接的 ACCEPT 意思是開放,也就是說目前三種封包狀態都是開放,不管是什麼封包通通照單全收,這一種情形對主機來說是很危險的。
一般來講,訂定 iptables 規則時,INPUT 通常都會定的很嚴格,反之,FORWARD、OUTPUT 就會定的比較鬆,有時甚至是全部 ACCEPT,其實是看使用者習慣的問題,依照不同情形制定規則,不過 INPUT 這部分是比較需要下工夫的。
開始制定規則:
開始寫規則前,必須將之前的規則全部清空
CODE:
-
~# iptables -F
-
~# iptables -X
-
~# iptables -Z
-
-
參數說明:
-
-F :清除所有的已訂定的規則
-
-X :殺掉所有使用者建立的 tables
-
-Z :將所有的 chain 的計數與流量統計都歸零
請注意,如果在遠端連線的時候,『這三個指令必須要用 scripts 來連續執行』, 不然肯定『會讓您自己被主機擋在門外!』
加入簡易的防火牆設定:
CODE:
標籤: Linux-
#採取 INPUT 全封閉,在一個一個開的策略
-
iptables -P INPUT DROP
-
-
# 讓已經建立或者是與我們主機有關的回應封包通過,但是讓不合法的封包被抵擋在外!
-
iptables -A INPUT -m state –state ESTABLISHED -j ACCEPT
-
iptables -A INPUT -m state –state INVALID -j DROP
-
-
#接受網域內連線
-
iptables -A INPUT -i eth0 -p tcp -s 192.168.0.1/24 -j ACCEPT
-
iptables -A INPUT -i eth0 -j ACCEPT
-
-
#開放特定 service 連線
-
iptables -A INPUT -p TCP -i eth0 –dport 25 -j ACCEPT
-
iptables -A INPUT -p TCP -i eth0 –dport 21 -j ACCEPT
-
iptables -A INPUT -p TCP -i eth0 –dport 110 -j ACCEPT
-
iptables -A INPUT -p TCP -i eth0 –dport 80 -j ACCEPT
-
iptables -A INPUT -p TCP -i eth0 –dport 22 -j ACCEPT
-
-
#封鎖特定連線
-
#ping不回應
-
iptables -I INPUT -p icmp –icmp-type 8 -j DROP
本篇文章引用網址:
|
其他隨機文章: |



