20199316 2019-2020-2 《网络攻防实践》第6周作业
学号 2019-2020-2 《网络攻防实践》第6周作业
1.实践内容
防火墙
防火墙指的是在不同网络之间,对流量和访问进行控制的安全组件和设备。
防火墙的功能
-
检查控制进出网络的网络流量:这是防火墙的一个最基本的功能。检查数据包的包头、协议,然后根据管理员设定的要求,来放行流量或者直接拒绝。
-
防止脆弱或不安全的协议和服务:防火墙可以通过禁止一些不安全的协议通过,来保护内部网络。管理员也可以在服务器上关闭不安全的服务和禁止不安全的协议的报文来达到相同的目的。
-
防止内部信息泄露:防火墙可以屏蔽某些内部细节,来防止有关安全的线索被攻击者获取。
-
对网络存取和访问进行监控审计:防火墙可以记录下所有通过它的访问,并形成日志以供查阅。如果有可以的访问,防火墙也可以报警。
-
强化网络安全策略并集成其他安全防御机制:可以将很多安全机制配置在防火墙上。
防火墙的先天不足
-
无法防护来自内部的危险:防火墙只能对内、外部之间的通信进行防护。内部的危险防火墙无能为力。
-
通过非法外联的网络攻击:如果内部人员私自接入外部网络,防火墙无法阻止,也无法监视。
-
非网络形式的病毒传播:网络形式的病毒,防火墙可以检测和防范,但是通过磁盘、u盘等方式传播的病毒,防火墙无能为力。
防火墙技术
-
包过滤:通过对每个数据包的包头信息检查来确定是否应该接受数据包。
-
动态包过滤:通过防火墙的网络连接的记录,了确定某个数据包是属于一个新建连接,还是一个某个已经连里的连接的一部分。不仅会检查数据包,还会检查数据包再网络连接中的上下文。
-
代理技术:让主机和另一个网络进行间接的连接。首先先和一个代理服务器建立连接,然后向代理服务器发出一个其他服务器的连接请求,代理服务器就会和该服务器建立连接、去的资源,然后发送给主机。具体有:应用层代理技术,针对某一个具体的网络服务而提供的代理技术;电路级代理技术,同时对多个不同的网络服务提供服务的代理技术;NET代理技术,允许多个用户共同使用一个IP地址。
防火墙种类
-
集成包过滤功能的路由器
-
基于操作系统的软件
-
基于安全操作系统的防火墙
网络检测技术与系统
1.入侵检测技术
- 评估指标:检测率(系统捕获到的攻击行为与全部攻击行为比值)和误报率(对正常行为的误报数与全部报警数的比值)。
- 技术类型:特征检测(匹配特征库)、异常检测(检测与正常用户在统计方面的差别)。二者通常结合使用,提高入侵检测系统的整体检测性能。同时,基于这两种技术,也可以对入侵检测系统进行分类。
- 入侵防御系统:也叫内嵌式入侵检测,即对检测到的异常行为或者与特征库匹配的行为直接进行阻断,断开访问。
2.开源网络入侵检测系统snort基本介绍
- 简介:Snort是一个强大的网络入侵检测系统。它具有实时数据流量分析和记录IP网络数据包的能力,能够进行协议分析,对网络数据包内容进行搜索/匹配,可以检测各种不同的攻击方式,对攻击进行实时报警等。
四个主要部件:
1.数据包嗅探:将网卡设置为混杂模式,用libpacp函数来进行数据包监听和抓包。
2.预处理器:用于弥补检测引擎检测能力的不足。主要有TCP/IP协议栈模拟、应用层协议解码、异常检测。
3.检测引擎:是主题模块,主要包括规则库解析、多模式匹配、规则插件。
4.输出模块:进行各种多样化的报警和日志记录。
主要功能:
1.嗅探模式(从网络上读取数据包,常用命令snort -dev)
2.数据包记录模式(把数据包记录到硬盘上,常用命令snort -b)
3.网络入侵检测模式(载入规则库才能工作,Snort并不记录所有捕获的包,而是将包与规则对比,仅当包与某个规则匹配的时候,才会记录日志或产生报警)
3.VPN技术
- VPN即虚拟专用网,指利用大规模公共网络搭建虚拟链路来代替物理链路进行私密通信的技术,VPN主要采用隧道技术、加密技术、密钥管理和交换技术、身份认证技术等。
- 常见的VPN分类有:IPSec VPN;SSL VPN;MPLS VPN
2.实践过程
2.1防火墙配置
主机 | ip地址 |
---|---|
A_kali | 192.168.200.2 |
B_Ubuntu | 192.168.200.4 |
C MetaSploitable Linux | 192.168.200.5 |
- 过滤ICMP数据包,使主机不接受ping包
首先使用 seed ping接kali ,此时可以ping通
在kali中输入:iptables -A INPUT -p icmp -j DROP
使得主机不接受icmp的数据包
此时,kali ping不通,输入iptables -L
查看规则,看到不接受icmp的数据包的规则
配置成功!
最后输入iptables -F
删除自定义规则,此时又可ping通
- 只允许特定IP地址访问主机的某一网络服务,而其他IP地址无法访问
使用kali与seed进行telnet连接,此时可以连接
主机C也可以连接seed
在seed中输入:
iptables -P INPUT DROP #拒绝一切的数据包流入
在seed中输入:
iptables -A INPUT -p tcp -s 192.168.200.2 -j ACCEPT #接受来自kali的数据包
此时,kali与seed可以telnet连接,meta无法与seed进行telnet连接,iptables -F
进行自定义规则删除。
2.2Snort
将之前实验使用过的listen.pcap文件拖拽入kali桌面,输入命令:snort -r listen.pcap -c /etc/snort/snort.conf -K ascii
对listen.pacp进行入侵检测
看到检测出的数据包大多为Tcp数据包
在/var/log/snort/目录下打开alert文件,得到很多其他信息
2.3分析蜜网网关的防火墙和IDS/IPS配置规则
- 数据控制
打开iptables配置文件,输入:vim /etc/init.d/rc.firewall
对于属于黑名单的主机,丢弃所有包
对于属于白名单的主机,接受数据包
对于属于防护名单中的,是不允许被外部访问的蜜罐主机
输入iptables -L
可以查看实际规则列表,看到默认的规则OUTPUT、INPUT、FORWARD都已经被关闭了
输入vim /etc/init.d/snortd
,查看snort的脚本文件,可以看到实际运行时候的参数
输入vim /etc/init.d/hw-snort_inline
打开snort_inline的脚本文件,可以获取Snort_inline实际执行参数
输入chkconfig --list | grep[服务]
来查询当前服务是不是开启的,可以看到防火墙和NIPS(snort_inline)是跟随系统启动的,NIDS是需要手动启动的
输入vim /etc/honeywall.conf
,打开honeywall配置文件,可以看到snort默认为不自动更新
3.学习中遇到的问题及解决
- 问题1:kali telnet链接不上seed
- 问题1解决方案:见博客
- 问题2:2.3中部分指令无法执行
- 问题2解决方案:可以解决部分指令,担仍有许多指令不能执行。
4.实践总结
最后的实践作业有很多课本上没有涉及的操作方法,虽然实验内容相对来说不多,但是在实验过程中浪费里许多时间在寻找主机的配置问题上。还有就是蜜罐主机的部分命令不能执行问题,目前也没有解决办法。