◆杨泽明
(苏州工业园区职业技术学院 江苏 215123)
Netfilter/Iptables在高级技师考试中应用及探索
◆杨泽明
(苏州工业园区职业技术学院 江苏 215123)
本文作者参加江苏省计算机管理高级技师考试中出现有关数据安全、网络安全管理与服务器系统运行维护考核内容分析,提出相应的解决方案,进而分析Linux2.4内核中采用Netfilter/Iptables中小型企业中的应用与实践,本文实现基于Netfilter/Iptables的防火墙架构,结构清晰、开发成本低、配置灵活、功能强大等特点,加上 Linux 本身所具备的较高的安全性,适合于中小型规模网络应用。
Netfilter/Iptables;工作原理;实例案例;解决方案
随着互联网技术的应用与发展,QQ、微信等实时通讯应用越来越普及,网络安全信息管理已成为网络管理中日益突出的问题。Linux内核从linux2.2就已经有了内核防火墙ipchains,基本实现了包过滤、地址伪装等功能,而从Linux2.4的内核中又采用全新的Netfilter/Iptables 框架,使网络层和防火墙在结构上十分清楚,防火墙代码修改和扩充更加容易。Netfilter提供可扩展的结构化底层框架,在此框架之上实现的数据包选择工具 Iptables负责对输入、输出的数据包进行过滤和管理等工作。Netfilter/iptables 是集成在Linux2.4 的内核中,是防火墙的核心部分,也是一个通用架构,它包含一系列的“表”(tables),每个表许多“链”(chains)构成,而每条链可以由一条或数条“规则”(rule)构成,包过滤处理正是由这些规则来控制的。在Netfilter /iptables中,使用表(链)中的INPUT、OUTPUT 和FORWARD数据包过滤规则。将数据包送到本地主机的输入规则链或是转发规则链是由入站数据包是否需要经过路由决定的。
Netfilter 防火墙的工作原理:
Netfilter 在整个网络流程的若干位置放置了一些检测点,每个检测点上都登记了一些处理函数,这些函数将对流经此处的数据包进行处理,如包过滤、NAT 等。同一个检测点上的处理函数注册在同一个链上。Netfilter 预定义有五个链:
(1)PREROUTING:数据包进入网络协议栈后经过的第一个链;
(2)POSTROUTING:数据包即将离开协议栈经过的最后一个链;
(3)FORWARD:数据包在转送的时候将经过该链;
(4)INPUT:到达本机的数据包将经过该链;
(5)OUTPUT:离开本机的数据包将经过该链。
Netfilter 的另一部分是知道这些钩子函数如何工作的一套规则,Netfilter 将这些规则分类存储在被称为表的数据结构之中,常用的表有:
(1)conntrack:连接跟踪表,用来跟踪和记录连接状态。
(2)filter:过滤表,过滤数据包,对数据包不作任何修改,或接受,或拒绝。
(3)Nat:网络地址转换表。
(4)Mangle:重组表,在这里可以对数据包进行修改和标记。钩子函数通过访问表来判断应该返回什么值给内核。
在江苏省计算机网络管理员高级技师考试中,出现有关数据安全、网络安全管理与服务器系统运行维护考核内容如下:
1.1 数据安全、网络安全管理与服务器系统运行维护
在Linux下使用iptable作防火墙,设置以下规则:
(1)禁止ip 地址192.168.1.5 从eth0访问本机,截图保存为1.jpg。
图1 截图1
(2)禁止子网192.168.5.0 从eth0访问本机的web服务,截图保存为2.jpg。
图2 截图2
(3)禁止ip地址192.168.7.9从eth0访问本机的ftp服务,截图保存为3.jpg。
图3 截图3
1.2 数据安全、网络安全管理与服务器系统运行维护
在Linux上使用iptable实现NAT服务,并设置以下规则:
(1)禁止所有客户机使用qq,截图保存为4.jpg。
假设QQ软件采用的 tcp/udp 协议进行传输数据,端口通常采用的是8000,所以:
图4 截图4
(2)禁止Internet上的计算机通过icmp协议ping 到Linux服务器的pppoe接口,截图保存为5.jpg。
图5 截图5
(3)发布内网192.168.2.5主机的 web 服务到Internet,截图保存为6.jpg。
图6 截图6
(4)禁止用户访问域名为 www.playboy.com的网站,截图保存为7.jpg。
图7 截图7
(5)在linux上实现智能的dns服务,截图保存为8.jpg。关于实现智能的dns服务,主要是为了实现负载均衡。
如果内部服务器存在多台相同类型应用的服务器,可以使用DNAT,将外部的访问流量分配到多台Server上,实现负载均衡,减轻服务器的负担。有如下场景:
公司内部共有3台数据相同的Web服务器,IP地址分别为192.168.0.10、192.168.0.11以及192.168.0.12,防火墙外部地址为212.226.100.23,为了提高页面的响应速度,需要对Web服务器进行优化。
图8 截图8
案例分析:苏州热拍网络公司企业员工80-100 人左右,采用单台防火墙即能满足企业网络需求,可以把企业网络按以下思路进行设计。防火墙把网络分成三块:eth0 连接互联网(Internet),eth1 连接内部网(Intranet),eth2 连接 DMZ。假如出口的 IP 为静态的,地址为 10.1.1.1/8,出口的下一跳为10.1.1.2/8,内网的 IP 地址为 172.17.1.0/24,内网的网关为172.17.1.254/24,DMZ 的 IP 地址为 172.17.8.0/24,DMZ的 网关 为 172.17.8.254/24,Web 服 务 器 的 IP 地 址 为172.17.8.80/24,FTP 服务器的 IP 地址为 172.17.8.21/24。
配置防火墙的思路步骤如下:
(1)清空防火墙默认配置:[root@compute~]#iptables -F
(2)配置防火墙的 IP 地址,修改以让其临时生效。
(3)在防火墙上启用路由
(4)在防火墙上配置 SNAT,让内网用户上网
(5)在防火墙上配置 DNAT,让外网的用户能访问到 DMZ的WEB 与 FTP 服务器
本文通过对我省计算机网络管理高级技师考试题的分析,引出设计了中小型企业网络防火墙设计解决方案。防火墙作为互联网中使用最广泛的安全措施之一,应用广泛。而 Linux 作为目前唯一在全球范围内广泛接受和应用的开源操作系统,所提供的灵活性和可操作性为开发和配置防火墙及按特定网络环境的要求构建防火墙提供了一个价格低廉、性能优良的平台,日益受到众多企业和个人用户的广泛接受。防火墙技术是网络安全中的一大关键技术,在Internet的发展中,防火墙技术的发展起到了举足轻重的作用。
[1]2016年江苏省计算机网络管理高级技师样题.
[2]杨云,马立新.网络服务器搭建、配置与管理—Linux版[M].北京:人民邮电出版社,2011.
[3]陈勇勋.Linux网络安全技术与实现(第2 版)[M].北京:清华大学出版社,2012.