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

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

  • <strong id="5koa6"></strong>
  • 用iptables構建DMZ防火墻

    發表于:2007-05-26來源:作者:點擊數: 標簽:
    用iptables構建DMZ防火墻 zt ---http://www.nsfocus.net/index.php?act=magazinedo=viewmid=1129 用iptables構建DMZ防火墻 一般被保護的內部 網絡 可分成兩部分,一部分是內部通訊區,只允許內部用戶訪問,絕對禁止外部用戶訪問,另一部分是?;饏^DMZ,對外

    用iptables構建DMZ防火墻

    zt ---http://www.nsfocus.net/index.php?act=magazine&do=view&mid=1129

    用iptables構建DMZ防火墻

    一般被保護的內部網絡可分成兩部分,一部分是內部通訊區,只允許內部用戶訪問,絕對禁止外部用戶訪問,另一部分是?;饏^DMZ,對外提供有條件的服務。前者是系統的核心子網,后者易受到外部的攻擊,是一個比較危險的子網環境。一方面要求嚴格保護內部子網,另一方面又要滿足DMZ對外提供服務的需要,因此,必須采用分別保護的策略,對上述兩個區域進行保護。兩個區域要盡量獨立,即使DMZ受到外部攻擊,內部子網仍處于防火墻的保護之下。

    本文介紹利用Linux的iptables工具來建立一個具有DMZ的防火墻。  


    一、軟硬件要求

    充當防火墻的機器是一臺支持iptables的Linux系統,裝有三個網卡。


    二、具體配置

    步驟1:配置內核

    netfilter要求Linux內核版本不低于2.3.5,在編譯新內核時,要求選擇和netfilter相關的項目,這些項目通常都是位于“Networking options”子項下。

    步驟2:環境構造

    這里給出一個用于測試的例子,實際應用可根據具體的情況進行設置。

    對外提供服務的內部主機構成一個?;饏^(假設分配的網段為192.168.1.0/24),防火墻的兩個網卡eth1、eth2分別通過hub1、hub2與?;饏^、內部通訊區相連,另一個網卡eth0通過直連線(或hub)與路由器的網卡eth1相連,路由器的另一網卡eth0通過一個hub與外部通訊區相連。如圖所示。



    路由器增加以下設置:

    route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.9.200.2
    arp -i eth1 -Ds 192.168.1.1 eth1 pub

    防火墻的設置為:

    route add default gw 192.168.1.1
    route add -host 192.168.1.1 gw 192.168.1.2
    route add -net 192.169.1.0 netmask 255.255.255.0 gw 192.168.1.3 eth1

    ?;饏^主機的網關設為防火墻的網卡eth1地址192.168.1.3。
    外部主機的網關設為路由器的外網卡eth0地址10.0.0.1。
    內部主機的網關設為路由器的內網卡eth2地址168.1.1.1。

    步驟3:建立規則

    在防火墻上創建如下腳本并運行之。

    #!/bin/sh

    ######## default firewall rules-deny all ########
    iptables -P INPUT DROP
    iptables -P OUTPUT DROP
    iptables -P FORWARD DROP


    ###############################################
    # Rules between EXTERNAL LAN and INTERNAL LAN #
    ###############################################
    ######## masquerade INTERNAL Address to xx.xx.xx.xx when going out ########
    iptables -t nat -A POSTROUTING -s 168.1.1.0/24 -d 10.0.0.0/24 -o eth0 -j SNAT --to xx.xx.xx.xx

    ######## deny all from EXTERNAL LAN to INTERNAL LAN directly ########
    iptables -t nat -A PREROUTING -s 10.0.0.0/24 -d 168.1.1.0/24 -i eth0 -j DROP


    ######################################
    # Rules between DMZ and INTERNAL LAN #
    ######################################
    ######## allow INTERNAL LAN to DMZ ########
    iptables -A FORWARD -p icmp -s 168.1.1.0/24 -d 192.168.1.0/24 -m limit --limit 1/s --limit-burst 10 -j ACCEPT
    iptables -A FORWARD -s 168.1.1.0/24 -d 192.168.1.0/24 -i eth2 -j ACCEPT

    ######## forbid DMZ to INTERNAL LAN except following instance ########
    iptables -A FORWARD -p tcp -s 192.168.1.0/24 -d 168.1.1.0/24 ! --syn -i eth1 -j ACCEPT
    iptables -A FORWARD -p tcp -s 192.168.1.0/24 --sport 20 -d 168.1.1.0/24 -i eth1 -j ACCEPT
    iptables -A FORWARD -p icmp --icmp-type 0 -s 192.168.1.0/24 -d 168.1.1.0/24 -m limit --limit 1/s --limit-burst 10 -j ACCEPT
    iptables -A FORWARD -p udp -s 192.168.1.0/24 -d 168.1.1.0/24 --sport 53 -j ACCEPT


    ######################################
    # Rules between EXTERNAL LAN and DMZ #
    ######################################
    ### allow EXTERNAL LAN to DMZ but deny all from EXTERNAL LAN to DMZ directly ###
    iptables -t nat -A PREROUTING -s 10.0.0.0/24 -d 192.168.1.0/24 -i eth0 -j DROP

    ### REAL_XX is real address of XX server in DMZ ###
    ### MASQ_XX is the masquaded address of REAL_XX supplied to EXTERNAL LAN ###

    ######## allow DNS service ########
    iptables -t nat -A PREROUTING -p udp -d MASQ_DNS -s 10.0.0.0/24 --dport 53 -i eth0 -j DNAT --to REAL_DNS
    iptables -A FORWARD -p udp -s 10.0.0.0/24 -d REAL_DNS -i eth0 --dport 53 -j ACCEPT
    iptables -A FORWARD -p udp -d 10.0.0.0/24 -s REAL_DNS -i eth1--sport 53 -j ACCEPT
    iptables -t nat -A PREROUTING -p tcp -d MASQ_DNS -s 10.0.0.0/24 --dport 53 -i eth0 -j DNAT --to REAL_DNS
    iptables -A FORWARD -p tcp -s 10.0.0.0/24 -d REAL_DNS -i eth0 --dport 53 -j ACCEPT
    iptables -A FORWARD -p tcp -d 10.0.0.0/24 -s REAL_DNS -i eth1 --sport 53 ! --syn -j ACCEPT

    ######## allow HTTP service ########
    iptables -t nat -A PREROUTING -p tcp --dport 80 -d MASQ_HTTP -s 10.0.0.0/24 -i eth0 -j DNAT --to REAL_HTTP
    iptables -A FORWARD -p tcp -s 10.0.0.0/24 -d REAL_HTTP -i eth0 --dport 80 -j ACCEPT
    iptables -A FORWARD -p tcp -d 10.0.0.0/24 -s REAL_HTTP -i eth1 --sport 80 ! --syn -j ACCEPT

    ######## allow FTP service ########
    iptables -t nat -A PREROUTING -p tcp --dport 21 -d MASQ_FTP -s 10.0.0.0/24 -i eth0 -j DNAT --to REAL_FTP
    iptables -A FORWARD -p tcp -s 10.0.0.0/24 -d REAL_FTP -i eth0 --dport 21 -j ACCEPT
    iptables -A FORWARD -p tcp -s REAL_FTP -d 10.0.0.0/24 -i eth1--sport 20 -j ACCEPT
    iptables -A FORWARD -p tcp -d 10.0.0.0/24 -s REAL_FTP -i eth1--sport 21 ! --syn -j ACCEPT
    ......
    ### You can add other services in DMZ here such as TELNET、SMTP、 POP3 & IMAP etc. ###
    ......
    ######## deny DMZ to EXTERNAL LAN except to external smtp server ########
    iptables -t nat -A POSTROUTING -p tcp --dport 25 -d 10.0.0.0/24 -s REAL_SMTP -o eth0 -j SNAT --to MASQ_SMTP
    iptables -A FORWARD -p tcp -s REAL_SMTP -d 10.0.0.0/24 -i eth1 --dport 25 -j ACCEPT
    iptables -A FORWARD -p tcp -d REAL_SMTP -s 10.0.0.0/24 -i eth0--sport 25 ! --syn -j ACCEPT

    通過以上步驟,具有DMZ的防火墻達到了以下目標:

    1.內部通訊區可以無限制的訪問外部通訊區以及DMZ,但訪問外部通信區時防火墻進行了源地址轉換。
    2.外部通訊區可以通過對外公開的地址訪問DMZ的服務器,由防火墻完成對外地址到服務器實際地址的轉換。
    3.外部通訊區不能訪問內部通訊區以及防火墻。
    4.DMZ不可以訪問內部通訊區。
    5.除外部通訊區郵件服務器外,DMZ不能訪問外部通訊區

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品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>