20221910 2022-2023-3 《网络攻防实践》第5周作业

1.实践内容

1.1 实验要求

https://bbs.csdn.net/topics/614304225

1.2 实验原理

  • Linux开源防火墙:netfilter/iptables
    netfilter/iptables组合是目前Linux开源操作系统中普遍使用的防火墙技术解决方案。
    其中netfilter是Linux内核中实现的防火墙功能模块,实现了静态包过滤和状态报文检查(即动态包过滤)基本防火墙功能,此外也支持一个灵活可扩展的框架,支持NAT网络地址转换等其他额外功能。
    iptables则是应用态的防火墙管理工具,Iptables为用户提供了配置netfilter规则的命令行接口,其命令语法为:$ iptables [-t table] command [match] [taget],其中-t指定配置规则所在的表,缺省表包括filter、nat、mangle、raw等;command部分是iptables命令的最重要部分,它告诉iptables命令要做什么;Match部分为规则匹配条件,指定数据包与规则匹配所应具有的特征,匹配条件分为两大类:通用匹配和特定协议匹配;Target部分指定满足匹配条件之后的目标操作,即对与那些规则匹配的数据包执行的处理操作。
  • 防火墙部署方法
    (1)包过滤路由器:在一个单一的节点上,装有一个包过滤式的防火墙,将带有包过滤防火墙功能的路由器作为内部网络和外部网络之间唯一的连接点,路由器在完成其数据包路由转发基本功能的同时,将依据网络管理员配置的访问控制列表,对数据包进行过滤。
    (2)双宿主堡垒主机:具有两个网络接口,一个使用公网IP地址连接外部网络,另一个使用私有IP地连接内部网络,两个网络接口之间并不具备路由转发功能,而仪议田应用代理服务器程序为特定的网络应用提供代理。双宿主堡垒主机模式对外屏蔽了内部网络的信息,并可通过应用代理服务器中实现的访问控制机制提供用户级的身份认证和行为审计,此外还可通过对数据内容的严格检查提供了强大的安全特性。
    (3)屏蔽主机防火墙:是包过滤防火墙和应用代理技术的集成部署,这种部署模式采用屏蔽路由和堡垒主机双重安全设施,所有进出内部网络的数据都要经过包过滤防火墙和堡垒主机,由包过滤防火墙进行网络层的访问控制,由堡垒主机进行应用安全控制,保证了网络层和应用层的双重安全。

2.实践过程

2.1 防火墙配置(IP地址仅供参考,以实际为准)

任务要求:配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙,完成如下功能,并进行测试:
(1)过滤ICMP数据包,使得主机不接收Ping包;
(2)只允许特定IP地址(如局域网中的Linux攻击机192.168.200.3),访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址(如Windows攻击机192.
168.200.4)无法访问

2.1.1 通过过滤ICMP包,使主机不接受ping包

  • 在虚拟机Ubuntu(192.168.200.9)中ping Kali Linux(192.168.200.11),此时可以ping通
    在这里插入图片描述
    在Kali中输入命令 iptables -L,查看默认规则
    在这里插入图片描述
  • 在Kali中执行 iptables -A INPUT -p icmp -j DROP 命令,使主机不接收ICMP包
    在这里插入图片描述
    再次通过iptables -L,查看规则,发现多了一天icmp针对任何位置不允许访问的规则
    在这里插入图片描述
    此时回到Ubuntu中尝试ping Kali,发现无法ping通
    在这里插入图片描述
  • 在Kali中执行命令 iptables -D INPUT -p icmp -j DROP,除去刚才的过滤规则
    在这里插入图片描述
    通过命令 iptables -L 查看规则,发现已经删除
    在这里插入图片描述
    此时再回到Ubuntu中,可以ping通Kali
    在这里插入图片描述

2.1.2 只允许特定IP地址访问主机的某一网络服务

在本次实验中实现只允许Kali(192.168.200.11)访问Ubuntu(192.168.200.9) 的telnet

  • 在Kali中输入命令 telnet 192.168.200.9 ,连接Ubuntu的telnet
    在这里插入图片描述
    在Win2虚拟机中输入命令 telnet 192.168.200.9,使Win2k与Ubuntu进行telnet连接,此时也可以连接
    在这里插入图片描述
  • 在Ubuntu中输入命令 iptables -P INPUT DROP 使所有数据包都无法流入
    在这里插入图片描述
    此时在Kali中再次尝试与Ubuntu进行连接,发现无法连接
    在这里插入图片描述
  • 在Ubuntu中输入命令 iptables -A INPUT -p tcp -s 192.168.200.11 -j ACCEPT
    在这里插入图片描述
    此时返回Kali,发现可以通过telnet连接Ubuntu
    在这里插入图片描述
    在Win2中尝试telnet连接Ubuntu,发现无法连接成功
    在这里插入图片描述
  • 最后,在Ubuntu中输入命令 iptables -F 和 iptables -P INPUT ACCEPT,恢复最初的状态。
    在这里插入图片描述

2.2 动手实践 Snort

使用Snort对给定pcap文件(第4章中的解码网络扫描任一个pcap文件,之前的实践已经提供了,请在学习通中下载)进行入侵检测,并对检测出的攻击进行说明。在BT4
Linux攻击机或Windows Attacker攻击机上使用Snort,对给定的pcap文件进行入侵检测,获得报警日志。

Snort运行命令提示如下:
①从离线的pcap文件读取网络日志数据源
②在snort.conf中配置明文输出报警日志文件
③指定报警日志log目录(或缺省log目录=/var/log/snort)

  • 在Kali中使用命令 snort -r /home/kali/Downloads/listen.pcap -c /etc/snort/snort.conf -K ascii 对之前实验中的listen.pacp进行入侵检测 (-c 表示选择snort配置文件,-r 表示从pcap格式的文件中读取数据包,-K ascii 用于指定输出日志文件为ASCII编码)
    在这里插入图片描述
  • 查看被检测到的数据包中,可以看到大部分为TCP会话
    在这里插入图片描述
    在这里插入图片描述
    报警数据 Alerts为10条
    在这里插入图片描述
    数据流统计如图
    在这里插入图片描述
  • 此时snort在默认目录生成一个日志文件,进入报警日志目录 cd /var/log/snort
    在这里插入图片描述
    查看日志文件 vim alert,可以看到10条报警数据的检测信息
    在这里插入图片描述
    在这里插入图片描述
    可以发现源ip为172.31.4.178,目的ip为172.31.4.188等相关信息。

2.3 分析配置规则

分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。

  • 在蜜罐HoneyWall虚拟机 ,在root权限下输入命令 vim /etc/ini.d/re/firewall 查看防火墙文件,可以看到创建了黑名单和白名单的规则链
    在这里插入图片描述

  • 输入iptables -t filter -L,查看IPTables的实际规则列表、snort和snort_line的实际执行参数
    在这里插入图片描述

  • 输入vim /etc/rc.d/init.d/snortd,查询snort文件,可以看到监听网卡和存储配置文件的位置
    在这里插入图片描述

  • 输入vim /etc/init.d/hw-snort_inline可以看到Snort_inline运行时参数
    在这里插入图片描述

  • 使用chkconfig --list|grep snort命令来对linux上运行的服务进行查询
    在这里插入图片描述
    可以发现NIDS的0~6都是off,说明是需要手动启动的,而防火墙和NIPS不全是off,是跟随系统启动的。

  • 使用命令vim /etc/honeywall.conf打开配置文件,查看蜜网网关中的Snort规则更新信息
    在这里插入图片描述
    找到update variables,可以看到其值为no,不自动更新

3.学习中遇到的问题及解决

  • 问题1:在设置只允许特定IP地址访问主机的网络服务时,在Ubuntu攻击机中使用telnet服务连接Kali时发现无法连接
    在这里插入图片描述
  • 问题1解决方法:
    在Kali中安装telnet、xinetd
apt-get install telnetd
apt-get install xinetd

编辑 /etc/inetd.conf文件,取消“#”这一行的注释,并删掉“#”

vim /etc/inetd.conf

重启xinetd服务

/etc/init.d/xinetd restart

但其实最后使用的是用Kali攻击Ubuntu

4.学习感想和体会

在本次实验过程中,学习了Windows和Linux的防火墙的相关配置,以及对于snort的分析的学习进一步掌握。

5.参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值