20242802 2023-2024-2 《网络攻防实践》第五周作业

20242802 2023-2024-2 《网络攻防实践》第五周作业

1.实践内容与知识点

实践内容

一、防火墙配置

  1. ICMP数据包过滤。 实现主机对ICMP数据包的过滤功能,使得主机无法接收Ping请求,从而增强主机的隐蔽性。
  2. 基于IP地址的访问控制。配置防火墙规则,仅允许特定IP地址访问主机的指定网络服务,而拒绝其他IP地址的访问请求,以限制网络访问范围并提高安全性
  3. 网络服务的安装与访问测试。 在Linux系统中安装并启动FTP等网络服务,并通过其他虚拟机进行访问测试,验证服务的正常运行以及防火墙规则的生效情况。

二、动手实践Snort

  1. 入侵检测系统的配置与运行。使用Snort对给定的pcap文件进行入侵检测,配置Snort从离线文件读取数据源,并设置报警日志的输出方式和路径,以生成检测结果。
  2. 攻击行为的检测与分析。 分析Snort生成的报警日志,识别并说明检测到的攻击行为(如端口扫描、恶意连接等),了解网络攻击的特征和手段。
  3. 网络协议数据包的统计分析。查看Snort配置文件中协议数据包模块的统计数据,了解网络流量中不同协议的占比情况,为入侵检测提供数据支持。

三、分析配置规则

  1. 蜜网网关防火墙规则的分析。查看蜜网网关的防火墙配置文件,分析其规则链,黑名单、白名单等配置项的作用,了解防火墙如何控制网络流量的进出。

  2. IDS/IPS配置规则的解析。 分析蜜网网关中IDS/IPS的配置规则,了解其如何检测和阻止潜在的攻击行为,以及如何记录和处理从蜜罐中逃逸的IP地址等信息。

  3. 服务运行状态与配置的检查。iptables和Snort服务的运行级别配置情况,确认服务在不同运行模式下的启动状态,并查看Snort规则的自动更新设置,确保其能够及时应对新型攻击。

知识点

  • 防火墙:是位于内部网络与外部网络之间的网络安全设备,其主要功能是监控、控制和过滤网络流量,以保护内部网络免受外部威胁的攻击。
    1. 访问控制 可以根据预设的规则,允许或拒绝特定IP地址、端口或协议的网络流量。
    2. 网络隔离 将内部网络与外部网络隔离,防止外部网络的恶意攻击直接进入内部网络。
    3. 攻击检测与防御 可以检测和防御常见的网络攻击,端口扫描、DDoS攻击、恶意软件传播等。
    4. 日志记录与审计 可以记录网络流量的详细信息,包括访问时间、源地址、目的地址、使用的协议等。
  • 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的配置文件内容和各种配置项和函数的作用。这个周有很多内容需要对日志或者配置文件进行分析,特别是蜜网网关防火墙配置文件中从参数很多,我之前也没有学习过相关知识,在这个过程中也利用了大模型得到了配置项和各类函数的功能说明,帮助我更好的理解。

posted @ 2025-04-02 21:29  Anton_buer  阅读(72)  评论(0)    收藏  举报