{项目管理项目报告}Linux互联网技术项目10Linux防火墙实现——iptables1

上传人:精****库 文档编号:141145813 上传时间:2020-08-04 格式:PPTX 页数:59 大小:544.72KB
返回 下载 相关 举报
{项目管理项目报告}Linux互联网技术项目10Linux防火墙实现——iptables1_第1页
第1页 / 共59页
{项目管理项目报告}Linux互联网技术项目10Linux防火墙实现——iptables1_第2页
第2页 / 共59页
{项目管理项目报告}Linux互联网技术项目10Linux防火墙实现——iptables1_第3页
第3页 / 共59页
{项目管理项目报告}Linux互联网技术项目10Linux防火墙实现——iptables1_第4页
第4页 / 共59页
{项目管理项目报告}Linux互联网技术项目10Linux防火墙实现——iptables1_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《{项目管理项目报告}Linux互联网技术项目10Linux防火墙实现——iptables1》由会员分享,可在线阅读,更多相关《{项目管理项目报告}Linux互联网技术项目10Linux防火墙实现——iptables1(59页珍藏版)》请在金锄头文库上搜索。

1、Linux 网络管理,项目引入,在Internet网络世界漫游,随时都可能遭到各种恶意攻击,这些恶意攻击可能导致的后果是上网账号被窃取冒用、银行账号被盗用、电子邮件密码被修改、财务数据被利用、机密文件丢失、隐私曝光等等,甚至黑客通过远程控制删除硬盘上所有的资料数据,使整个计算机系统架构全面崩溃。幸运的是,我们可以通过使用防火墙来降低这些风险。 防火墙旨在检查往来于 Internet 间的信息。对于连接到网络上的 Linux 系统来说,防火墙是必不可少的防御机制,它只允许合法的网络流量进出系统,而禁止其它任何网络流量。 “netfilter/iptables IP 信息包过滤系统”是集成到 Li

2、nux 内核的防火墙解决方案。Linux核心里的netfilter子系统除了完成的网络防火墙功能,还可以进行网络地址转换(NAT)、数据包(package)记录、流量统计等。iptables是用户操作netfilter的唯一工具接口。为叙述便利,以下叙述将不严格区分iptables与 netfilter。,项目环境,图是一种常见的网络环境拓扑图。本项目主要围绕主机Linux 防火墙/路由器构建进行设计,本项目中在 “Linux 防火墙/路由器”主机安装3块网卡。一块网卡(Linux系统识别为eth0,IP地址为192.168.0.5)连接网段为192.168.0的局域网(LAN);另一块网卡(

3、系统识别为eth1,IP地址为192.168.1.166)连接网段为192.168.1的局域网;第3块网卡(系统识别为eth2,IP地址可以为公网地址,也可以是上层局域网地址,本项目采用一个假设公有地址220.88.88.88)连接Internet或上层局域网。,项目10 Linux防火墙实现iptables,基本任务: 1)使用 iptables搭建简单防火墙; 2)使用ufw防火墙。 拓展任务: 1)构建一个更完善的防火墙; 2)网络地址转换(NAT); 3)iptables与Squid透明代理; 4)使用FireStarter防火墙。,任务1使用 iptables搭建简单防火墙,本任务主

4、要构建能够完成访问外部资源,但不提供服务的Linux桌面型主机安全策略。对常见的网络环境中选取一部分并简化作为任务实验环境,如图所示,局域网环境是通过上层LAN而不是直接连接Internet,构造如此环境并不影响测试。,iptables是通过一些规则、策略构成的表对通过数据包进行处理。iptables的语法相当多,可以分为规则清除,定义策略,添加,插入、删除规则等几种。以下将依照搭建防火墙的过程(规则清除定义策略添加、插入、删除规则保存规则)进行。 1.查看当前iptables信息 iptables內建三个表:filter、nat以及mangle,每个表都被预先设置了一或多个代表各拦截点的链,

5、其中filter预设的三个INPUT、FORWARD、OUTPUT链。对iptables设置规则实质是对iptables表的链设置规则,更详细的参考后文归纳说明部分或其他资料。 在做进一步操作之前,我们先查看iptables表信息,初步了解iptables。,1)查看filter表信息。 使用“iptables L”默认是查看表filter的链。在“Linux 防火墙/路由器”主机输入如下(如果没有特殊说明,以下都将在“Linux 防火墙/路由器”进行操作)。,2)查看nat表的规则。 从上看出Linux系统nat表有PREROUTING、POSTROUTING、OUTPUT链,默认策略对于任

6、何包也都接受,并没有设置规则。,3)查看nat表的详细信息。,2.规则清除,一般设置iptables之前,首先要清除所有以前设置的规则。虽然很多情况下它什么也不做,但是保险起见,不妨小心一点吧。,3.定义策略,规则清除后,接下来就是对链定义策略,策略就是当链的规则都相符是数据包的默认动作。从上面查看表信息得知,iptables表的链没有设置规则,且对任何数据包的策略都是接受的。显然,这是一种过于宽松的防火墙。 1)定义策略之前检查网络连通性,2)定义filter表的INPUT链策略 首先,定义一个非常严格的策略。 studentubuntu:$ sudo iptables -P INPUT D

7、ROP / 设置Filter的INPUT链策略为丢弃所有包 INPUT链是处理那些进入Linux主机的数据包。上命令将会为构建一个非常“安全”的防火墙,很难有哪个黑客(hacker)能攻破这样的主机,因为它将所有从网络想进入你主机的数据丢弃(drop) 了。这当然是安全过头了,此时主机将相当于没有网络。,3)检测配置 如果ping 127.0.0.1,就会发现屏幕一直停在那里,因为ping收不到任何回应,必须按“Ctrl+C”强行终止。,4)定义其他链策略 虽然Ubuntu系统其他链默认策略为允许所有包,但保险起见还是重新设置。,4.定义规则,1)连通局域网 通过上面定义的策略,Linux主机

8、就好比是一个没有网卡的主机。以下的规则将使主机能够与局域网连通。 studentubuntu:$ iptables -A INPUT -i ! eth1 -j ACCEPT这条规则的意思是:接受所有来源不是网络接口eth1的数据。前面已经说明,Linux主机有三块网卡,因此将有四个网络接口:eth0、eth1分别连接不同局域网,loop是回环网(localhost),eth2连接internet或上层网络接口(如果是采用在是adsl上网,规则修改为“iptables -A INPUT -i ! ppp0 -j ACCEPT),因此添加上述规则,即允许了局域网的访问,当然也可以访问lo接口。,2

9、)检测 测试回环地址与局域网其他主机。 结果显示通过主机与eth0接口连接的局域网络连通。,4)打开dns端口 使用IP地址能够访问,而使用域名出问题了,问题肯定就出现在域名解析上。因为域名解析使用与Web不同的端口,因此要打开端口53。 studentubuntu:$ sudo iptables -A INPUT -i eth1 -p udp -sport 53 -j ACCEPT 注意,域名解析使用的是udp协议。 查看Filter表信息,显示如下。,在主机浏览器中再使用IP地址与域名测试,图12.8所示是测试显示结果,其中上部分是直接使用IP地址,下半部分是使用域名。,5.存储/恢复ip

10、tables表,iptables设置的规则在系统重新启动后将消失,因此必须进行规则保存。 studentubuntu:$ sudo sh -c iptables-saveiptabels-rule“ iptables-save是存储规则的命令,但默认是在屏幕显示,因此要使用输出重定向符定向到文件。 如果要恢复保存的规则,如下。 studentubuntu:$ sudo sh -c iptables-restoreiptabels-rule,任务2使用ufw防火墙,ufw是Ubuntu下的一个简易的防火墙配置工具,底层还是调用iptables来处理的,虽然功能较简单,但对桌面型应用来说比较实用,

11、基本常用功能都有,使用也较为容易。 演示,相 关 知 识,iptables机制 iptables能够为Linux个人计算机系统创建一个防火墙,也可以为一个子网创建防火墙以保护其它的系统平台。iptables只读取数据包头,不会给信息流增加负担,也无需进行验证。,相 关 知 识,1.表、拦截点、链 iptables将许多组繁杂的规则集成组织成容易管理的形式,以便管理员可以进行分组测试,或关闭、启动某组规则。Linux核心的包处理流程中,共设置了五个拦截点 (hook points),分别是PREROUTING、INPUT、FORWARD、POSTROUTING以及OUTPUT。內建链只能作用在这

12、些拦截点;可以针对每个拦截点设置一系列处理规则,每条规则各代表一次影响(或监测)包处理流程的机会。 拦截点的作用,以及各拦截适合处理的包类型,见表。,另一面,为用户操作方便,iptables依据应用內建三个表:filter、nat以及mangle,每个表都被预先设置了一或多个代表各拦截点的链。例如,filter预设的三个FORWARD、 INPUT 、OUTPUT链。 这三个內建表的作用,参考表 拓展:我们常看到很多资料有着“nat表格的PREROUTING链”这样的提法,隐喻着链是属于表格。然而,链与表格两者之间并没有统属关系,最多只有隐讳的关联性而已。链(chains)的真正含意是“包(p

13、ackage)路径上的拦截点”,而表格(tables)则是象征“处理效果”。然而,为了表达上的方便,这里仍免不了出现“某表格的某链”之类的表述。,图10.6、10.7、10.8所示分別展示了表与链的三种有效组合,以及各种组合所象征的包处理流程。其中图12.6所示是包经过“网络地址转换”(NAT)的流程,相关链是作用于nat表。 图10.7所示是包流经“包过滤系统”的流程,相关链是作用于filter(过滤)表。 图10.8所示是包流经“包内容调整系统”的流程,相关链是作用于mangle表。但为了讲述简便,本书将不详细介绍mangle表。,图10.6 nat表与相关链,图10.7 filter表与

14、相关链,图10.8mangle表与相关链,2.包(package)的流程,当包流经链时,必须依序通过该链里每一条规则的检验。若包符合某条规则的“筛选条件”(match),则将包交给该规则的“目标”(target)来处理,否则,就继续由同链里的下一条规则予以检验。倘若包顺利通过链里的所有规则(不符合任何规则的筛选条件),则以链结的“策略”。 包实际会经过哪些链,取决于包本身的性质(转交、输入、输出、绕回),表12.3到表12.6分別列出各种性质包的路径顺序。图12.6、图12.7和图12.8所示是单看特定表时,包如何通过该表各链的详细流程。,iptables语法,iptables 的语法相当的多

15、,这些语法分成规则清除、定义政策以及新增与插入规则、三部分来说明 1.清除规则与观察规则 1)观察规则 iptables 在一开始的时候,应该是没有规则的,不过,也可能在安装的时候就有选择系统自动帮您建立防火墙机制,此时系统就会有预设的防火墙规则。 查看规则命令格式: iptables -t tables -L -n 参数说明: -t:后面接 iptables 的 table ,例如 nat 或 filter ,如果没有 -t table,那么默认就是 -t filter 这个 table ; -L:列出目前的 table 的规则; -n:不进行 IP 与 HOSTNAME 的转换,屏幕显示讯

16、息的速度会快很多。 -v 显示规则详细信息。,2)清除规则,清除规则命令格式: iptables -t tables -FXZ 参数说明: -F :清除所有的已订定的规则; -X :杀掉所有使用者建立的chain (应该说的是tables); -Z :将所有的链的计数与流量统计都清零。 例,清除filter表规则 studentubuntu:$ sudo iptables F /清除默认表filter所有的设置规则 studentubuntu:$ sudo iptables X /删除表filter中用户建立的链 studentubuntu:$ sudo iptables Z /将表filter计数与流量统计都清零 请注意,如果在远程连机的时候管理iptables,这三个指令必须要用 scripts 来连续执行,不然肯定会让被主机挡在门外。,2.定义政策,定义规则命令格式: iptables

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号