bestlong 怕失憶論壇

 

 

搜索
bestlong 怕失憶論壇 論壇 Linux iptables 防火牆規則設定檔說明
查看: 18393|回復: 4
go

iptables 防火牆規則設定檔說明 [複製鏈接]

Rank: 9Rank: 9Rank: 9

1#
發表於 2007-11-22 13:32 |只看該作者 |倒序瀏覽 |打印
FC 的 iptables 防火牆設定會存放在 /etc/sysconfig/iptables 中
  1. [root at www.bestlong.idv.tw ~] # more /etc/sysconfig/iptables
  2. # Firewall configuration written by system-config-securitylevel
  3. # Manual customization of this file is not recommended.
  4. *filter
  5. :INPUT ACCEPT [0:0]
  6. :FORWARD ACCEPT [0:0]
  7. :OUTPUT ACCEPT [0:0]
  8. :RH-Firewall-1-INPUT - [0:0]
  9. -A INPUT -j RH-Firewall-1-INPUT
  10. -A FORWARD -j RH-Firewall-1-INPUT
  11. -A RH-Firewall-1-INPUT -i lo -j ACCEPT
  12. -A RH-Firewall-1-INPUT -i eth0 -j ACCEPT
  13. -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
  14. -A RH-Firewall-1-INPUT -p 50 -j ACCEPT
  15. -A RH-Firewall-1-INPUT -p 51 -j ACCEPT
  16. -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
  17. -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
  18. -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  19. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
  20. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
  21. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
  22. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
  23. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
  24. -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
  25. -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
  26. COMMIT
複製代碼
逐項說明如下

使用 setup 設定規則 filter table 中除了預設的 INPUT 、 OUTPUT 及 FORWARD 外再自行建立了 RH-Firewall-1-INPUT。
  1. *filter
  2. :INPUT ACCEPT [0:0]
  3. :FORWARD ACCEPT [0:0]
  4. :OUTPUT ACCEPT [0:0]
  5. :RH-Firewall-1-INPUT - [0:0]
複製代碼
將 INPUT 及 FORWARD 導向 RH-Firewall-1-INPUT 中。
註:INPUT是指進入本機;FORWARD是指由一個介面流向另一個介面(例:eth0 <--> eth1)。
  1. -A INPUT -j RH-Firewall-1-INPUT
  2. -A FORWARD -j RH-Firewall-1-INPUT
複製代碼
完全接受 loopback interface 的封包(主機可以存取本身的所有服務項目)
  1. -A RH-Firewall-1-INPUT -i lo -j ACCEPT
複製代碼
允許主機可以接受 ping 等 icmp 封包
  1. -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
複製代碼
下面這三行與ipv6 有關,(224.0.0.251 is a multicast address ... you can disable it if you don't want to use mdns ...)
可以刪除
  1. -A RH-Firewall-1-INPUT -p 50 -j ACCEPT
  2. -A RH-Firewall-1-INPUT -p 51 -j ACCEPT
  3. -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
複製代碼
網際網路印表機服務
631/tcp # Internet Printing Protocol
631/udp # Internet Printing Protocol
  1. -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
  2. -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
複製代碼
允許連線出去後對方主機回應進來的封包(包括主動式與被動式的ftp連線)。
當主機對外要建立連線時,遠端主機勢必也要回應封包到原主機,所以回應的封包是要被允許的。
-m state --state ESTABLISHED 扮演很重要角色,那就是允許連線出去後對方主機回應進來的封包。
RELATED 配合 ip_conntrack_ftp (ip_nat_ftp)模組
可以針對連入與連外目的 port 為 21 的 ftp 協定命令溝通進行攔截
在 /etc/sysconfig/iptables-config 中加入
IPTABLES_MODULES="ip_conntrack_ftp"
重新啟動 iptables 服務即可載入指定的模組!
  1. -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
複製代碼
允許連線服務的項目(tcp/22、tcp/80、tcp/25、tcp/100、tcp/53、udp/53等)
  1. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
  2. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
  3. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
  4. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
  5. -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
  6. -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
複製代碼
除了允許的服務外其它回應 icmp封包 「icmp-host-prohibited」
每個type所對應的訊息如下:
icmp-net-unreachable => Destination Net Unreachable
icmp-host-unreachable => Destination Host Unreachable
icmp-port-unreachable => Destination Port Unreachable
icmp-proto-unreachable => Destination Protocol Unreachable
icmp-net-prohibited => Dest Unreachable, Bad Code: 9
icmp-host-prohibited => Dest Unreachable, Bad Code: 10
  1. -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
複製代碼
我是雪龍
http://blog.bestlong.idv.tw
http://www.bestlong.idv.tw

Rank: 1

2#
發表於 2010-10-22 16:22 |只看該作者
謝謝大大,解釋的很清楚受益良多,
可是我發現一個問題,當我開啟pop3/imap時會開啟110port/143port,我防火牆將這二port做Reject時,或不新增這二port時,一樣都可以收到。

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j Reject
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j Reject

我試tcp:80 tcp:22 時都ok

是否這二port在iptables是無法檔的

煩請大大不吝指教

Rank: 9Rank: 9Rank: 9

3#
發表於 2010-10-27 09:21 |只看該作者
回復 2# jllua


    要確認修改設定後有重新啟動 iptables 才會生效, 還有測試時要看你是從本機或是遠端做連線測試, 這樣的條件是不一樣的.

Rank: 1

4#
發表於 2010-11-1 17:14 |只看該作者
iptables 有restart
mail是以gmail測試寄一封信至mail server的, 雖然 110port reject ,可是還是收的到耶

不知bestlong大大可否測一下

感恩

Rank: 9Rank: 9Rank: 9

5#
發表於 2010-12-10 13:19 |只看該作者
所提供的資料不足以判斷確切原因

可以的話請將 iptables 的設定內容列出,相關設定檔位置大概如下列表:

/etc/sysconfig/iptables
/etc/sysconfig/iptables-config

或是列出目前設定狀態,可以用指令:

[root at bestlong.idv.tw] iptables -L

以及

[root at bestlong.idv.tw] iptables -L -t nat
‹ 上一主題|下一主題

Archiver|怕失憶論壇

GMT+8, 2024-5-18 17:30 , Processed in 0.012027 second(s), 10 queries .

Powered by Discuz! X1.5

© 2001-2010 Comsenz Inc.