Chinaunix首页 | 论坛 | 博客
  • 博客访问: 267319
  • 博文数量: 47
  • 博客积分: 1516
  • 博客等级: 上尉
  • 技术积分: 507
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-29 09:23
文章分类

全部博文(47)

文章存档

2009年(1)

2008年(3)

2007年(1)

2006年(36)

2005年(6)

分类:

2006-01-25 09:19:27

虚拟主机:

###########################Define HTTP packets####################################

#Allow www request packets from Internet clients to www servers
/sbin/iptables -A FORWARD -p tcp -d 198.168.80.11 --dport www -i eth0 -j ACCEPT

############################Define FTP packets#####################################

#Allow ftp request packets from Internet clients to Intranet ftp server
/sbin/iptables -A FORWARD -p tcp -d 198.168.80.12 --dport ftp -i eth0 -j ACCEPT

###########################Define smtp packets####################################
/sbin/iptables -A FORWARD -p tcp -d 198.168.80.13 --dport smtp -i eth0 -j ACCEPT

7. 处理ip碎片

我们接受所有的ip碎片,但采用limit匹配扩展对其单位时间可以通过的ip碎片数量进行限制,以防止ip碎片攻击。

#################################Define fregment rule##################################
/sbin/iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT


8. 设置icmp包过滤

icmp包通常用于网络测试等,故允许所有的icmp包通过。但是黑客常常采用icmp进行攻击,如ping of death等,所以我们采
limit匹配扩展加以限制:

#################################Define icmp rule##################################
/sbin/iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT


1.内网可以访问外网
    对应的防火墙脚本片段如下:
    /sbin/iptables -t nat -A POSTROUTING -s [内网地址] -d [外网地址] -o eth0 -j SNAT --to [NAT的真实IP]

    当数据从连接外网的eth0流出时,要将来自内网的数据包的源地址改成Internet上的真实IP,这样才能和外网的主机进行通信。“[NAT的真实IP]”表示分配给NAT用户的真实IP,有几个就写几个,以空格分开,但至少要写一个。

    2.内网可以访问DMZ
    对应的防火墙脚本片段如下:
    /sbin/iptables -A FORWARD -s [内网地址] -d [DMZ地址] -i eth2 -j ACCEPT
    以上命令允许所有来自内网、目的地为DMZ的数据包通过。

    3.外网不能访问内网
    对应的防火墙脚本片段如下:
    /sbin/iptables -t nat -A PREROUTING -s [外网地址] -d [内网地址] -i eth0 -j DROP
    以上命令将来自外网、去往内网的数据包全部丢弃。

    4.外网可以访问DMZ
    为了保护DMZ中的服务器,外网对DMZ的访问也要加以限制。通常的思路是,只允许外网访问DMZ中服务器所提供的特定服务,比如HTTP。
    对应的防火墙脚本片段如下:
    /sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -d [分配给HTTP服务器的Internet上的真实IP] -s [外网地址] -i eth0 -j DNAT --to [HTTP服务器的实际IP]
    /sbin/iptables -A FORWARD -p tcp -s [外网地址] -d [HTTP服务器的实际IP] -i eth0 --dport 80 -j ACCEPT
    /sbin/iptables -A FORWARD -p tcp -d [外网地址] -s [HTTP服务器的实际IP] -i eth1 --sport 80 ! --syn -j ACCEPT
    /sbin/iptables -t nat -A PREROUTING -s [外网地址] -d [DMZ地址] -i eth0 -j DROP

    该防火墙脚本片段将开放HTTP服务,使得只有访问DMZ中HTTP服务的数据包才能通过防火墙。

    5.DMZ不能访问内网
    对应的防火墙脚本片段如下:
    /sbin/iptables -A FORWARD -s [DMZ地址] -d [内网地址] -i eth1 -j DROP
    以上命令将丢弃所有从DMZ到内网的数据包。

    6.DMZ不能访问外网
    对应的防火墙脚本片段如下:
    /sbin/iptables -t nat -A POSTROUTING -p tcp --dport 25 -d [外网地址] -s [邮件服务器的IP] -o eth0 -j SNAT --to [分配给SMTP服务器的Internet上的真实IP]
    /sbin/iptables -A FORWARD -p tcp -s [邮件服务器的IP] -d [外网地址] -i eth1 --dport 25 -j ACCEPT
    /sbin/iptables -A FORWARD -p tcp -d [邮件服务器的IP] -s [外网地址] -i eth0--sport 25 ! --syn -j ACCEPT

    以上命令先允许DMZ中邮件服务器连接外网的SMTP服务端口(25),然后禁止其它从DMZ发往外网的数据包。


在/etc/rc.locl中加如

firwall.sh

########firwall.ch#######
读取网卡设置列表,设置

防火墙的初试化

处理ip碎片

设置icmp包过滤

#读取虚拟主机文件列表、设置
对应的防火墙脚本片段如下:
    /sbin/iptables -t nat -A PREROUTING -p tcp --dport 80 -d [分配给HTTP服务器的Internet上的真实IP] -s [外网地址] -i eth0 -j DNAT --to [HTTP服务器的实际IP]
    /sbin/iptables -A FORWARD -p tcp -s [外网地址] -d [HTTP服务器的实际IP] -i eth0 --dport 80 -j ACCEPT
    /sbin/iptables -A FORWARD -p tcp -d [外网地址] -s [HTTP服务器的实际IP] -i eth1 --sport 80 ! --syn -j ACCEPT
    /sbin/iptables -t nat -A PREROUTING -s [外网地址] -d [DMZ地址] -i eth0 -j DROP


读取禁止访问主机列表、设置

读取禁止访问外网主机列表、设置
lan="192.168.1.0/24"
wan="0.0.0.0/0"
wandev="eth0"


        echo  "1" > /proc/sys/net/ipv4/ip_forward
        /sbin/iptables -F
        /sbin/iptables -P FORWARD DROP
        /sbin/iptables -A FORWARD  -s $lan -j ACCEPT
        /sbin/iptables -A FORWARD -i $wandev -m state --state ESTABLISHED,RELATED -j ACCEPT
        /sbin/iptables -t nat -A POSTROUTING -o $wandev -s $wan -j MASQUERADE

阅读(1368) | 评论(0) | 转发(0) |
0

上一篇:oracle在REDHAT AS3下安装

下一篇:quota命令

给主人留下些什么吧!~~