Linux网络防火墙的实现并不难!

发表于:2011-4-28 09:58

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

分享:

  Ipchains(IP链)和IP伪装

  在更新版本的Linux内核中,Ipchains替代Ipfwadm,提供了更为严格的包过滤控制机制。Ipchains提供完整的防火墙功能,包括包过滤、地址伪装、透明代理。

  Linux 2.2内核中提供的Ipchains,通过四类防火墙规则列表来提供防火墙规则控制,这些列表称为防火墙链。它们分别是IP input链(IP输入链)、IP output链(IP输出链)、IP forward链(IP转发链)和user defined链(用户定义链)。一个链实际上就是一个规则表。所谓规则,即当被检测的包头符合规则的定义时,就按预先的设定对该包进行某种处理。输入链是指对内连接请求的过滤规则;输出链是对外连接请求的过滤规则;转发链是对内部与外部通信包转发的过滤规则;用户定义链是用户自己定义的规则。

  当一个数据包进入Linux防火墙系统时,Linux内核使用输入链决定对这个包的操作;如果这个包不被丢弃,内核则使用转发链来决定是否将这个包转发到某个出口;当这个包到达一个出口被发出前,内核使用输出链最后确定是丢弃该包还是转发该包。在上面的过程中,如果输入链已经决定处理这个包,则核心需要决定下一步包应该发到什么地方,即进行路由。假如此时该数据包是发到另一台主机的,则核心就运用转发链;如果没找到匹配的设置,则这个包就需要进入目标值指定的下一条链,此时目标值有可能是一条用户自定义链,也有可能是一个特定的值。例如:

  ACCEPT 允许通过。

  DENY 直接丢弃。

  REJECT 丢弃并通过ICMP回复通知发送者包被丢弃。

  MASQ 通知核心将该包伪装,该值只对转发链和用户自定义链起作用。

  REDIRECT 通知核心将包改送到一个本地端口,该值只对输入链和用户自定义链起作用,并且只有UDP和TCP协议才可以使用该值。 RETURE 通知内核将该包跳过所有的规则,直接到达所有链的链尾。

  在Linux系统IP链的转发链上可以配置IP伪装。实际上,IP伪装是一个比包过滤策略更安全的解决方案,它不仅能够提供一种安全机制,还同时解决了 Internet中IP地址资源不足的问题。IP伪装使一台计算机在访问Internet时,能够将本台机器的真正IP地址伪装成其它地址。如果连接到 Internet上的一台主机具有IP伪装功能,则这台机器不管是通过局域网,还是PPP拨号都可以与Internet连接。尽管在使用PPP时,这样的主机根本没有自己正式的IP地址。

  这说明可以将一台主机隐藏在一个网关后面来访问Internet,使得这台主机既实现了对Internet的访问,又实现了其访问对外界的不可见性(即隐藏性)。显然,这种隐藏性使得系统非常安全,因为外界根本意识不到主机的存在,也就不可能对主机实施存取操作,更不能入侵和破解。通常情况下,使用IANA保留的私有地址来进行伪装。

  在防火墙转发链配置IP伪装后,内部网络上的主机向Internet发送访问IP包时,内核将源IP地址换成网关的IP地址,并记录被伪装的IP地址后再转发该IP包。当这个包的Internet应答包从Internet进入网关时,内核执行去除IP伪装的操作,即将目的地址替换成内部地址。

  通过适当的设置,IP伪装可以在某个网段、某台主机、某个接口、某个协议甚至是某个协议的某些端口上实现,非常灵活。IP伪装可以将内部网络的细节对外部网络屏蔽掉,因此,IP伪装提供了很好的安全性。

  一般来说,安装相应版本的Linux系统时,系统会自动将Ipchains安装上。如果系统没有安装IP链软件包,可以通过光盘或从网上下载软件包来安装。

  如果是rpm包,使用如下命令安装:

  #rpm -ivh *.rpm

  如果是.tar.gz包,则先需要将压缩包解压:

  #tar xvfz *.tar.gz

  然后再到解压后所在目录执行如下命令完成安装:

  #./configure

  #make

  #make install

42/4<1234>
重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号