20242802 2023-2024-2 《网络攻防实践》第五周作业
20242802 2023-2024-2 《网络攻防实践》第五周作业
1.实践内容与知识点
实践内容
一、防火墙配置
- ICMP数据包过滤。 实现主机对ICMP数据包的过滤功能,使得主机无法接收Ping请求,从而增强主机的隐蔽性。
- 基于IP地址的访问控制。配置防火墙规则,仅允许特定IP地址访问主机的指定网络服务,而拒绝其他IP地址的访问请求,以限制网络访问范围并提高安全性
- 网络服务的安装与访问测试。 在Linux系统中安装并启动FTP等网络服务,并通过其他虚拟机进行访问测试,验证服务的正常运行以及防火墙规则的生效情况。
二、动手实践Snort
- 入侵检测系统的配置与运行。使用Snort对给定的pcap文件进行入侵检测,配置Snort从离线文件读取数据源,并设置报警日志的输出方式和路径,以生成检测结果。
- 攻击行为的检测与分析。 分析Snort生成的报警日志,识别并说明检测到的攻击行为(如端口扫描、恶意连接等),了解网络攻击的特征和手段。
- 网络协议数据包的统计分析。查看Snort配置文件中协议数据包模块的统计数据,了解网络流量中不同协议的占比情况,为入侵检测提供数据支持。
三、分析配置规则
-
蜜网网关防火墙规则的分析。查看蜜网网关的防火墙配置文件,分析其规则链,黑名单、白名单等配置项的作用,了解防火墙如何控制网络流量的进出。
-
IDS/IPS配置规则的解析。 分析蜜网网关中IDS/IPS的配置规则,了解其如何检测和阻止潜在的攻击行为,以及如何记录和处理从蜜罐中逃逸的IP地址等信息。
-
服务运行状态与配置的检查。iptables和Snort服务的运行级别配置情况,确认服务在不同运行模式下的启动状态,并查看Snort规则的自动更新设置,确保其能够及时应对新型攻击。
知识点
- 防火墙:是位于内部网络与外部网络之间的网络安全设备,其主要功能是监控、控制和过滤网络流量,以保护内部网络免受外部威胁的攻击。
- 访问控制 可以根据预设的规则,允许或拒绝特定IP地址、端口或协议的网络流量。
- 网络隔离 将内部网络与外部网络隔离,防止外部网络的恶意攻击直接进入内部网络。
- 攻击检测与防御 可以检测和防御常见的网络攻击,端口扫描、DDoS攻击、恶意软件传播等。
- 日志记录与审计 可以记录网络流量的详细信息,包括访问时间、源地址、目的地址、使用的协议等。
- iptables工具:Linux系统中的一种的防火墙工具,iptables通过设置规则链(INPUT、OUTPUT、FORWARD)和规则,对经过Linux内核网络堆栈的数据包进行过滤、修改和转发。
- Snort:网络入侵检测系统(NIDS)和入侵防御系统(NIPS),Snort通过分析网络数据包的特征和行为模式,识别出常见的网络攻击,并生成报警日志。
2.实践过程
一、防火墙配置
(1)过滤ICMP数据包,使得主机不接收Ping包;
| 虚拟机名称 | IP地址 |
|---|---|
| Metasploitable-Linux | 192.168.200.130 |
| Kali-Linux | 192.168.200.5 |
| Win2kServer | 192.168.200.195 |
| SEED | 192.168.200.7 |
| WinXPattacker | 192.168.200.3 |
在Kali虚拟机上安装iptables
sudo apt-get install iptables


在kali中使用iptables命令查看规则列表
sudo iptables -L

开启WinXPattacker虚拟机测试与kali之间的连通性,两虚拟机机可互ping


再返回kali虚拟机,使用以下命令丢弃icmp数据包,此时再使用iptables -L命令查看当前的规则表发现丢弃icmp数据包的规则已经添加成功。
sudo iptables -A INPUT -p icmp -j DROP

再回到WinXPattacker虚拟机尝试ping通kali会发现无法ping通

回到kali虚拟机使用以下命令,将刚刚丢弃icmp数据包的规则删除,查看当前规则列表确保规则已经删除
sudo iptables -A INPUT -p icmp -j DROP

删除丢弃icmp数据包的规则后 再次尝试ping通kali虚拟机成功

(2)只允许特定IP地址(如局域网中的Linux攻击机192.168.200.3),访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址(如Windows攻击机192. 168.200.4)无法访问
在kali上使用以下命令安装telnetd和ftp并且开启
sudo apt-get install xinetd telnetd #安装telnet
sudo apt-get install vsftpd #安装ftp


使用以下命令开启ftp
/etc/init.d/vsftpd start
/etc/init.d/vsftpd status

分别在 SEED和WinXPattackerftp虚拟机上链接ftp
ftp 192.168.200.5


回到kali虚拟机使用以下命令,删掉所有与INPUT连接中任何规则都不匹配的数据包,只接受来自192.168.200.7(SEED)的请求:
sudo iptables -P INPUT DROP
sudo iptables -A INPUT -p tcp -s 192.168.200.7 --dport 21 -j ACCEPT

此时IP为192.168.200.7的SEED虚拟机仍然可以进行ftp链接

WinXPattackerftp虚拟机ftp链接失败

二、动手实践:Snort
使用Snort对给定pcap文件进行入侵检测,并对检测出的攻击进行说明。
Snort运行命令提示如下:
①从离线的pcap文件读取网络日志数据源
②在snort.conf中配置明文输出报警日志文件
③指定报警日志log目录(或缺省log目录=/var/log/snort)
sudo snort -r /etc/snort/listen.pcap -c /etc/snort/snort.lua -A alert_fast -l /var/log/snort
在Snort的配置文件和规则文件各种模块的统计数据中,有 TCP、 UDP、telnet、wizard等

协议数据包模块中显示,IPv4:135560(99.985%),TCP:135512(99.950%),UDP:1(0.000%)


查看报警日志目录中的日志文件cd /var/log/snort,侵检测信息显示nmap发起本次攻击。

三、分析配置规则
打开蜜网网关
并且查看防火墙文件内容

输入su- 再使用以下命令
vim /etc/init.d/rc.firewall
create_chains() 函数,用于创建防火墙的chains,其中主要变量的作用:
Blacklist :用于阻止特定 IP 地址的访问
Whitelist :用于允许特定 IP 地址的访问
Penlist :用于记录从蜜罐中逃逸的 IP 地址
$BLACKLIST_ENABLED:是否启用黑名单功能。
$WHITELIST_ENABLED:是否启用白名单功能。
$PENLIST_ENABLED:是否启用笔录功能。
$FENCELOGDROP:用于记录从防火墙中逃逸的数据包。

FenceLogDrop用于记录从防火墙中逃逸的数据包:
tcpHandler 链:用于处理 TCP 协议的数据包。
udpHandler 链:用于处理 UDP 协议的数据包。
icmpHandler 链:用于处理 ICMP 协议的数据包。
otherHandler 链:用于处理其他协议的数据包

default_policy() 函数用于设置防火墙的默认策略,localhost_policy() 函数用于设置本地主机的访问规则,management_policy() 函数用于设置管理接口的访问规则。

查看服务开启状态,分页查看 iptables规则表
iptables -t filter -L | less
INPUT、FORWARD、OUTPUT的规则都DROP了


进入Snort 的启动脚本查看eth0接口的配置情况
vim /etc/init.d/snortd


检查 iptables 服务的配置状态和 Snort 服务状态
chkconfig --list | grep iptables
chkconfig --list | grep snort
可以看到输出显示 iptables 在运行级别 2、3、5 上都是开启的。即多用户模式和图形界面模式下是激活的,但在单用户模式下是关闭的。
Snort 在运行级别 2、3、5 上关闭,即 Snort 在所有运行级别上都没有被配置为自动启动。

确认自动更新
vim /etc/honeywall.conf
确认配置文件中有设置使得 Snort 规则能够自动更新。

3.学习中遇到的问题及解决
- 问题1:Metasploitable-Linux靶机无法ftp链接到kali虚拟机
- 问题1解决方案:更换使用SEED虚拟机
- 问题2:kali无法联网下载telnetd和ftp工具

- 问题2解决方案:修改/etc/network/interfacesi文件将网络配置设置为静态,等下载完毕再更换至动态。
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
4.实践总结
本周的实践主要需要对网络攻防中的防火墙配置、入侵检测以及蜜网网关的配置规则等方面进行操作。在防火墙配置方面,我了解了iptables的基本使用方法,包括规则的添加、删除等操作。通过实践,实现了过滤ICMP数据包以阻止主机接收Ping包的功能,并且能够根据特定IP地址控制对主机网络服务的访问权限。在分析蜜网网关的配置规则时,了解了防火墙和IDS/IPS的配置文件内容和各种配置项和函数的作用。这个周有很多内容需要对日志或者配置文件进行分析,特别是蜜网网关防火墙配置文件中从参数很多,我之前也没有学习过相关知识,在这个过程中也利用了大模型得到了配置项和各类函数的功能说明,帮助我更好的理解。

浙公网安备 33010602011771号