20211917 2021-2022-2 《网络攻防实践》第五周作业
1.知识点梳理与总结
1.1实验目标
网络攻防实践第5次实验,配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙。
1.2实验要求
https://edu.cnblogs.com/campus/besti/2021-2022-2-NADP/homework/12590
1.3实验原理
1.3.1防火墙
- 防火墙是一种用于控制不同网络间的通信和存取的安全部件和装置。
1.3.2防火墙技术
- 分组筛选:根据包头的信息,判断是否要接收分组。
- Dynamic Package:一个由一个防火墙建立的网路连线的纪录,来决定一个资料包是否属于一个新的连结或一个已连结中的连结。不但要对报文进行检验,还要对资料包再网路联接中的内容进行检验。
- Agent技术:使宿主与其他网络之间有一个间接的联系。首先与一台服务器建立连接,再将另一台服务器的连接要求发送到代理服务器,代理服务器建立连接、去资源,再将资源传送到主服务器。其中包括:采用基于特定的网络业务的应用层 Agent技术;在同一时间向多个不同的网络业务提供代理技术;NET Proxy技术,允许很多使用者共用一个 IP位址。
1.3.3防火墙部署方法
-
包过滤式路由器:在一个单一的节点上,装有一个包过滤式的防火墙。
-
双宿主堡垒主机:类似于包过滤路由器的部署方式,只是使用了城堡式主设备而非包过滤式路由器。
-
屏蔽主机:这就像是一个包过滤器和一个城堡,它把全部的存取资料都通过这两个地方。
-
屏蔽子网:基于对主机的遮盖,在其前面加入了另一个包过滤防火墙。
1.3.4netfilter/iptables
-
工作机制 IPtables中有三种基本的法则:
filter',网络地址转换
nat,特殊目的包更改
mangle。Filter中包括
INPUT'、 OUTPUT三个规则链条。这些规则是指发送到本地,本地发送,经过主机的发送。nat有
PREROUTING、 POSTROUTING`三个法则链条.其中包括:将未经路由的报文 IP和目标报文进行变换,将经过陆幽轩的报文 IP和目标端口的变换,以及 OUTPUT的局部报文 IP位址和端口的变换。 -
iptables的指令是:
iptables- t [table] command, match, target。-t
指明了包含 Gilter、 nat、 mangle在内的该规则的表格;raw (我在网络上找到的所有实例都是缺省)。cammand是指命令 iptables要怎么去执行,例如- A是将一个法则插入到一个链接的表格后面。match就是一个原则,只有符合这个规定的分组,它就会被处理。目标是在符合了这些条件以后要执行的事情,例如将数据分组 ACCEPT释放。具体的指令使用方法,我就不多说了。
1.3.5netfilter/iptables的NAT机制
- IP掩饰:在局域网中采用专用 IP,而 IP可以与防火墙相结合,实现 IP的身份隐藏。
- SNAT机制: SNAT可以根据使用者设定的 IP来自由转换 IP, IP是 SNAT的一种方式。请记住 SNAT的机理必须在 POSTOUTING链路由,以便在 IP的来源 IP发生变化前进行路由和包过滤。从192.168.254.2
表示发送的 IP地址为
192.168.254.2`。 - DNAT: DNAT在 PREROUTING链中进行,要求使用
I. iptables- t nat- a pEROUTING- ieth1- j DNAT, to192.168.254.128
.
1.3.6入侵防御系统
- 与 IDS的警报不一样,一旦发现了攻击,就会马上进行拦截。
1.3.7snort功能
- 数据包嗅探
- 数据包记录和分析
- 入侵检测
1.3.8snort的四个主要部件
- 数据包嗅探:设定网络卡片的混合方式,使用 libpacp功能监视和捕获数据包。
- 预处理器:用以补偿侦测引擎侦测功能上的缺陷。它包括模拟 TCP/IP协议栈,应用层协议解码,异常检测。
- 检测引擎:是一个主题的模组,包含规则库解析,多模式匹配,规则插件。
- 输出模块:执行多种不同的警报和日志。
2.实验过程
2.1过滤 ICMP包,使得主机无法接收到 ping包
-
先试试能不能 ping正常状态
-
可以看见,可以 ping。接着,进行IPTables- A INPUT- picmp- j DROP,即将规则加入到 INPUT链中,将 ICMP的所有资料包都抛弃。
-
然后再执行ping。
-
他的 Ping失败了。为了安全起见,我将增加的新的规定移除了iptables-dinput- p icmp- j DROP
-
现在可以看到,又能ping了。
2.2只有特定的 IP地址才能存取该服务。
-
首先,我们将会先对 telnet进行一次试验。
-
一开头没问题。在被存取的计算机上执行“iptables- P INPUT DROP”的指令,表示所有未符合某个规定的数据包都会丢失。
-
此时, telnet无法连接。
-
然后,在"192.168.254.128- j" ACCEPT
.接收来自
192.168.254.128 (kali)`的数据包。
-
然后重新 telnet链接
-
Kali已经可以了。然后尝试一下 winxp。
-
XP不能。为了安全起见,首先是
IPTables- D INPUT 192.168.254.128- j ACCEPT
删除指令,然后iptables- P INPUT
接收未指定的分组。
-
snort在第4章中被用于识别扫描器。首先,在使用 ASCII的情况下,使用 snort进行 pcap文件的检测。
-
我的 pcap文件在 download下没有移动。这样我们就能看到在输出中检测到的数据包了。
-
当没有规定警报记录文件夹时,默认的文件夹是
/var/log/snort
。打开目录,检查记录档。
-
这样就可以查看到记录档了,可以查看大量的资料。
2.3分析蜜网网关的防火墙和IDS/IPS配置规则。上述脚本是如何实现蜜网网关的数据的数据捕获和数据控制机制?获取IPTables的实际规则列表、snort和snort_line的实际执行参数。蜜网网关开机之后,防火墙、NIDS、NIPD如何启动?
2.3.1.数据捕获和数据控制
- 当我打开rc.fi re wall的时候,发现里面密密麻麻的代码,让我一个不懂代码的人都有些不知所措。我希望能读明白create_chains ()。不过我可以看出,他建立了黑名单,白名单,保护名单。
2.3.2.取得 IPTables和snort_line实际运行的规则列表
-
在上面运行
iptables- L
就能看到真正的法则清单(因为在这儿我不会在这个蜂蜜罐子里面翻一遍)还特意百度了一下。shift+上/下)。
-
当我获得 snort的实际运行参数时,我的蜂蜜罐主没有从教科书中得到的档案,它开启了 snortd的同一个目录。第一个是几个选择和预设的预设,第二个是真正要运行的参数。
- 然后取得snort_line的实际运行条件,这个文件是hw-snort_inline,这个文件在我的主机上也没有。
2.4蜜网网关开机之后,防火墙、NIDS、NIPD如何启动
chkconfig--列表
可以看到是否会自动开始。0-6都是 off,不会自己开始。可见 NIDS为全部 off,不会自行开始,另外两个选项会自行开启。
2.5Snort规则是如何自动升级的?
- 然后可以通过 vim/etc/honeywall.co nf来查询 snort。你可以看出,目前已关闭了。
3.学习感想和体会
- 问题1:防火墙、入侵检测、入侵防御的文件的程序看不懂。
解决方法:寻求同学帮助解决。 - 4.在以后的研究中,他也想通过对虚拟机的了解和运用来提升自己的实际操作水平。