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通了。
第二题
- 确定主机A,C是否可以使用telnet服务。【我的是都不可用,参考kaliLinux 安装 telnet和Linux 如何开放端口和关闭端口和ubuntu搭建telnet服务】
- 设置规则
iptables -A INPUT -p tcp -s 192.168.200.7 -j ACCEPT
- 【在做实验过程中,主机A的地址发生了变化,变为
192.168.200.7
】,所以在设置规则时,一开始一直不成功。所以会看到两条自定义规则。原因不明。
- 主机A上
- 主机B上
- 命令
iptables -F
和iptables -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
来查看规则.(出现问题,未解决)
- 通过
vim /etc/init.d/snortd
打开Snort脚本文件,可以看到些参数的选项:默认监听网卡为eth0,默认使用snort.conf
- 使用
vim /etc/init.d/hw-snort_inline
打开snort_inline获取实际执行的参数。
密网网关开机之后,防火墙、NIDS、NIPS是如何启动的?
- 使用
chkconfig --list |grep iptable(snort)
命令来进行查询(出现同样的问题,未解决)
snort规则是如何自动升级的?
- 默认是不自动更新的,但其有自动更新的软件Oinkmaster。
- 使用
vim /etc/oinkmaster.conf
打开该文件.发现了snort.conf规则文件,使用了Oinkmaster进行了snort规则的更新。
学习中遇到的问题及解决
telnet不可用
在设定规则后,主机A并不能成功登录。
- 在做实验过程中,主机A的地址发生了变化,变为
192.168.200.7
,所以在设置规则后,过滤错误,实验一直不成功。所以会看到两条自定义规则。
在蜜罐主机中,查看文件空白
- 提升权限,使用
su
,输入密码。
在蜜罐主机中,许多命令无法识别
- 尝试安装也失败,目前还未解决。
学习感悟、思考
实验内容相对来说不多,但是在实验过程中浪费里许多时间花,在寻找主机的配置问题上。还有就是蜜罐主机出现问题,也不是每个同学都有的问题,目前也没有解决办法。其中有一部分做过的内容,有进行了一次梳理,加深理解。
参考资料
来源:https://www.cnblogs.com/20199321zjy/p/12637620.html