20252806 2025-2026-2 《网络攻防实践》第五周作业
一、实践内容
-
学习配置防火墙
防火墙是一种网络安全设备或软件,用于在内部网络与外部网络(如互联网)之间建立安全屏障,根据预设规则允许、拒绝或过滤网络数据流量,从而防范非法访问、攻击与恶意入侵,保护网络和设备安全。
-
学习并实践snort
Snort 是一款开源、轻量级的网络入侵检测与防御系统(NIDS/NIPS),工作模式支持嗅探器(实时显示包)、数据包记录器(存包取证)、入侵检测 / 防御(规则匹配告警 / 阻断)三种模式。
原理:基于规则(签名)与协议分析,对网络流量做深度包检测,识别端口扫描、蠕虫、CGI 攻击等恶意行为 -
分析蜜网网关的防火墙和IDS/IPS配置规则
IDS/IPS 配置主要是对入侵检测 / 防御系统进行规则、策略与工作模式设置,使其能识别并处理网络攻击。
IDS:监听模式,只检测、告警,不阻断流量。
IPS:在线模式,可直接阻断恶意流量。
二、实践过程
(一) 配置防火墙
-
实验选择配置seed的防火墙
-
分别使用以下命令进行配置
(1)查看现有规则 iptables -L -n
(2)清空所有默认规则 iptables -F
(3)清空自定义链 iptables -X

3.kali ping seed 能通

4.过滤ICMP数据包,使得主机不接收Ping包 sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

5.回查看kali中ping连接长时间无反应,证明配置成功

6.允许 kali 访问 21 端口
sudo iptables -A INPUT -p tcp --dport 21 -s 192.168.200.9 -j ACCEPT

7.拒绝其他访问ip访问21端口
sudo iptables -A INPUT -p tcp --dport 21 -j DROP

8.测试kali能够正常访问,winx不能正常访问
失败了

在 SEED 靶机上执行,把你的 Kali IP 加入白名单:
# 把192.168.200.9替换成你Kali的实际IP
sudo iptables -I INPUT 2 -p tcp --dport 21 -s 192.168.200.4 -j ACCEPT

还是有问题,重新来一遍:

【正确启动 vsftpd 的方法(SEED 环境专用)】
SEED 用的是传统的service命令:
# 启动vsftpd服务
sudo service vsftpd start# 查看服务状态(确认是否启动成功)
sudo service vsftpd status# 设置开机自启(可选)
sudo update-rc.d vsftpd defaults

- 检查 21 端口是否监听
sudo netstat -tulnp | grep 21
- 预期结果:看到
vsftpd进程监听0.0.0.0:21,说明服务正常运行 ![image-20260413153754994]()
- Kali 端测试
回到 Kali 终端,执行端口扫描:
nmap -p 21 192.168.200.3
- 预期结果:
21/tcp open ftp ![image-20260413153842487]()
- 再执行 FTP 连接:
ftp 192.168.200.3
- 正常弹出
Name (192.168.200.3:kali):登录提示,说明完全正常 ![image-20260413153905055]()
winx不能正常访问:

(二)Snort
说明:在第1周中已经解释选择kali代替老旧的BT4 Linux攻击机
-
读取网络日志数据源,输出明文报警日志,并指定目录
sudo sh -c 'snort -r listen.pcap -l /var/log/snort -A fast >> /var/log/snort/alert.log'
可以看到已经在指定位置输出了输出报警日志文件

2.使用sudo cat /var/log/snort/alert查看日志,并且是明文状态

注意:只有当流量匹配了攻击规则,才会生成 [] [警报ID] 攻击描述 [] 格式的报警记录。
listen.pcap 是正常的网络流量,没有攻击特征,所以 Snort 不会生成攻击报警,只会把运行统计信息写入日志。
(三)分析蜜网网关的防火墙和IDS/IPS配置规则
查看filter表 iptables -t filter -L

查看核心防火墙配置vim/etc/init.d/rc.firewal

查看Snort规则目录 ls -l /etc/snort/rules/

蜜网网关的防火墙
蜜网网关是蜜网体系的核心控制节点,通常以桥接模式部署在蜜罐集群与外部网络之间,不占用 IP、透明转发流量。
它通过防火墙实现流量控制与路由转发,IDS/IPS 实现攻击检测与告警,二者协同完成蜜网功能。
蜜网网关防火墙主要采用iptables,规则分为入站、出站、日志、转发四大类。
- 入站流量规则(外部→蜜罐)
默认允许外部主动访问蜜罐:开放所有端口与协议,模拟脆弱系统吸引攻击。
不拦截正常连接建立:允许 TCP SYN、UDP、ICMP 进入蜜罐。
仅记录不阻断:对所有入站流量做完整日志记录,不做主动拦截。 - 出站流量规则(蜜罐→外部)
核心是攻击抑制,防止蜜罐被用作攻击跳板:
限制连接数量:限制单 IP 并发连接数、单位时间新建连接数。
限制恶意流量:阻断蜜罐主动发起的 DDoS、大流量发包、大范围端口扫描。
限制协议滥用:严格限制 ICMP 重定向、SYN flood、异常分片等。
流量阈值控制:对出站流量设置带宽上限,避免影响真实网络。 - 转发与 NAT 规则
透明桥接转发:实现流量双向穿透,网关自身不可见。
数据包标记:对进出蜜罐的流量打上特定标记,用于后续 IDS 关联分析。
流量镜像:将所有流量复制一份送往日志采集模块,实现全流量捕获。 - 日志与审计规则
启用LOG/ULOG/NFLOG,记录源目 IP、端口、协议、包大小、时间戳。
对异常流量(如端口扫描、暴力破解)单独标记,提高日志可分析性。
IDS/IPS 配置规则
蜜网网关通常集成Snort作为IDS,部分增强型支持 IPS 能力。
- IDS 规则配置重点
启用预处理器:
碎片重组、流重组、端口扫描检测、HTTP 归一化;
识别端口扫描、DDoS、暴力破解、异常协议行为。
攻击特征规则:
加载漏洞利用、木马通信、Web 攻击、缓冲区溢出等特征库;
针对常见服务(SSH、RDP、MySQL、HTTP)配置弱口令、暴力破解规则。
蜜罐专属告警规则:
对访问蜜罐固定服务、异常目录、敏感端口的行为直接告警;
对异常流量模式(如慢速扫描、隐蔽隧道)建立自定义规则。 - IPS(若启用)控制规则
对明确恶意行为执行阻断:如已知漏洞利用包、恶意下载、反弹 Shell 特征。
不阻断试探性流量,避免吓跑攻击者,保证攻击过程完整被捕获。
仅对出站恶意行为强阻断,防止蜜罐被跳板化。 - 与防火墙联动规则
IDS 检测到攻击后,可动态通知防火墙:
对高风险 IP 临时添加限流规则;
对持续攻击 IP 进行短时屏蔽,既抑制风险又保留取证。
总结
蜜网网关通过防火墙完成流量转发、访问控制、流量限速、全流量日志与数据包捕获,实现 “数据控制”;
IDS/IPS完成攻击特征匹配、会话还原、行为分析、攻击告警,实现 “数据捕获与攻击识别”。
二者结合,既完整记录攻击全过程,又严格控制蜜罐不被滥用,在虚拟攻防环境中实现安全、有效、可控的攻击诱捕与分析。
三、学习中遇到的问题及解决
- 问题1:在测试FTP限制时,发现kali也无法连接,原因是seed没有开放FTP端口
- 问题1解决方案:要在测试之前,在seed上使用sudo service vsftpd start打开端口
遇到的问题:
1.防火墙命令显示无效:没有进入管理员模式,su进入就好了
部分 Linux 系统(比如 SEED Ubuntu 虚拟机)默认没有设置 root 密码,直接用 su - 会永远失败
2.vsfpd服务启动失败:service启动
3.输出日志失败 原因:没有把listen.pcap文件放在指定路径下
四、实践总结
学习防火墙与 Snort 后,我明晰二者是网络安全防御体系的核心组合:防火墙作为网络边界静态防御屏障,通过包过滤、NAT 等技术管控网段访问,是第一道安全防线,但存在无法防护内部威胁、策略不够精细的局限;Snort 作为开源入侵检测系统,通过抓包解析、规则匹配实现动态威胁检测,可精准识别攻击行为,弥补防火墙防御短板。实践中深刻体会到,网络安全并非单一技术可实现,需二者协同 —— 防火墙拦截非法访问,Snort 监控异常流量、追溯攻击源头,契合纵深防御理念。同时认识到,安全防护需兼顾技术实操与策略优化,既要熟练掌握 iptables 配置、Snort 规则编写,也要定期更新规则库、审计策略,才能应对不断变化的网络威胁,真正筑牢网络安全防线。



