• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Linux防火墻入門:ipchains入門

    發布: 2007-7-04 12:06 | 作者: admin | 來源:  網友評論 | 查看: 18次 | 進入軟件測試論壇討論

    領測軟件測試網
      ipchains 的規則鏈
      以下介紹 ipchains 的基本用法
      ipchains 中的指令,皆需要區分大小寫。
      ipchains 把封包過濾規則分成四個類別,每一個類別可以是許多過濾規則的集合,稱之為 "規則鏈"(chains),而封包過濾的過程,每個封包會進入其所屬的鏈中,進行比對的動作,若某一條規則符合,就執行該規則所指定的目標動作(TARGET),如 DENY/REJECT/ACCEPT/MASQ/REDIRECT/RETURN;若不然,則繼續下一條。
      若所有的規則都不符合,則由預設政策(policy),來決定該封包最后的命運。
      四種規則鏈,如下:
      ·input
      ·output
      ·forward
      ·使用者自訂
      前三者,是內訂就有的鏈。其特性,在課堂上說明之。
      ipchains 使用時的樣板
      在設定 ipchains 的封包過濾規則時,有幾個樣板的動作,若先熟悉它們,往后就可自行套用,依此類推,很快地,您就可以進入這個天地之中。
      觀察目前的設定
      在做設定時,通常我們會用指令來觀察一下現況,作法如下:
      ipchains -L -n
      上述 -n 是指 不要進行 IP 反解的動作, 只顯示數字 IP 即可, 以加快指令的速度。
      定義變數
      以下 $FW_IP 代表防火墻的第一片網卡的 IP,我們以下列來定義之。
      FW_IP="163.26.197.8"
      清除所有的規則
      一開始要先清除所有的規則,重新開始,以免舊有的規則影響新的設定。作法如下:
      ipchains -F
      選定預設的政策
      接著,要選定各個不同的規則鏈,預設的政策為何。作法如下:
      預設全部丟棄
      ipchains -P input DENYipchains -P output DENYipchains -P forward DENY
      或者,預設全部接受
      ipchains -P input ACCEPTipchains -P output ACCEPTipchains -P forward ACCEPT
      各個規則鏈的預設政策可獨立自主的設定,不必受其它鏈的影響。
      以下練習,若目標為 DENY,則 policy 請設為 ACCEPT;若目標為 ACCEPT,則 policy 請設為 DENY,如此方可看出效果。
      開放某一介面
      開放 loopback 介面。作法如下:
      ipchains -A input -i lo -j ACCEPTipchains -A output -i lo -j ACCEPT
      因為 loopback 是 127.0.0.0/8,為 local 測試用途,因此開放。
      ipchains -A input -i eth1 -j ACCEPTipchains -A output -i eth1 -j ACCEPTipchains -A forward -i eth1 -j ACCEPT
      丟棄不合理的封包
      有些封包是不合理的,比如:它的來源,明明是私有IP,卻在連接外部的網卡上,有進出的情況,如此明顯是有人假造的,可能是有心者的入侵攻擊,因此予以丟棄。作法如下:
      ipchains -A input -i eth0 -s 172.16.0.0/12 -j DENY(來自私有B Class IP,卻欲進入 eth0)ipchains -A output -i eth0 -d 172.16.0.0/12 -j DENY(欲輸出,目的地竟是私有 B Class IP)
      在此例中,eth0 是連接對外的網路介面。
      封包偽裝(NAT)
      作法如下:
      echo 1 > /proc/sys/net/ipv4/ip_forwardipchains -A forward -i eth0 -s 172.16.0.0/16 -j MASQ
      上述指令將內部私有 IP 段: 172.16.0.0/16 偽裝為 eth0 的 IP
      效果如下:
      Figure 13. client 和 server 連線圖 (1)
       javascript:window.open(this.src);" style="CURSOR: pointer" onload="return imgzoom(this,550)">
      NAT 的封包改寫動作,其實很簡單。我們以下圖來加以說明:
      假設防火墻第一片網卡的 IP 是 163.26.197.21,內部網路某一主機 IP 是 192.168.1.8,今該內部 PC 欲觀看外部網路某一Web站臺(IP 是 211.22.33.44),其封包改寫偽裝的過程,如下圖所示:
      Figure 14. NAT 機制下封包運作圖
       
      NAT 的改寫動作,不僅是在 IP 及 port 而已,另外像 checksum 等,都要重新計算。
      虛擬主機
      從一部主機的 port 轉向到另一部主機的 port
      作法如下:
      ipchains -A input -p tcp -d $FW_IP 80 -j REDIRECT 8080redir --lport=8080 --caddr=172.16.0.101 --cport=80 &
      上面的意思是說:借用 8080 的 port,使原本要連至 163.26.197.8 Web Server port 80 的封包,轉向到私有 IP 172.16.0.101 的 Web Server port 80,從而達到俗稱 "虛擬主機" 的目的。
      redir 是 redir*.rpm 套件的主程式,為一種轉 port 的工具,可在 ftp.tnc.edu.tw/pub/Sysop/firewall/ 下載。
      拒絕 ping
      有時想拒絕別人 ping 我們的主機。作法如下:(預設 policy 為 ACCEPT)
      ipchains -A input -i eth0 -p icmp -s any/0 8 -d $FW_IP -j DENY
      但我們想 ping 別人,因此接受回應。(預設 policy 為 DENY)
      ipchains -A output -i eth0 -p icmp -s $FW_IP 8 -j ACCEPTipchains -A input -i eth0 -p icmp -s any/0 0 -d $FW_IP -j ACCEPT
      在此例中,$FW_IP 是連接對外的網路介面的 IP。
      開放 "別人"(如 163.26.200.4) 可以 ping 你
      ipchains -A input -i eth0 -p icmp -s 163.26.200.4 8 -d $FW_IP -j ACCEPTipchains -A output -i eth0 -p icmp -s $FW_IP 0 -d 163.26.200.4 -j ACCEPT
      在此例中,$FW_IP 是連接對外的網路介面的 IP。
      ICMP 有幾個常用的 message type
      0 ping response(回應); 3 destination-unreachable ; 4 source-quench ; 5 redirect ; 8 echo-request(ping的要求) ; 11 time-exceeded ; 12 parameter-problem
      拒絕 traceroute
      有時想拒絕別人 traceroute 我們的主機。作法如下:
      注意: 預設 policy 是 ACCEPT 的情況下
      ipchains -A output -i eth0 -p icmp -s $FW_IP 3 -j DENYipchains -A output -i eth0 -p icmp -s $FW_IP 11 -j DENY
      上述作法,最主要的原因是:traceroute 會發出 udp 封包,使中途的主機產生 ICMP Time Exceeded 訊息 (icmp message type 是 11),最后的目的地則會產生 Destination Unreachable 訊息(icmp message type 是 3),因此把對外的 icmp 3 / icmp 11 給擋掉(不回應對方),就可使對方的 traceroute 失效。
      注意:traceroute 發出的封包,大部份情況下,會使用 32769:65535 (or 1024:65535) 及 33434:33523 這二段的 port 范圍,但不是絕對的。因此,欲拒絕別人 traceroute,光只攔掉這二段 port,并不保險。
      上述 traceroute 的運作原理,可由以下記錄檔對照驗證:
      在此記錄檔中,由 163.26.197.253 執行 traceroute 211.22.236.162,中途的路由器全都回應 icmp 11,而目的地 211.22.236.162 則回應 icmp3,每一個路由器之資訊取得,則使用 TTL 原理,皆可由下列記錄檔印證之。
      Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33435 L=38 S=0x00 I=58241 F=0x0000 T=1 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 163.26.197.254:11 163.26.197.253:0 L=66 S=0x00 I=13592 F=0x0000 T=30 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33436 L=38 S=0x00 I=58242 F=0x0000 T=1 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 163.26.197.254:11 163.26.197.253:0 L=66 S=0x00 I=13593 F=0x0000 T=30 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33437 L=38 S=0x00 I=58243 F=0x0000 T=1 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 163.26.197.254:11 163.26.197.253:0 L=66 S=0x00 I=13594 F=0x0000 T=30 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33438 L=38 S=0x00 I=58244 F=0x0000 T=2 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 10.162.66.250:11 163.26.197.253:0 L=56 S=0x00 I=28626 F=0x0000 T=29 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33439 L=38 S=0x00 I=58245 F=0x0000 T=2 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 10.162.66.250:11 163.26.197.253:0 L=56 S=0x00 I=28627 F=0x0000 T=29 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33440 L=38 S=0x00 I=58246 F=0x0000 T=2 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 10.162.66.250:11 163.26.197.253:0 L=56 S=0x00 I=28628 F=0x0000 T=29 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33441 L=38 S=0x00 I=58247 F=0x0000 T=3 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 10.162.82.250:11 163.26.197.253:0 L=56 S=0xC0 I=54471 F=0x0000 T=253 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33442 L=38 S=0x00 I=58248 F=0x0000 T=3 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 10.162.82.250:11 163.26.197.253:0 L=56 S=0xC0 I=54472 F=0x0000 T=253 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33443 L=38 S=0x00 I=58249 F=0x0000 T=3 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 10.162.82.250:11 163.26.197.253:0 L=56 S=0xC0 I=54473 F=0x0000 T=253 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33444 L=38 S=0x00 I=58250 F=0x0000 T=4 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 203.72.191.161:11 163.26.197.253:0 L=56 S=0xC0 I=28243 F=0x0000 T=252 (#13)Feb 12 09:44:04 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1040 163.26.200.1:53 L=73 S=0x00 I=21950 F=0x4000 T=64 (#5)Feb 12 09:44:14 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1040 163.26.200.1:53 L=73 S=0x00 I=21951 F=0x4000 T=64 (#5)Feb 12 09:44:19 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33445 L=38 S=0x00 I=58251 F=0x0000 T=4 (#5)Feb 12 09:44:19 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 203.72.191.161:11 163.26.197.253:0 L=56 S=0xC0 I=28452 F=0x0000 T=252 (#13)Feb 12 09:44:19 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33446 L=38 S=0x00 I=58252 F=0x0000 T=4 (#5)Feb 12 09:44:19 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 203.72.191.161:11 163.26.197.253:0 L=56 S=0xC0 I=28453 F=0x0000 T=252 (#13)Feb 12 09:44:19 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33447 L=38 S=0x00 I=58253 F=0x0000 T=5 (#5)Feb 12 09:44:19 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 192.192.162.1:11 163.26.197.253:0 L=56 S=0xC0 I=50061 F=0x0000 T=251 (#13)Feb 12 09:44:19 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1040 163.26.200.1:53 L=72 S=0x00 I=23471 F=0x4000 T=64 (#5)Feb 12 09:44:19 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=17 163.26.200.1:53 163.26.197.253:1040 L=72 S=0x00 I=493 F=0x0000 T=61 (#13)Feb 12 09:44:19 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1040 163.26.200.1:53 L=72 S=0x00 I=23481 F=0x4000 T=64 (#5)Feb 12 09:44:19 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=17 163.26.200.1:53 163.26.197.253:1040 L=72 S=0x00 I=494 F=0x0000 T=61 (#13)Feb 12 09:44:19 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33448 L=38 S=0x00 I=58254 F=0x0000 T=5 (#5)Feb 12 09:44:19 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 192.192.162.1:11 163.26.197.253:0 L=56 S=0xC0 I=50063 F=0x0000 T=251 (#13)Feb 12 09:44:19 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33449 L=38 S=0x00 I=58255 F=0x0000 T=5 (#5)Feb 12 09:44:19 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 192.192.162.1:11 163.26.197.253:0 L=56 S=0xC0 I=50066 F=0x0000 T=251 (#13)Feb 12 09:44:19 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33450 L=38 S=0x00 I=58256 F=0x0000 T=6 (#5)Feb 12 09:44:19 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 192.192.0.22:11 163.26.197.253:0 L=56 S=0xC0 I=8108 F=0x0000 T=250 (#13)Feb 12 09:44:19 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33451 L=38 S=0x00 I=58257 F=0x0000 T=6 (#5)Feb 12 09:44:19 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 192.192.0.22:11 163.26.197.253:0 L=56 S=0xC0 I=8109 F=0x0000 T=250 (#13)Feb 12 09:44:19 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33452 L=38 S=0x00 I=58258 F=0x0000 T=6 (#5)Feb 12 09:44:19 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 192.192.0.22:11 163.26.197.253:0 L=56 S=0xC0 I=8111 F=0x0000 T=250 (#13)Feb 12 09:44:19 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33453 L=38 S=0x00 I=58259 F=0x0000 T=7 (#5)Feb 12 09:44:20 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 211.22.226.250:11 163.26.197.253:0 L=56 S=0x00 I=0 F=0x0000 T=249 (#13)Feb 12 09:44:20 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33454 L=38 S=0x00 I=58260 F=0x0000 T=7 (#5)Feb 12 09:44:20 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 211.22.226.250:11 163.26.197.253:0 L=56 S=0x00 I=0 F=0x0000 T=249 (#13)Feb 12 09:44:20 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33455 L=38 S=0x00 I=58261 F=0x0000 T=7 (#5)Feb 12 09:44:20 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 211.22.226.250:11 163.26.197.253:0 L=56 S=0x00 I=0 F=0x0000 T=249 (#13)Feb 12 09:44:20 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33456 L=38 S=0x00 I=58262 F=0x0000 T=8 (#5)Feb 12 09:44:20 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 168.95.207.241:11 163.26.197.253:0 L=56 S=0xC0 I=46621 F=0x0000 T=248 (#13)Feb 12 09:44:20 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33457 L=38 S=0x00 I=58263 F=0x0000 T=8 (#5)Feb 12 09:44:20 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 168.95.207.241:11 163.26.197.253:0 L=56 S=0xC0 I=46622 F=0x0000 T=248 (#13)Feb 12 09:44:20 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33458 L=38 S=0x00 I=58264 F=0x0000 T=8 (#5)Feb 12 09:44:20 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 168.95.207.241:11 163.26.197.253:0 L=56 S=0xC0 I=46624 F=0x0000 T=248 (#13)Feb 12 09:44:20 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33459 L=38 S=0x00 I=58265 F=0x0000 T=9 (#5)Feb 12 09:44:20 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 168.95.53.193:11 163.26.197.253:0 L=56 S=0x00 I=41792 F=0x0000 T=56 (#13)Feb 12 09:44:20 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33460 L=38 S=0x00 I=58266 F=0x0000 T=9 (#5)Feb 12 09:44:20 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 168.95.53.193:11 163.26.197.253:0 L=56 S=0x00 I=41796 F=0x0000 T=56 (#13)Feb 12 09:44:20 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33461 L=38 S=0x00 I=58267 F=0x0000 T=9 (#5)Feb 12 09:44:20 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 168.95.53.193:11 163.26.197.253:0 L=56 S=0x00 I=41798 F=0x0000 T=56 (#13)Feb 12 09:44:20 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33462 L=38 S=0x00 I=58268 F=0x0000 T=10 (#5)Feb 12 09:44:20 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 211.22.236.162:3 163.26.197.253:3 L=56 S=0x00 I=58268 F=0x0000 T=141 (#13)Feb 12 09:44:20 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33463 L=38 S=0x00 I=58269 F=0x0000 T=10 (#5)Feb 12 09:44:20 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 211.22.236.162:3 163.26.197.253:3 L=56 S=0x00 I=58269 F=0x0000 T=141 (#13)Feb 12 09:44:20 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33464 L=38 S=0x00 I=58270 F=0x0000 T=10 (#5)Feb 12 09:44:20 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 211.22.236.162:3 163.26.197.253:3 L=56 S=0x00 I=58270 F=0x0000 T=141 (#13)
      若是在 policy 是 DENY 的情況下, 欲開放對外 traceroute,作法如下:
      (把自己發出 udp 封包的范圍,由 32769:65535 放大到 1024:65535)
      ipchains -A output -i eth0 -p udp -s $FW_IP 1024:65535 -d any/0 33434:33523 -j ACCEPT
      然后,必須允許對方回應的 icmp 11 及 icmp 3 能進入我方:
      ipchains -A input -i eth0 -p icmp -s any/0 11 -d $FW_IP -j ACCEPTipchains -A input -i eth0 -p icmp -s any/0 3 -d $FW_IP -j ACCEPT
      在此例中,$FW_IP 是連接對外的網路介面的 IP。
      開放對外 telnet 連線
      作法如下:(預設 policy 為 DENY)
      ipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d any/0 23 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 23 -d $FW_IP 1024:65535 -j ACCEPT
      開放別人對你 telnet 連線
      作法如下:(預設 policy 為 DENY)
      ipchains -A input -i eth0 -p tcp -s any/0 1024:65535 -d $FW_IP 23 -j ACCEPTipchains -A output -i eth0 -p tcp ! -y -s $FW_IP 23 -d any/0 1024:65535 -j ACCEPT
      開放郵件轉遞
      允許對外部主機送信
      作法如下:(預設 policy 為 DENY)
      ipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d any/0 25 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 25 -d $FW_IP 1024:65535 -j ACCEPT
      開放外部郵件主機對你送信
      作法如下:(預設 policy 為 DENY)
      ipchains -A input -i eth0 -p tcp -s any/0 1024:65535 -d $FW_IP 25 -j ACCEPTipchains -A output -i eth0 -p tcp ! -y -s $FW_IP 25 -d any/0 1024:65535 -j ACCEPT
      開放對外部主機取用 POP3
      允許對外部 POP3 主機取信
      作法如下:(預設 policy 為 DENY)
      ipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d any/0 110 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 110 -d $FW_IP 1024:65535 -j ACCEPT
      開放對外部主機觀看網頁
      允許觀看外部主機的網頁內容
      作法如下:(預設 policy 為 DENY)
      ipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d any/0 80 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 80 -d $FW_IP 1024:65535 -j ACCEPT
      開放對外 FTP 連線
      作法如下:(預設 policy 為 DENY)
      ipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d any/0 21 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 21 -d $FW_IP 1024:65535 -j ACCEPT
      開放資料通道
      ipchains -A input -i eth0 -p tcp -s any/0 20 -d $FW_IP 1024:65535 -j ACCEPTipchains -A output -i eth0 -p tcp ! -y -s $FW_IP 1024:65535 -d any/0 20 -j ACCEPT
      Passive Mode FTP 資料通道(適用于瀏覽器)
      ipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d any/0 1024:65535 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 1024:65535 -d $FW_IP 1024:65535 -j ACCEPT
      注意:在 Normal FTP Mode 下,建立資料通道時,是由 FTP Server port 20 回 call client 端喔。
      Figure 15. FTP 的運作模式
       
      右向箭號,代表主動發出封包;左向箭號,代表被動回應。
      Passive FTP Mode 圖中,由 client 主動 call Server,以建立資料通道。
      開放對外 dns 查詢
      作法如下:(預設 policy 為 DENY)
      ipchains -A output -i eth0 -p udp -s $FW_IP 1024:65535 -d DNS的IP 53 -j ACCEPTipchains -A input -i eth0 -p udp -s DNS的IP 53 -d $FW_IP 1024:65535 -j ACCEPT
      若上述查詢過程發生錯誤,會改用 tcp 封包來查詢:
      ipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d DNS的IP 53 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s DNS的IP 53 -d $FW_IP 1024:65535 -j ACCEPT
      允許 DNS 主機去查詢 DNS 主機(peer-to-peer模式)
      ipchains -A output -i eth0 -p udp -s $FW_IP 53 -d DNS的IP 53 -j ACCEPTipchains -A input -i eth0 -p udp -s DNS的IP 53 -d $FW_IP 53 -j ACCEPTipchains -A output -i eth0 -p tcp -s $FW_IP 53 -d DNS的IP 53 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s DNS的IP 53 -d $FW_IP 53 -j ACCEPT
      開放對外 ssh 連線
      作法如下:(預設 policy 為 DENY)
      ipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d any/0 22 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 22 -d $FW_IP 1024:65535 -j ACCEPT
      以下情況,連線時,ssh server 復制自己,而 client 端則重新指定一個特權通道的 port,該 port 由 1023 至 513 遞減的方向去尋,直到找到一個可用的為止。此乃為了支援 .rhost 或 /etc/hosts.equiv
      ipchains -A output -i eth0 -p tcp -s $FW_IP 1020:1023 -d any/0 22 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 22 -d $FW_IP 1020:1023 -j ACCEPT
      上述指令意即:對外僅開放 4 個 client 支援 .rhosts 或 /etc/hosts.equiv 同時連線。
      Figure 16. SSH 的運作模式
      
      右向箭號,代表主動發出封包;左向箭號,代表被動回應。
      記錄檔功能
      只要在上述各指令檔中,加上 -l 的選項,即可在 /var/log/messages 留下封包記錄。
      
      
      

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>