基于Linux系统的包过滤防火墙(7)

来源:asp之家 时间:2009-09-19 20:21:00 

→ WWW服务器:IP地址为198.168.80.251

→ FTP服务器:IP地址为198.168.80.252

→ E-mail服务器:IP地址为198.168.80.253

3.1.2 防火墙的建立过程

本例主要是对内部的各种服务器提供保护。下面采用编辑并执行可执行脚本的方法建立此防火墙。具本过程如下:

#!/sbin/bash

#在屏幕上显示信息

echo "Starting iptables rules..."

#开启内核转发功能

echo "1">;/proc/sys/net/ipv4/ip_forward

#定义变量

IPT=/sbin/iptables

WWW-SERVER=198.168.80.251

FTP-SERVER=198.168.80.252

EMAIL-SERVER=198.168.80.253

IP_RANGE="198.168.80.0/24"

#刷新所有的链的规则

$IPT -F

#首先禁止转发任何包,然后再一步步设置允许通过的包

#所以首先设置防火墙FORWARD链的策略为DROP

$IPT -P FORWARD DROP

#下面设置关于服务器的包过滤规则

#由于服务器/客户机交互是双向的,所以不仅仅要设置数据包

#出去的规则,还要设置数据包返回的规则

#

#(1)WWW服务

#服务端口为80,采用tcp或udp协议

#规则为eth0=>;允许目的为内部网WWW服务器的包

$IPT -A FORWARD -p tcp -d $WWW-SERVER-dport www -i eth0-jACCEPT

#

#(2)FTP服务

#服务端口为21,数据端口20

#FTP的传输模式有主动和被动之分,FTP服务采用tcp协议

#规则为:eth0=>;仅允许目的为内部网ftp服务器的包

$IPT -A FORWARD -p tcp -d $FTP-SERVER -dport ftp -i eth0-jACCEPT

#

# (3)EMAIL服务

#包含两个协议,一个是smtp,另一个是pop3

#出于安全性考虑,通常只提供对内的pop3服务

#所以在这里我们只考虑对smtp的安全性问题

#smtp端口为25,采用tcp协议

#规则为etho=>;仅允许目的为E-mail服务器的smtp请求

$IPT -A FORWARD -p tcp -d $EMAIL-SERVER-dport smtp -i eth0-jACCEPT

#

# 2.下面设置针对Internet客户的过滤规则

#本例中防火墙位于网关的位置,所以主要是防止来自Internet的攻击

#不能防止来自Intranet的攻击

#假如网络中的服务器都是基于Linux的,也可以在每一部服务器上设置

#相关的过滤规则来防止来自Internet的攻击

#对于Internet对Intranet客户的返回包,定义如下规则

#

#(1)允许Intranet客户采用被动模式访问Internet的FTP服务器

$IPT -A FORWARD -p tcp -s 0/0 --sport ftp-data -d $IP_RANGE-ieth0 -j ACCEPT

#

#(2)接收来自Internet的非连接请求tcp包

$IPT -A FORWARD -p tcp -d 198.168.80.0/24 ! --syn -i eth0-jACCEPT

#

#(3)接收所有udp包,主要是针对oicq等使用udp的服务

$IPT -A FORWARD -p udp -d 198.168.80.0/24 -i eth0 -j ACCEPT

#

#3.然后接受来自整个Intranet的数据包过滤,我们定义如下规则

$IPT -A FORWARD -s 198.168.80.0/24 -i eth1 -j ACCEPT

#

#处理ip碎片

#接受所有的ip碎片,但采用limit匹配扩展对其单位时间可以通过的

#ip碎片数量进行限制,以防止ip碎片攻击

$IPT -A FORWARD -f -m limit-limit 100/s-limit-burst 100-jACCEPT

#说明:对不管来自哪里的ip碎片都进行限制,允许每秒通过100个ip碎片

#该限制触发的条件是100个ip碎片

#

#设置icmp包过滤

#ipmp包通常用于网络测试等,故允许所有的icmp包通过

#但是黑客常常采用icmp进行攻击,如ping of death等

#所以我们采用limit匹配扩展加以限制

$IPT -A FORWARD -p icmp -m limit-limit 1/s-limit-burst 10-jACCEPT

#说明:对不管来自哪里的icmp包都进行限制,允许每秒通过一个包

#该限制触发的条件是10个包

标签:防火墙,linux
0
投稿

猜你喜欢

  • Linux精华 Tomcat配置技巧详解分析

    2010-05-07 18:01:00
  • 谷歌是如何做代码审查的

    2011-08-05 19:04:02
  • 活用DedeCms进行SEO优化全攻略

    2009-04-04 12:45:00
  • 美国 Lunarpages等六大主机空间的特点综述

    2010-03-22 08:45:00
  • 合理配置DNS 内网外网访问两不误

    2010-02-20 19:16:00
  • 网站成功的关键在于“定位”

    2008-08-15 13:01:00
  • GoDaddy:Redeeming Standard Single Domain SSL证书

    2010-04-24 12:46:00
  • cpanel-wordpress博客换域名教程

    2011-08-02 19:24:13
  • rancher下的kubernetes之构建标准化vmware镜像的方法步骤

    2022-02-24 11:33:18
  • 在FeedSky中显示AdSense for Feeds

    2008-09-08 12:55:00
  • Apache中配置支持CORS(跨域资源共享)实例

    2023-08-22 06:11:03
  • VMWare12 下Ubuntu虚拟机没法通过长按方向键连续移动光标的解决办法

    2021-10-08 00:24:18
  • VMware网络连接模式(桥接、NAT以及仅主机模式的详细介绍和区别)

    2022-02-14 03:57:22
  • 链接诱饵案例 从一个留言插件引发的思考

    2009-02-19 10:20:00
  • GoDaddy:什么是.htaccess Godaddy

    2010-04-22 12:37:00
  • VMware vSphere所需要开放的端口清单

    2022-07-23 16:27:20
  • 详解在Linux中怎么使用cron计划任务

    2021-04-10 19:14:53
  • 从关键词分析看百度算法

    2009-09-14 19:11:00
  • DISCUZ架构:AJAX之ajax.js 函数之三

    2009-02-14 08:19:00
  • Photoshop官方提供2G可外链的免费相册

    2009-07-30 13:03:00
  • asp之家 网站运营 m.aspxhome.com