| VB 源码 | VC 源码 | ASP源码 | JSP源码 | PHP源码 | CGI源码 | FLASH源码 | 素材模板 | C 源程序 | 站长工具 | 站长教程 |

防火墙

木马病毒
黑客技术
系统安全
防火墙
安全防范

本类阅读TOP10

·ARP欺骗技术
·防火墙软件Netfilter之包过滤技术
·使用iptable实现动态防火墙
·用iptales实现包过滤型防火墙(一)
·企业网中用Linux作为路由器
·防火墙软件Netfilter之NAT技术
·基于Linux的路由器和防火墙配置
·一个实用的防火墙配置范例
·用iptales实现包过滤型防火墙(二)
·用ipchains构建防火墙和IP伪装

站内搜索

构建基于ipchains的Linux防火墙

    众所周知,Linux可以作为一个优秀的防火墙软件使用。无论是结合Web或FTP网站使用,还是作为内部LAN的前端服务器,Linux都能够为构造满足用户特殊需求的防火墙提供必需的工具。

   ipchains内建于Linux内核,它是一个在系统之间拒绝、接受、路由数据包的基本防火墙工具。由于有了ipchains,再加上Linux操作系统固有的低成本优势,对于LAN或者连接Internet的企业网防火墙来说,Linux无疑是一种价廉物美的选择。

   防火墙类型

   Linux内核定义了三种类型的防火墙通信过滤,把不同的规则应用到各种通信方式就形成了功能极其广泛的防火墙。三种基本类型如下:

输入防火墙(Input Firewall):所有传入的数据在接收之前都经过输入防火墙规则检查。
输出防火墙(Output Firewall):所有传出的数据在发送之前都经过输出防火墙规则检查。
转发防火墙(Forwarding Firewall):所有转发的数据在发送之前都经过转发防火墙规则检查。
   用户可以自己定义规则(或称为“链”,即chains),其作用相当于对三种基本防火墙规则的扩展。

   防火墙策略

   所有这三种规则类型以及用户定义的附加规则都有默认的策略,默认策略控制系统如何处理到达防火墙的特殊数据包。用户既可以对任何规则使用标准策略,也可以转入另一个用户定义的规则进一步处理。这些标准的策略为:

ACCEPT(接受):允许数据包通过防火墙。
REJECT(驳回):丢弃数据包,并发送一个ICMP错误消息给该数据包的发送者。这里的ICMP是指Internet Control Message Protocol,即Internet控制消息协议。
DENY(拒绝):直接丢弃数据包,不向发送者提供任何错误信息。
MASQ(伪装):伪装(Masquerade)数据包,使其看起来就像来自本地系统一样。当Linux用作路由器时这种策略尤其有用。
REDIRECT(转发):不管数据包的目的地是哪里,把它转发到本地系统的指定端口。
RETURN(返回):该策略只对用户定义规则有效,它是指直接返回调用链。如果在某种内核链上应用该策略,意味着脱离该链并用该链的默认策略取代。


   构造规则链

   ipchains构造规则链的方法相当简单,而且非常灵活。对于任何一个链,用户可以指定一系列选项,包括:

协议类型(TCP,UDP,ICMP或者ALL)。
数据包源地址(格式为:address[/mask] [port[:port]])。
数据包目标地址(格式与源地址相同)。
目标端口号(格式为:port[:port]])。
ICMP包类型(ICMP消息的种类有很多,可以将规则指定到某种特定的类型)。
规则所应用的接口(例如eth0)。
   还有其他一些选项,通过它们可以指定不同类型TCP包的优先级。例如,赋予FTP包比IRC(Internet Relay Chat)包更高的优先级。又如,为某些链提供日志记录;设置更加详细的选项,如包类型、大小等等。

   鉴于ipchains丰富的功能和选项的繁多,构建防火墙可能很简单,也可能异常复杂,这与具体的需求有关。简单的防火墙可以只由4到5个命令组成;复杂的防火墙可以由数百个ipchanins命令组成,锁定一切,只在用户需要的时候打开特定的服务和端口。

   构建好的防火墙是一项非常复杂的工作,我们强烈建议读者参阅www.linux-firewall-tools.com/linux/firewall的Linux Firewall Design Toolkit。它提供了一个简洁而详尽的防火墙在线设计界面,即使不熟悉如何使用ipchains也可用它来生成直接可以使用的防火墙脚本。

   防火墙脚本实例

   下面是一个简单的防火墙脚本。
ipchains -A input -i eth0 -s 192.168.0.0/16 -j REJECT
ipchains -A input -d 192.168.1.5 25 -j ACCEPT
ipchains -A input -d 192.168.1.5.110 -j ACCEPT
ipchains -A input -d 192.168.0.0/16 -syn -j REJECT

 

   该脚本把一些规则添加到输入规则链。第一个规则的意思是,任何到达外部接口的数据包,如果其源地址装扮成来自内部网络(192.168),则丢弃它,这是因为有人试图进行欺骗。接下来两个规则的意思是,接收所有目标地址为192.168.1.5(这是一个邮件服务器,在端口25提供SMTP服务,在端口110提供POP3服务)。最后一个规则的意思是,拒绝所有其他设置了SYN位的传入TCP连接(设置SYN位表示试图初始化一个连接)。

   结束语

   无论是为Linux服务器提供防火墙,还是为内部LAN提供防火墙/路由器,ipchains都能够提供强大的过滤能力。一个配置完善的防火墙所带来的安全和保护是无价的。Linux具有任何希望构造防火墙的人所需要的灵活性和实力,而且它还独具成本低廉的优点。





相关文章
  • 防火墙软件Netfilter之包过滤技术
  • 防火墙软件Netfilter之NAT技术
  • 防火墙技术综述
  • 防火墙分析报告
  • 路由器基础
  • 简易防火墙建置与流量统计之5
  • 简易防火墙建置与流量统计之4
  • 简易防火墙建置与流量统计之3
  • 简易防火墙建置与流量统计之2
  • 简易防火墙建置与流量统计之1
  • 用Linux防火墙构建软路由
  • 用Linux+IPChains代替Windows+WinGate
  • 用iptales实现包过滤型防火墙(二)
  • 用iptales实现包过滤型防火墙(一)
  • 用iptables实现NAT
  • 用ipchains构建防火墙和IP伪装
  • 教你将Linux配置为代理防火墙
  • 恢复IpTables的默认设置(Script)
  • 怎样用ipchains构建防火墙
  • 局域网通过LINUX主机上网手记
  • 相关软件




    月光软件源码下载编程文档电脑教程网站优化网址导航网络文学游戏天地生活休闲写作范文安妮宝贝站内搜索
    电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
    音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

    月光软件站·版权所有