NukeSong

导航

20252801 2025-2026-2 《网络攻防实践》第5次作业

1.实践内容

本次实践主要分为两个部分:防火墙配置与Snort入侵检测实践。

1.1 防火墙

(1)基本概念
所谓“防火墙”是指一种将内部网和公众访问网(如Internet)分开的方法,它实际上是一种建立在现代通信网络技术和信息安全技术基础上的应用性安全技术,隔离技术。越来越多地应用于专用网络与公用网络的互联环境之中,尤其以接入Internet网络为最甚。
(2)功能
网络安全的屏障。一个防火墙(作为阻塞点、控制点)能极大地提高一个内部网络的安全性,并通过过滤不安全的服务而降低风险。由于只有经过精心选择的应用协议才能通过防火墙,所以网络环境变得更安全。
强化网络安全策略。通过以防火墙为中心的安全方案配置,能将所有安全软件(如口令、加密、身份认证、审计等)配置在防火墙上。与将网络安全问题分散到各个主机上相比,防火墙的集中安全管理更经济。例如在网络访问时,一次一密口令系统和其它的身份认证系统完全可以不必分散在各个主机上,而集中在防火墙一身上。
监控审计。如果所有的访问都经过防火墙,那么,防火墙就能记录下这些访问并作出日志记录,同时也能提供网络使用情况的统计数据。当发生可疑动作时,防火墙能进行适当的报警,并提供网络是否受到监测和攻击的详细信息。
防止内部信息的外泄。通过利用防火墙对内部网络的划分,可实现内部网重点网段的隔离,从而限制了局部重点或敏感网络安全问题对全局网络造成的影响。再者,隐私是内部网络非常关心的问题,一个内部网络中不引人注意的细节可能包含了有关安全的线索而引起外部攻击者的兴趣,甚至因此而暴漏了内部网络的某些安全漏洞。使用防火墙就可以隐蔽那些透漏内部细节如Finger,DNS等服务。Finger显示了主机的所有用户的注册名、真名,最后登录时间和使用shell类型等。
日志记录与事件通知。进出网络的数据都必须经过防火墙,防火墙通过日志对其进行记录,能提供网络使用的详细统计信息。当发生可疑事件时,防火墙更能根据机制进行报警和通知,提供网络是否受到威胁的信息。

1.2 开源网络入侵检测系统snort基本介绍

​ 简介:Snort是一个强大的网络入侵检测系统。它具有实时数据流量分析和记录IP网络数据包的能力,能够进行协议分析,对网络数据包内容进行搜索/匹配,可以检测各种不同的攻击方式,对攻击进行实时报警等。

  • 四个主要部件:
    1.数据包嗅探:将网卡设置为混杂模式,用libpacp函数来进行数据包监听和抓包。
    2.预处理器:用于弥补检测引擎检测能力的不足。主要有TCP/IP协议栈模拟、应用层协议解码、异常检测。
    3.检测引擎:是主题模块,主要包括规则库解析、多模式匹配、规则插件。
    4.输出模块:进行各种多样化的报警和日志记录。
  • 主要功能:
    1.嗅探模式(从网络上读取数据包,常用命令snort -dev)
    2.数据包记录模式(把数据包记录到硬盘上,常用命令snort -b)
    3.网络入侵检测模式(载入规则库才能工作,Snort并不记录所有捕获的包,而是将包与规则对比,仅当包与某个规则匹配的时候,才会记录日志或产生报警)

2.实践过程

2.1 防火墙配置

(1)过滤ICMP数据包,使得主机不接收Ping包
首先打开kali虚拟机,输入iptables -L查看规则,可以看到当前没有任何规则
image
打开seedubuntu虚拟机,使用ping命令检查与kali虚拟机的连通性(192.168.200.6)
image
在kali虚拟机中输入sudo iptables -A INPUT -p icmp -j DROP配置防火墙,过滤icmp包,并通过iptables -L查看规则
image
如图所示,可以看到kali已经设置好了过滤icmp包的规则。此时使用seed对kali执行ping命令,发现无法连通
image
输入sudo iptables -D INPUT -p icmp -j DROP将这条规则删除
image
再次使用seedubuntu进行ping连通性测试
image
成功后,使用iptables -F 清除所有规则
(2)查看seed和metasploitable的ip地址,分别为192.168.200.7和192.168.200.140。此时,kali和seed两台虚拟机都能用telnet命令访问metasploitable
image
image
输入iptables -P INPUT DROP来禁止所有输入数据包,此时两台虚拟机都无法访问metasploitable。此时输入iptables -A INPUT -p tcp -s 192.168.200.6 -j ACCEPT来允许kali虚拟机的数据包输入,可见kali成功访问
1
而seed访问失败
2

2.2 Snort入侵检测实践

使用Snort对给定pcap文件(listen.pcap文件)进行入侵检测,并对检测出的攻击进行说明。
(我一开始自己去配置snort,这边强烈不建议再安装snort2!!!)
(kali 2025版本自带 snort3,且指令与教程所用指令严重不符合!!!)
输入如下指令snort -c /etc/snort/snort.lua -r listen.pcap -A fast
image
image
image
可见,TCP包占绝大多数。

snort会在默认目录 /var/log/snort 生成一个日志文件,cd/var/log/snort 查看日志文件 vim snort.alert.fast,可看到本次攻击是用nmap发起的。攻击机IP地址是 172.31.4.178,靶机IP地址是 172.31.4.188 ,还可以看到端口号等:
image

2.3 分析配置规则

(1)数据捕获

蜜罐网关通过三种方式捕获数据:防火墙日志、网络通讯、系统活动
防火墙日志:防火墙能够记录所有的进入和外出本网络的连接。所有进出防火墙的日志信息记录在/var /log /messages 文件中。但防火墙能记录的数据是有限的,主要是报头信息,如攻击的时间、源和目的IP地址以及源和目的端口,对于入侵者的击键行为、数据包的载荷等无能为力。

IDS能够捕获所有的网络活动,记录每一个包和载荷。IDS 能够充分发挥其数据捕获的能力,得到蜜网环境中所有的数据包。Snort捕获所有IP通信,并将其转储到日志文件tcpdump中留待以后分析。将嗅探器与外部网口eth0绑定,那么记录下的将不仅是与Honeynet相关的数据,还会有外部网络的通信。

(2)数据控制
蜜网网关实现数据控制的主要方法有:基于IPTables的外出连接数限制和snort-inline入侵检测系统。
基于re.firewall脚本的IPTables防火墙可以限制外出的TCP连接和UDP、ICMP协议的数据包数.限制时间可以是秒,分钟,小时或天为单位,方便灵话,易于合理控制。还可以修改外出连接的数据包使其不能到达目的地,让入侵者认为数据包正常发出。

打开蜜网,输入:vim /etc/init.d/rc.firewall
image
其余图片略去
(注:需要先提权,再输入指令,否则查无内容)
使用命令iptables -t filter -L | more来查看规则列表。
image
使用命令vim /etc/init.d/snortd打开Snort脚本文件
image
使用命令chkconfig --list | grep iptables和chkconfig --list | grep snort可以看到查询的服务是否开启,可以看到防火墙和NIPS是跟随系统启动的,NIDS不自动启动
image
使用命令vim /etc/honeywall.conf打开honeywall配置文件:
image

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

1.snort配置:
新版Kali自带snort v3,教材所使用的版本是v2,指令几乎不兼容,新版采用Lua语言进行编写,配置文件为.lua而非.conf。多亏有gemini的帮助,避免我胡乱操作导致kali的崩溃。(Tips:在大刀阔斧操作之前,可以用VM ware对kali进行快照,防止系统文件损坏)

4.实践总结

本次实验学习了防火墙的配置和使用snort进行网络攻击的分析等相关的网络安全防范内容,流程较短,收获许多

posted on 2026-04-10 19:04  琴雇  阅读(0)  评论(0)    收藏  举报