20242816 2024-2025-2 《网络攻防实践》第5次作业
20242816 2024-2025-2 《网络攻防实践》第5次作业
1 实践内容
一、防火墙配置
任务要求:配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙,完成如下功能,并进行测试:
(1)过滤ICMP数据包,使得主机不接收Ping包;
(2)只允许特定IP地址,访问主机的某一网络服务,而其他的IP地址无法访问
二、动手实践:Snort
使用Snort对给定pcap文件进行入侵检测,并对检测出的攻击进行说明。在BT4 Linux攻击机或Windows Attacker攻击机上使用Snort,对给定的pcap文件进行入侵检测,获得报警日志。
Snort运行命令提示如下:
①从离线的pcap文件读取网络日志数据源
②在snort.conf中配置明文输出报警日志文件
③指定报警日志log目录
分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。
2 实践过程
2.1 防火墙配置:过滤ICMP数据包
2.1.1 查看攻击机kali和靶机seedubuntu的ip地址
可以看到kali的ip地址为192.168.200.2,seedubuntu的ip地址为192.168.200.5
2.1.2 输入iptables -L查看kali的规则表
2.1.3 在seedubuntu上ping kali主机发现可以ping通
2.1.4 在kali中输入iptables -A INPUT -p icmp -j DROP,在防火墙中添加丢弃任意、目的地的来源的icmp数据包
2.1.5 再在seedubuntu上ping kali主机发现无法ping通
2.1.6 在kali中输入iptables -D INPUT -p icmp -j DROP,删除刚刚添加的规则
2.1.7 再在seedubuntu上ping kali主机发现可以ping通
2.2 防火墙配置:特定ip访问
2.2.1 分别通过kali和seedubuntu主机访问Metasploitable ubuntu主机的telnet服务
2.2.2 在Metasploitable ubuntu主机上输入sudo iptables -A INPUT -p tcp -s 192.168.200.2 -j ACCEPT,目的限制kali主机的telnet访问
2.2.3 分别再次通过kali和seedubuntu主机访问Metasploitable ubuntu主机的telnet服务
可以看到kali主机的telnet请求被拒绝,但seedubuntu仍能够访问telnet服务
2.2.4 在Metasploitable ubuntu主机上输入sudo iptables -D INPUT -p tcp -s 192.168.200.2 -j ACCEPT,删除限制
2.2.5 kali主机再次访问telnet服务。发现可以访问了
2.2.6 静态包过滤
在kali主机上输入 iptables -t filter -A FORWARD -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT ,当数据包源IP地址属于192.168.0.0/24,且目的IP地址属于192.168.1.0/24 ,执行ACCEPT
输入iptables -t filter -A FORWARD -d 192.168.200.7 -m state --state NEW -j ACCEPT ,在filter表中添加一条规则到FORWARD链,允许所有新的数据包流向192.168.200.7
输入iptables -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT,允许已建立网络连接和相关网络连接通过防火墙
输入iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4,将通过路由转发的网络连接的源IP地址都改为1.2.3.4
输入iptables -t nat -A PREROUTING -i eth1 -j DNAT --to 1.2.3.4,将通过将通过路由转发的网络连接的目的IP地址都改为1.2.3.4
2.3 动手实践:Snort
2.3.1 下载snort: apt install snort
2.3.2 输入sudo snort -r /etc/snort/listen.pcap -c /etc/snort/snort.lua -A alert_fast -l /var/log/snort,对listen.cap进行入侵检测
2.3.3 输入vim /etc/snort/snort.lua,把alert_full的注释去掉并且file = true,用于生成日志报告
2.4 分析配置规则
攻击机的IP为172.31.4.178,靶机IP为172.31.4.188,使用的是nmap SYN scan 攻击方式
2.4.1 打开蜜罐honey主机,提权后输入输入vim /etc/init.d/rc.firewall
2.4.2 输入i进入编辑模式,查看create_chains函数其中的黑名单、白名单、防护名单等信息
2.4.3 输入iptables -t filter -L | less,查看规则表
2.4.4 输入vim /etc/rc.d/init.d/snortd,查看snort的脚本文件,可以看到默认目录下的snort.conf规则,监听网卡为eth0,存储日志路径为/var/log/snort
2.4.5 输令vim /etc/init.d/hw-snort_inline,查看snort_inline的脚本文件,-D为Daemon模式,-c为config文件,-Q为使用QUEUE模式,-l为输出log文件的目录,-t表示改变程序执行时所参考的根目录位置
2.4.6 输入chkconfig --list | grep iptables,查看防火墙服务开启状态,输入chkconfig --list | grep snort查看snort服务开启状态
2.4.7 输入vim /etc/honeywall.conf,查看更新方式
可以看到更新方式为no,不更新
3 学习中遇到的问题与解决
问题1:无法实现Metasploitable ubuntu主机
解决1:telnet特定的21端口解决问题
问题2:无法打开snort的日志文件,没法查看
解决2:学习了恩克同学的方法,修改了生成项得到解决
4 学习感悟
本次实验学习了解了防火墙、snort入侵检测以及iptables等工具,通过这次实验,也学会了自己增加修改过滤规则,实现了数据包的过滤、限定特定ip访问等等功能,学习通过snort进行入侵检测和日志分析、同时对蜜网网关的防火墙和配置规则也有了更深层次的了解。让我意识到网络安全的重要性,我们要加强防火墙的应用、同时也要用合理的配置规则保护我们主机的安全,让我更深刻意识到网络安全的重要性
5 参考资料
https://www.cnblogs.com/zty1234/p/18796901
https://bbs.csdn.net/topics/618488854?spm=1001.2014.3001.6377