1 实践内容

  • 桔皮书:可信任计算机系统评估准则。计算机系统安全评估的第一个正式标准。
  • ISO 15408(通用准则)是国际统一的安全评估标准。
  • P^2DR安全模型
安全策略 防护策略 检测 响应
安全策略是模型的核心,所有的防护、检测、响应都是根据安全策略实施的,安全策略为安全管理提供管理方向和支持手段,策略体系的建立包括安全策略的制定、评估、执行等。制定可行的安全策略取决于对网络信息系统及其安全风险的了解程度。 保护机制就是采用一切手段保护信息系统的机密性、完整性、可用性、真实性和不可抵赖性。应该根据不同等级的信息系统安全要求来完善系统的安全功能、安全机制。 检测机制是动态响应和加强防护的依据,是强制落实安全策略的工具。通过不断的检测和监控网络和系统,发现新的威胁和弱点,并通过循环反馈来及时作出有效响应。 在检测到安全漏洞和入侵事件之后,必须实时做出正确反应,从而把系统调整到安全状态,对于威胁及安全的事件行为过程及时作出处理。杜绝危害进一步扩大时,系统能够提供正常的服务。





2 实践过程

2.1 防火墙配置

实践任务:
配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙,完成如下功能,并进行测试:
(1)过滤ICMP数据包,使得主机不接收Ping包;
(2)只允许特定IP地址(如局域网中的Linux攻击机192.168.200.3),访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址(如Windows攻击机192. 168.200.4)无法访问。

实验环境

主机 IP地址
kali(A) 192.168.200.5
SeedUbuntu(B) 192.168.200.3
WinXP MetaSploitable(C) 192.168.200.6

实验过程

第一题
  • 在主机B上,首先使用命令iptables -V,如果显示出版本号表示已经安装,如果没有,运行apt-get install iptables
  • 使用命令sudo iptables -L查看当前防火墙配置信息,对iptables的操作都必须有root权限。

  • 使用命令iptables -A INPUT -p icmp -j DROP添加规则,然后查看当前防火墙配置信息,添加成功。

  • 在主机A上,使用命令ping 192.168.200.3,发现不通

  • 在主机B上,使用命令iptables -F删除自定义规则,在主机A上,再次使用命令ping 192.168.200.3,发现ping通了。

第二题

  • 设置规则iptables -A INPUT -p tcp -s 192.168.200.7 -j ACCEPT
  • 【在做实验过程中,主机A的地址发生了变化,变为192.168.200.7】,所以在设置规则时,一开始一直不成功。所以会看到两条自定义规则。原因不明。

  • 主机A上

  • 主机B上

  • 命令iptables -Fiptables -P INPUT ACCEPT恢复之前的状态。
  • 至此,试验结束。

2.2 Snort

  • 通过使用snort和Wireshark分析:攻击机为172.31.4.178,靶机为172.31.4.188,namp发起的扫描。

  • 在Wireshark中筛选ARP,因为nmap每次探测主机活跃是在广播域内广播arp request报文,而nmap每次扫描之前都会进行主机活跃探测。

  • 第一个和第二次之间并没有数据包,可以确定第一次是采用namp -sP进行主机活跃探测。

  • 攻击机第一次nmap扫描和第二次nmap扫描之间没有数据包,表明第一次nmap扫描为探测目标IP是否活跃 nmap -sP 172.31.4.188.

  • 观察第二次扫描的末尾数据包,发现有大量的TCP协议、ICMP协议、UDP协议数据,并使用了大量构造的标志位,以触发不同的响应包。

  • 猜测该扫描为主动探测操作系统nmap -O扫描。Nmap内部包含了2600多种已知操作系统的指纹特征,正好与包的数量相符。

  • 第三组ARP后均为TCP协议数据,并且数据量庞大(从2071排到了133219),可以看到在数据包中存在大量SYN请求包,通过过滤器搜索 tcp.
  • 击主机对目标机的多个端口发送了SYN包,探测大量端口,有12万左右的包,并且大量端口是不可达的,所以每次探测一般发送的SYN和回复RST,正好与65535*2相符合.
  • 猜测以扫描的指令nmap -sS -p 1-65535 172.31.4.188进行TCP SYN全端口扫描.

  • 第四组ARP后,不仅有TCP协议数据,还有HTTP、TELNET、SMB应用层协议的数据。在TCP的端口中,某些端口是确定的,比如22号端口用于ssh登录.
  • 以22号端口为例使用过滤器命令为tcp.port == 22.
  • 除了建立TCP SYN扫描,还建立了ssh连接,这是为了探测靶机的网络服务,于是猜测攻击机对靶机进行了-sV的版本扫描.

  • 利用指令snort -r listen.pacp -c /etc/snort/snort.conf -K ascii对listen.pacp进行入侵检测.
  • 数据包、数据流信息.

  • 在【/var/log/snort/】目录下可以查找到【alert】文件,vim alert打开.

2.3 实践作业

上述脚本是如何实现蜜网的数据捕获和数据控制机制?

  • 数据捕获来源于日志记录、eth1上的嗅探器记录的网络流、sebek捕获的系统活动。数据控制一般包括两个方面,一个是防火墙对数据的控制,还有一个是IPS对异常数据的限制。查看rc.firewall中的名单、白名单、防护名单的链,不同的链中对不同来源的包的处理是不同的,从而实现数据控制。

  • vim /etc/init.d/rc.firewall查看防火墙文件,打开发现如下问题permission denied

  • 发现是忘记提升权限,使用su,输入密码。再次输入上述命令后,进入文件,可以查看。

获取IPTables的实际规则列表、Snort和Snort_inline的实际执行参数。

  • 通过指令iptables -t filter -L来查看规则.-t是指定规则表,-L表示列表(出现问题)

-(重新开机,不知道怎么又可以了),结果如下:

  • 通过 vim /etc/init.d/snortd 打开Snort脚本文件,可以看到些参数的选项:默认监听网卡为eth0,默认使用snort.conf

  • 使用vim /etc/init.d/hw-snort_inline 打开snort_inline获取实际执行的参数。)
-D 表示Daemon模式
-c 表示读取config文件
-Q 表示使用QUEUE模式
-l 表示输出log文件的目录
-t 表示改变程序执行时所参考的根目录位置。

密网网关开机之后,防火墙、NIDS、NIPS是如何启动的?

  • 使用chkconfig --list |grep iptables(snort)命令来进行查询(出现同样的问题),chkconfig命令主要用于检查,设置系统的各种服务。

  • (同样的解决办法)但如果再次使用命令还是不行。如果从0~6全是off,那就不自动启动。可以发现NIDS是需要手动启动的,防火墙、NIPS是跟随系统启动的。

snort规则是如何自动升级的?

  • 默认是不自动更新的,但其有自动更新的软件Oinkmaster。

  • 使用vim /etc/honeywall.conf,打开honeywall配置文件

  • 使用 vim /etc/oinkmaster.conf 打开该文件.发现了snort.conf规则文件,使用了Oinkmaster进行了snort规则的更新。



学习中遇到的问题及解决

telnet不可用

在设定规则后,主机A并不能成功登录。

  • 在做实验过程中,主机A的地址发生了变化,变为192.168.200.7,所以在设置规则后,过滤错误,实验一直不成功。所以会看到两条自定义规则。

在蜜罐主机中,查看文件空白

  • 提升权限,使用su,输入密码。

在蜜罐主机中,许多命令无法识别

  • 尝试安装也失败,目前还未解决。(后来再次开机就可用了,奇怪的bug)


学习感悟、思考

实验内容相对来说不多,但是在实验过程中浪费里许多时间花,在寻找主机的配置问题上。还有就是蜜罐主机出现问题,也不是每个同学都有的问题,目前也没有解决办法。其中有一部分做过的内容,有进行了一次梳理,加深理解。



参考资料

 posted on 2020-04-06 21:49  捞起月亮的渔民  阅读(289)  评论(0编辑  收藏  举报