网络安全实验7 防火墙 & Iptables应用

赞赏码 & 联系方式 & 个人闲话

【实验名称】 防火墙 & Iptables应用      

 

【实验目的】

1.了解防火墙的含义与作用

2.学习防火墙的基本配置方法

3.理解iptables工作原理

4.熟练掌握iptables包过滤命令及规则

 

【实验原理】

一.防火墙

    在古代,人们已经想到在寓所之间砌起一道砖墙,一旦火灾发生,它能够防止火势蔓延到别的寓所,于是有了“防火墙”的概念。

    进入信息时代后,防火墙又被赋予了一个类似但又全新的含义。防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合。它是不同网络或网络安全域之间信息的唯一出入口,能根据企业的安全政策控制(允许、拒绝、监测)出入网络的信息流,且本身具有较强的抗攻击能力。它是提供信息安全服务,实现网络和信息安全的基础设施。在逻辑上,防火墙是一个分离器、一个限制器、也是一个分析器,有效地监控了内部网络和Internet之间的任何活动,保证了内部网络的安全。

二.防火墙功能

1.防火墙是网络安全的屏障

    一个防火墙(作为阻塞点、控制点)能极大地提高一个内部网络的安全性,并通过过滤不安全的服务而降低风险。由于只有经过精心选择的应用协议才能通过防火墙,所以网络环境变得更安全。

2.防火墙可以强化网络安全策略

    通过以防火墙为中心的安全方案配置,能将所有安全软件(如口令、加密、身份认证、审计等)配置在防火墙上。

3.对网络存取和访问进行监控审计

    如果所有的访问都经过防火墙,那么,防火墙就能记录下这些访问并作出日志记录,同时也能提供网络使用情况的统计数据。

4.防止内部信息的外泄

    通过利用防火墙对内部网络的划分,可实现内部网重点网段的隔离,从而限制了局部重点或敏感网络安全问题对全局网络造成的影响。

三.iptables简介

    从1.1内核开始,linux就已经具有包过滤功能了,在2.0的内核中我们采用ipfwadm来操作内核包过滤规则。之后在2.2内核中,采用了大家并不陌生的ipchains来控制内核包过滤规则。在2.4内核中我们不再使用ipchains,而是采用一个全新的内核包过滤管理工具—iptables。这个全新的内核包过滤工具将使用户更易于理解其工作原理,更容易被使用,当然也将具有更为强大的功能。

    iptables只是一个内核包过滤的工具,iptables可以加入、插入或删除核心包过滤表格(链)中的规则。实际上真正来执行这些过滤规则的是netfilter(Linux内核中一个通用架构)及其相关模块(如iptables模块和nat模块)。

    netfilter提供了一系列的“表(tables)”,每个表由若干“链(chains)”组成,而每条链中有一条或数条规则(rule)组成。我们可以这样来理解,netfilter是表的容器,表是链的容器,链又是规则的容器。

 

【实验内容】

一、Windows2003防火墙应用

一.防火墙日志设置
   
在“Windows防火墙”的“高级”选项卡中,点击“安全日志记录”中的“设置”按钮,在“日志设置”对话框中指定日志文件名称、大小及记录选项。

 

二.防火墙基础操作

操作概述:启用Windows Server 2003系统防火墙,设置规则阻断ICMP回显请求数据包。

(1)在启用防火墙之前,同组主机通过ping指令互相测试网络连通性,确保互相是连通的,若测试未通过请排除故障。

查看各自IP地址,与同组主机互用使用ping指令完成测试

(2)本机启用防火墙,并设置防火墙仅对 “本地连接”进行保护。

(3)同组主机再次通过ping指令互相测试网络连通性,确认是否相互连通  否  

(4)设置本机防火墙允许其传入ICMP回显请求。

(5)同组主机第三次测试网络连通性,确认是否相互连通  是  

(6)查看防火墙日志,判断已发生的网络行为。

三.防火墙例外操作

操作概述:启用Windows Server 2003系统防火墙,在“例外”选项卡中添加程序“UdpTools” (路径为:D:\ExpNIC\Common\Tools\UdpTools\UdpTools.exe),允许UdpTools间通信,并弹出网络连接提示信息。

(1)关闭防火墙,同组主机间利用UdpTools进行数据通信,确保通信成功。

「说明」UdpTools通信双方分别为客户端和服务端,其默认通过2513/UDP端口进行通信,可以自定义通信端口,运行如图所示。

(2)本机启用防火墙(仅对本地连接),将本机作为UdpTools服务器端,同组主机以UdpTools客户端身份进行通信,确定客户端通信请求是否被防火墙阻塞   是    

(3)断开UdpTools通信,单击“例外”选项卡,在“程序和服务”列表框添加程序“UdpTools.exe”(D:\ExpNIC\Common\Tools\UdpTools.exe)并将其选中。

再次启动UdpTools并以服务器身份运行,同组主机仍以客户端身份与其通信,确定客户端通信请求是否被防火墙阻塞   否    

实验完成,关闭系统防火墙。
 

四.NAT操作

实验角色说明如下:

实验主机

实验角色

主机A

内网主机

主机C

NAT

主机E

外网主机

操作概述:Windows Server 2003“路由和远程访问”服务包括NAT路由协议。如果将NAT路由协议安装和配置在运行“路由和远程访问”的服务器上,则使用专用IP地址的内部网络客户端可以通过NAT服务器的外部接口访问Internet。

图9-1-2  实验网络连接示意图

参看图9-1-2,当内部网络主机PC1发送要连接Internet主机PC2的请求时,NAT协议驱动程序会截取该请求,并将其转发到目标Internet主机。所有请求看上去都像是来自NAT服务器的外部连接IP地址,这样就隐藏了内部网络主机。

在这里我们将Windows Server 2003主机配置成为“路由和远程访问”NAT服务器,并模拟搭建Internet网络环境对NAT服务器进行测试。

(1)实验网络拓扑规划。

按图9-1-2所示,本实验需3台主机共同完成,设定主机A为内网主机PC1,IP地址为172.16.x.50/24,将其内部网络接口(默认为“本地连接”)的默认网关指向主机C的内部网络接口(默认为“本地连接”);设定主机C为NAT服务器;设定主机E为外网主机PC2,IP地址为202.98.x.150/24。

PC1主机IP地址、子网掩码设置如下,默认网关为NAT主机对应的外部网络接口172.16.0.3:

PC2主机IP地址、子网掩码设置如下,默认网关为NAT主机对应的外部网络接口202.98.0.123:

默认外部网络地址202.98.x.100/24;内部网络地址172.16.x.100/24,也可根据实际情况指定内网与外网地址。

默认主机C“本地连接”为内部网络接口;“外部连接“为外部网络接口,也可指定“本地连接”为外部网络接口。

 

(2)按步骤(1)中规划,配置主机C“本地连接”、“外部连接”的IP地址。

NAT本地连接配置如下:

NAT外部连接配置如下:

(3)主机C配置NAT路由服务。依次单击“开始”|“程序”|“管理工具”|“路由和远程访问”,在“路由和远程访问”,选择要安装NAT路由协议的本地服务器,右键单击在弹出菜单中选择“配置并启用路由和远程访问”。

「注」 操作期间若弹出“为主机名启用了Windows防火墙/Internet连接共享服务……”警告信息,请先禁用“Windows防火墙/Internet连接共享”服务,后重试操作。具体做法:“开始”|“程序”| “管理工具”|“计算机管理”|“服务和应用程序”|“服务”,在右侧服务列表中选择“Windows Firewall/Internet Connection Sharing(ICS)”服务,先将其停止,然后在启动类型中将其禁用。

(4)在“路由和远程访问服务器安装向导”中选择“网络地址转换(NAT)”服务。

(5)在“NAT Internet连接”界面中指定连接到Internet的网络接口,该网络接口对于Internet来说是可见的。若在步骤(1)中已将“外部连接”指定为公共接口,则此处应选择“外部连接”。

(6)在“名称和地址转换服务”界面中选择“我将稍后设置名称和地址服务”(若“本地连接”为自动获取IP地址,安装向导会自动检测到网络上的DHCP服务器,因此“名称和地址转换服务”界面将不会出现)。

完成路由和远程访问配置:

(7)连通性测试

主机C打开“协议分析器”并定义过滤器,操作如下:依次单击菜单项“设置”|“定义过滤器”,在“协议过滤”选项卡“协议树”中选中“ICMP”协议。新建两个捕获窗口,分别选择“本地连接”和“外部连接”,开始捕获数据包。

内网主机A通过ping指令对外网主机E做连通性测试。可以看到主机A能访问NAT和外部主机E。

「说明」协议分析器操作说明:单击“新建捕获窗口”按钮,点击“选择过滤器”按钮,确定过滤信息。在新建捕获窗口工具栏中点击“开始捕获数据包”按钮,此时系统若存在多个可用的网络适配器,则会弹出“适配器选择”对话框,勾选网络适配器,单击“确定”按钮,开始捕获数据包。观察状态栏“捕获帧数”窗格,当捕获到数据时单击“停止捕获数据包”按钮,依次展开“会话分析树”|“ICMP会话”,如图所示。

(8)结合ICMP会话分析结果,请说出ICMP数据包的传输(路由)过程  ICMP请求:首先PC1把数据包发送到NAT上的内网接口上,NAT把数据包转发到外网接口,最后通过NAT主机的外网接口发送到PC2上;ICMP应答:首先PC2把数据包发送到NAT上的外网接口上,NAT把数据包转发到内网接口,最后通过NAT主机的外网接口发送到PC1上 

 

二、iptables包过滤

本任务主机A、B为一组,C、D为一组,E、F为一组。

首先使用“快照X”恢复Linux系统环境。

操作概述:为了应用iptables的包过滤功能,首先我们将filter链表的所有链规则清空,并设置链表默认策略为DROP(禁止)。通过向INPUT规则链插入新规则,依次允许同组主机icmp回显请求、Web请求,最后开放信任接口eth0。iptables操作期间需同组主机进行操作验证。

(1)清空filter链表所有规则链规则。

iptables命令   iptables -t filter -F    

(2)同组主机点击工具栏中“控制台”按钮,使用nmap工具对当前主机进行端口扫描。

nmap端口扫描命令    nmap -sS -T5 172.16.0.192   

「说明」 nmap具体使用方法可查看实验1|练习一|实验原理。

查看端口扫描结果,并填写表。

开放端口(tcp)

提供服务

21/tcp

ftp

23/tcp

Telnet

80/tcp

http

111/tcp

Rpcbind

443/tcp

https

 

(3)查看INPUT、FORWARD和OUTPUT链默认策略。

iptables命令   iptables -t filter -L     

(4)将INPUT、FORWARD和OUTPUT链默认策略均设置为DROP。

iptables命令

    iptables -P INPUT DROP     

     iptables -P FORWARD DROP   

    iptables -P OUTPUT DROP    

同组主机利用nmap对当前主机进行端口扫描,查看扫描结果,并利用ping命令进行连通性测试。

 

(5)利用功能扩展命令选项(ICMP)设置防火墙仅允许ICMP回显请求及回显应答。

ICMP回显请求类型    8     ;代码    0     

ICMP回显应答类型    0     ;代码    0     

iptables命令

 iptables -I INPUT -p icmp --icmp-type 8/0 -j ACCEPT  
   iptables -I OUTPUT -p icmp --icmp-type 0/0 -j ACCEPT 

利用ping指令测试本机与同组主机的连通性。

(6)对外开放Web服务(默认端口80/tcp)。

iptables命令

 iptables -I INPUT -p tcp --dport 80 -j ACCEPT   

 iptables -I OUTPUT -p tcp --sport 80 -j ACCEPT   

同组主机利用nmap对当前主机进行端口扫描,查看扫描结果。

(7)设置防火墙允许来自eth0(假设eth0为内部网络接口)的任何数据通过。

iptables命令

  iptables -A INPUT -i eth0 -j ACCEPT          

   iptables -A OUTPUT -o eth0 -j ACCEPT             

同组主机利用nmap对当前主机进行端口扫描,查看扫描结果。

 

三、Iptables事件审计

本任务主机A、B为一组,C、D为一组,E、F为一组。

首先使用“快照X”恢复Linux系统环境。
一.事件审计实验

操作概述:利用iptables的日志功能检测、记录网络端口扫描事件,日志路径 /var/log/iptables.log。

(1)清空filter表所有规则链规则。

iptables命令   iptables -F    

(2)根据实验原理(TCP扩展)设计iptables包过滤规则,并应用日志生成工具ULOG对iptables捕获的网络事件进行响应。

iptables命令  iptables -I INPUT -p tcp_ --tcp-flag_ ALL SYN-j_ ULOG--ulog-prefix_ “SYNRequest”          

(3)同组主机应用端口扫描工具对当前主机进行端口扫描,并观察扫描结果。

(4)在同组主机端口扫描完成后,当前主机查看iptables日志,对端口扫描事件进行审计。

 

【小结或讨论】

这一次实验的难点我觉得主要在防火墙实验的NAT操作上,NAT的意义是如果将NAT路由协议安装和配置在运行“路由和远程访问”的服务器上,则使用专用IP地址的内部网络客户端可以通过NAT服务器的外部接口访问Internet。因此可以看出NAT能够有效地避免来自网络外部的攻击。

实验过程中总是发现修改IP地址后PC间无法正常通信,弄了很久,最后发现是恢复快照的问题,回复快照后就无法Ping通,只能在一开始启动是对自动分配的IP地址进行修改。NAT在实验中其实是扮演了一个中间人的角色,PC1把信息发送到NAT上的内网接口上,NAT再把数据包转到外网接口,最后通过NAT主机的外网接口发送到PC2上,反之亦然。这样就隐藏并保护了网络内部的计算机。

 

  • 6
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值