20212919 2021-2022-2 《网络攻防实践》实践5报告
20212919 2021-2022-2 《网络攻防实践》实践5报告
1.实践内容
基础知识 :
防火墙:中文意思的解释就是“两所房子之间或者一所房屋的两个部分之间的厚而高的墙,可以防止火灾蔓延” 在PC中产生了隔离的作用。防火墙是屏蔽一些没用的病毒与恶意软件的入侵。数据通常在使用互联网时在网络空间中的计算机与服务器和路由器之间进行交换,防火墙的目的是监视此数据并检查是否安全。防火墙可以保护计算机免受未经授权的远程访问,阻止链接到不需要的内容的消息,使在线游戏更安全,可以使用防火墙阻止不合适的内容,防火墙可以是硬件或软件。
Iptables开源防火墙:Iptables/Netfilter是基于防火墙的最流行的命令行。它是Linux服务器安全的头道防线。许多系统管理员用它来微调服务器。其作用是过滤内核中网络堆栈中的数据包,特性包括:列出数据包过滤规则集的内容;执行速度快,因为它仅检查数据包的头部;管理员可以根据需要,在数据包的过滤规则集中来增加、修改、删除规则;支持借助文件来备份和恢复。
入侵检测系统:入侵检测是指用来检测针对网络及主机的可疑活动的一系列技术和方法。入侵检测系统基本可以分为两大类:基于特征的入侵检测系统和异常行为检测系统。入侵检测系统(IDS)是监控网络或系统恶意活动或违反政策的设备或软件应用程序。任何入侵活动或违规行为通常通过安全信息和事件管理 (SIEM) 系统向管理员报告或集中收集。
2.实践过程
一、防火墙配置
任务要求:配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙,完成如下功能,并进行测试:
Linux操作系统上:
虚拟机 | IP |
---|---|
Kali | 192.168.200.10 |
SEEDUbuntu | 192.168.200.11 |
MetaSploitable_Ubuntu | 192.168.200.123 |
(1)过滤ICMP数据包,使得主机不接收Ping包;
在SEEDUbuntu上ping kali发现可以ping通。
在kali输入端输入Linux防火墙iptables命令iptables -A INPUT -p ICMP -j DROP拒绝进入防火墙的ICMP协议数据包。
在SEEDUbuntu上ping kali发现ping不通。
(2)只允许特定IP地址(如局域网中的Linux攻击机192.168.200.3),访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址(如Windows攻击机192. 168.200.4)无法访问
在kali和SEEDUbuntu上telnet MetaSploitable_Ubuntu显示正常。
设置MetaSploitable_Ubuntu不接收任何包的规则,命令为iptables -P INPUT DROP。
回到kali和SEEDUbuntu上telnet MetaSploitable_Ubuntu显示trying。
让 MetaSploitable_Ubuntu只接受kali的telnet请求
再回去kali上telnet MetaSploitable_Ubuntu显示正常。
实验完成后清除之前的规则。
Windows操作系统上:
虚拟机 | IP |
---|---|
Kali | 192.168.200.10 |
SEEDUbuntu | 192.168.200.11 |
WinXPattacker | 192.168.200.3 |
(1)过滤ICMP数据包,使得主机不接收Ping包;
用kali ping WinXPattacker显示成功。
进入 WinXPattacker的防火墙,将其还原为默认值。
查看ICMP设置显示取消勾选允许传入会显请求。
回到kali再次ping WinXPattacker显示失败。
(2)只允许特定IP地址(如局域网中的Linux攻击机192.168.200.3),访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址(如Windows攻击机192. 168.200.4)无法访问。
在WinXPattacker上显示Telnet命令是禁止的需要启动才能进行下一步实验。
将启动类型修改为自动类型,并启动。
查询是否已启动。
回到防火墙,在高级设置网络连接设置中添加Telnet服务器。
在kali和SEEDUbuntu上telnet WinXPattacker显示正常。
设置WinXPattacker限制kali的IP访问。创建安全策略:控制面板--管理工具--本地安全策略--IP安全策略右键--创建IP安全策略,进入设置向导,设置IP安全策略名称为“限制固定IP远程访问”,在警告提示框选择“是”,其他均保持默认点击下一步,如图。
结果如下图,创建了一个IP筛选器。
添加阻止特定IP访问的筛选器。点击添加--进入安全规则向导--一直保持默认设置点击下一步--遇到警告点击“是”。
显示如下界面。
添加一个IP筛选器为“阻止特定IP远程访问”确定后选择下一步。
源地址选择“一个特定的IP地址”,输入kali的IP :192.168.200.10
进入下一步,目标地址选我的IP地址,类型为TCP,设置IP协议端口“从任意端口”到23端口,如下图所示。
在筛选器可看到添加的信息,点击确定。
并且在防火墙的telnet服务器中,选择编辑,可查看端口号为23。
配置IP筛选器阻止的动作:在点确定后--选择配置的“阻止所有IP远程访问”,点击下一步,如图。
点击添加--选择阻止--确定,得到下图“新筛选操作”,代表的是阻止。
然后选中“新筛选操作”,点击下一步--完成,至此我们添加好了阻止特定IP访问的筛选器。
之后再添加允许特定IP访问的筛选器,与添加阻止特定IP访问的筛选器步骤类似。
继续点击添加--点击添加--进入安全规则向导--一直保持默认设置点击下一步--遇到警告点击“是”,结果如下。
点击添加--自定义IP筛选器名称为“允许特定IP远程访问”--添加--进入安全规则向导,如图。
点击下一步--源地址选择“一个特定的IP地址(SEEDUbuntu:192.168.200.11)”
下一步--目标地址选择“我的IP地址”--选择协议类型“TCP”--下一步--设置IP协议端口“从任意端口”“到此端口(输入23)”--下一步--完成。完成后,会在IP筛选列表看到添加的信息,如下图,再点击确定。
配置IP筛选器允许的动作:在点确定后--选择配置的“允许所有IP远程访问”,点击下一步。
点击添加(不使用添加向导)--选择许可--确定,得到下图“新筛选操作(1)”,代表的是允许。
选择新筛选器操作(1),点击下一步,完成添加允许特定IP访问的筛选器。
应用我们刚刚配置的两个IP安全规则(允许特定IP远程访问和阻止特定IP远程访问)
指派此安全规则:右键“限制固定IP远程访问”——选择“指派”,至此所有工作配置完成,如图。
回到kali上telnet WinXPattacker显示trying。
回到SEED上telnet WinXPattacker显示正常。
二、动手实践:Snort
使用Snort对给定pcap文件(第4章中的解码网络扫描任一个pcap文件,之前的实践已经提供了,请在云班课中下载)进行入侵检测,并对检测出的攻击进行说明。在BT4 Linux攻击机或Windows Attacker攻击机上使用Snort,对给定的pcap文件进行入侵检测,获得报警日志。
Snort运行命令提示如下:
①从离线的pcap文件读取网络日志数据源
②在snort.conf中配置明文输出报警日志文件
③指定报警日志log目录(或缺省log目录=/var/log/snort)
在kali上在root下用snort对listen.pcap文件进行入侵检测。
输入snort -c /etc/snort/snort.conf -r listen.pcap -K ascii,可以看到检测到的数据包信息,有TCP,ARP,主要是TCP。
运行命令vim /var/log/snort/snort.alert.fast进入/var/log/snort目录打开其中alert文件,可以发现其中包含多种攻击由nmap发起,可以从中找到SCAN nmap XMAS的关于nmap的报警信息。如DDOS中,其中源ip为172.31.4.178,目的ip为172.31.4.188。当然还有很多其他的信息:源地址、目的地址等。
三、分析配置规则
分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。
我们先使用su -提权转为root,输入vim /etc/init.d/rc.firewall去查看文件,如下图所示可以看到create_chains函数定义了3个链,白名单、黑名单和防护名单。
白名单是设置能通过的用户,白名单以外的用户都不能通过,黑名单是设置不能通过的用户,防护名单是部分包能通过。
为获取IPTables的实际规则列表、snort和snort_line的实际执行参数,输入iptables -t filter -L查看。
输入vim /etc/rc.d/init.d/snortd打开Snort脚本文件,可以看到监听网卡和存储配置文件的位置。
输入vim /etc/init.d/hw-snort_inline可以看到Snort_inline运行时参数,-D表示Daemon模式,-c表示读取config文件,-Q表示使用QUEUE模式,-l表示输出log文件的目录,-t表示改变程序执行时所参考的根目录位置。
为回答防火墙、NIDS、NIPS是如何启动,使用chkconfig --list|grep snort命令来对linux上运行的服务进行查询,可以发现NIDS的0~6都是off,说明是需要手动启动的,而防火墙和NIPS不全是off,是跟随系统启动的。
为回答蜜网网关中的Snort规则是如何升级,使用命令vim /etc/honeywall.conf打开配置文件,找到update variables,可以看到其值为no,不自动更新。
3.学习中遇到的问题及解决
-
问题1:使用snort时无法找到listen.pcap文件。
-
问题1解决方案:将terminal从桌面打开且使用root权限即解决
4.实践总结
实验中在配置Windows操作系统上设置允许和禁止访问权限时遇到很多不懂的问题,过程很复杂也很繁琐,需要一点耐心,不过一步步做下来也完成了。一开始还以为自己的蜜罐出现了问题无法完成实验,其实是权限问题没搞懂。这次实验使我对虚拟的使用变得越来越熟练了,对防火墙的理解也更加深刻了。
参考资料
http://blog.chinaunix.net/uid-26347676-id-3138447
https://www.cnblogs.com/alimac/p/5848372.html