20232821 2023-2024-2 《网络攻防实践》实践5报告
一、实践内容
1、防火墙技术
防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。防火墙技术的功能主要在于及时发现并处理计算机网络运行时可能存在的安全风险、数据传输等问题,其中处理措施包括隔离与保护,同时可对计算机网络安全当中的各项操作实施记录与检测,以确保计算机网络运行的安全性,保障用户资料与信息的完整性,为用户提供更好、更安全的计算机网络使用体验。
2、其他网络防御技术
除了防火墙之外,安全业界在多年技术发展中也提出了多种其他的网络防御技术,主要包括VPN、内网安全管理、内容安全管理、统一威胁管理等,也形成了多样化的网络防御产品和设备,同防火墙一起,共同维护网络层面的安全性
3、入侵检测系统
IDS是计算机的监视系统,它通过实时监视系统,一旦发现异常情况就发出警告。以信息来源的不同和检测方法的差异分为几类:根据信息来源可分为基于主机IDS和基于网络的IDS,根据检测方法又可分为异常入侵检测和误用入侵检测。不同于防火墙,IDS入侵检测系统是一个监听设备,没有跨接在任何链路上,无须网络流量流经它便可以工作。因此,对IDS的部署,唯一的要求是:IDS应当挂接在所有所关注流量都必须流经的链路上。在这里,"所关注流量"指的是来自高危网络区域的访问流量和需要进行统计、监视的网络报文。在如今的网络拓扑中,已经很难找到以前的HUB式的共享介质冲突域的网络,绝大部分的网络区域都已经全面升级到交换式的网络结构。因此,IDS在交换式网络中的位置一般选择在尽可能靠近攻击源或者尽可能靠近受保护资源的位置。这些位置通常是:服务器区域的交换机上;Internet接入路由器之后的第一台交换机上;重点保护网段的局域网交换机上。
4、入侵防御系统
入侵防御系统(IPS: Intrusion Prevention System)是电脑网络安全设施,是对防病毒软件和防火墙的补充。入侵防御系统是一部能够监视网络或网络设备的网络资料传输行为的计算机网络安全设备,能够及时的中断、调整或隔离一些不正常或是具有伤害性的网络资料传输行为。
二、实践过程
1、防火墙配置
首先打开kali虚拟机,输入iptables -L查看规则,可以看到当前没有任何规则:
打开seedubuntu攻击机,使用ping命令检查与kali虚拟机的连通性,其中kali的ip地址为192.168.200.6:
(1)过滤ICMP数据包,使得主机不接收Ping包
在kali虚拟机中输入sudo iptables -A INPUT -p icmp -j DROP配置防火墙,过滤icmp包,并通过iptables -L查看规则,可以看到kali已经设置好了过滤icmp包的规则:
此时使用seedUbuntu攻击机对kali执行ping命令,发现无法连通:
输入sudo iptables -D INPUT -p icmp -j DROP将这条规则删除:
此时重新执行ping命令,发现又能够ping通:
(2)只允许特定IP地址,访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址无法访问
查看seedubuntu和metasploitable的ip地址,分别为192.168.200.3和192.168.200.123。此时,kali和seed两台虚拟机都能用telnet命令访问metasploitable:
在metasploitable中输入iptables -P INPUT DROP来禁止所有输入数据包,此时两台虚拟机都无法访问metasploitable:
metasploitable通过命令iptables -A INPUT -p tcp -s 192.168.200.6 -j ACCEPT来开启kali虚拟机tcp服务,可以使用iptables -L查看:
此时kali虚拟机能够使用telnet命令进行访问,而seedubuntu无法访问。
2、动手实践:Snort
使用Snort对给定pcap文件进行入侵检测,并对检测出的攻击进行说明
在ubuntu攻击机输入:snort -r /home/seed/Downloads/listen.pcap -c /etc/snort/snort.conf -K ascii 对之前实验中的listen.pacp进行入侵检测 (-c 表示选择snort配置文件,-r 表示从pcap格式的文件中读取数据包,-K ascii 用于指定输出日志文件为ASCII编码):
可以看到绝大多数的数据包都是tcp包,还有一部分的arp:
报警数据 Alerts有10条,被日志记录:
数据流统计如图:
输入cd /var/log/snort命令进入报警日志目录, vim alert查看日志文件。可以看到本次攻击主要是主机172.31.4.178对主机172.31.4.188的主机进行的nmap扫描:
3、分析配置规则
打开蜜网网关虚拟机,su -进入root模式,使用命令vim /etc/init.d/rc.firewall,可以看到黑名单、白名单和防护名单三个链(对于黑名单的主机:丢弃所有包,对于白名单的主机:接受并不记录,对于防护名单的主机:禁止其访问某些不希望被访问到的主机):
使用命令iptables -t filter -L | more来查看规则列表:
使用命令vim /etc/init.d/snortd打开Snort脚本文件:
可以看到它是默认使用默认目录下的snort规则,监听网卡为eth0,默认储存路径为/var/log/snort:
使用命令vim /etc/init.d/hw-snort_inline ,打开snort_inline的脚本文件查看实际执行参数。
各参数定义为:
-c表示读取config文件
-D表示Daemon模式
-Q表示使用QUEUE模式
-l表示输出log文件的目录
-t表示改变程序执行时所参考的根目录位置
使用命令chkconfig --list | grep iptables和chkconfig --list | grep snort可以看到查询的服务是否开启,0~6分别表示关机、单用户模式、无网络连接的多用户命令行模式、有网络连接的多用户命令行模式、不可用、带图形界面的多用户模式、重新启动。可以看出iptables和hw-snort_inline在无网络连接的多用户命令行模式下开始启动,而snortd不会自启动:
使用命令vim /etc/honeywall.conf打开honeywall配置文件:
三、学习中遇到的问题及解决
- 问题1:蜜网网关虚拟机,直接进去使用命令vim /etc/init.d/rc.firewall无效。
- 问题1解决方案:su -进入root模式,再使用命令vim /etc/init.d/rc.firewall 。
- 问题2:listen.pcap在之前实验中没保存在kali,而是在Ubuntu中。
- 问题2解决方案:在Ubuntu攻击机中也可以使用Snort对给定pcap文件进行入侵检测。
四、实践总结
本次实验学习了防火墙的配置和使用snort进行网络攻击的分析,分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则等相关的网络安全防范内容。
网络安全老三样:防火墙、入侵检测、杀毒软件。