把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end
旋转立方体
旋转立方体end
返回顶部

20211912 2021-2022-2 《网络攻防实践》第五周作业

20211912 2021-2022-2 《网络攻防实践》第五周作业

1 知识点梳理与总结

1.1 防火墙的功能

  • 检查控制进出网络的网络流量

  • 防止脆弱或不安全的协议及服务

  • 防止内部网络信外泄

  • 对网络存取和访问进行监控审计

  • 防火墙可以强化网络安全策略并集成其他安全防御机制

1.2 传统的防火墙的不足

  • 无法检测加密的Web流量

  • 普通应用程序加密后,也能轻易躲过防火墙的检测

  • 对于Web应用程序,防范能力不足

  • 应用防护特性,只适用于简单情况

  • 无法扩展带深度检测功能

1.3 iptables

  • 概念:netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换等功能

  • iptables的表(Tables):

功能
raw 用于配置数据包,raw中的数据包不会被系统跟踪
filter 用于存放所有与防火墙相关操作的默认表
nat 用于 网络地址转换
mangle 用于对特定数据包的修改
security 用于 强制访问控制 网络规则
  • iptables的链(Chains):表由链组成,链是一些按顺序排列的规则的列表;默认的filter表包含INPUT,OUTPUT和FORWARD3条内建的链,这3条链作用于数据包过滤过程中的不同时间点

  • iptables的规则(Rules):规则由一个目标(数据包包匹配所有条件后的动作)和很多匹配(导致该规则可以应用的数据包所满足的条件)指定,一个规则的典型匹配事项是数据包进入的端口、数据包的类型和数据包的目的端口;目标使用-j或者--jump选项指定,目标可以是用户定义的链、一个内置的特定目标或者是一个目标扩展,内置目标是ACCEPT,DROP,QUEUE和RETURN,目标扩展是 REJECT和LOG

  • iptables的一些常用指令:

命令 功能
iptables –F 删除iptables现有规则
iptables –L(iptables –L –v -n) 查看iptables规则
iptables -I INPUT 2 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT 添加一条规则到指定位置
iptables -R INPUT 3 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT 修改一条规则
iptabels -D INPUT 2 删除一条规则
iptables -P INPUT DROP 设置默认策略
security 用于 强制访问控制 网络规则

1.4 实践内容

2 虚拟机信息

虚拟机 IP地址
Kali 192.168.31.104
Seed Ubuntu16 192.168.31.174
Metasploitable_ubuntu 192.168.31.154
WinXPattacker 192.168.31.134

3 Linux防火墙配置

3.1 过滤ICMP数据包,使主机不接受ping包

  • SEED Ubuntu16上使用命令iptables -L查看规则,发现都是默认规则

  • 通过命令iptables -A INPUT -p icmp -j DROP使主机不接受icmp的数据包(-A表示追加一条规则,INPUT表示数据包入口(规则),-p用于匹配协议,-j表示指定如何处理(ACTION))

  • 此时Kaliping不通SEED Ubuntu16的,并且在SEED Ubuntu16上再次可以查看规则,可以看见多了一条icmp针对任何位置不允许访问的规则

  • 最后在SEED Ubuntu16上使用命令iptables -F删除自定义规则,此时Kali是可以ping通SEED Ubuntu16

3.2 只允许Kali访问SEED Ubuntu的telnet服务

  • 首先确定两台主机都可以进行telnet登陆

  • SEED Ubuntu16上使用命令iptables -P INPUT DROP指令拒绝一切的数据包流入,则两台主机无法进行telnet登陆

  • SEED Ubuntu16上使用命令iptables -A INPUT -p tcp -s 192.168.31.104 -j ACCEPT开启对Kali的TCP服务,则Kali可以重新进行telnet登陆,并且用iptables -L查看规则

  • 最后在SEED Ubuntu16上使用命令iptables -Fiptables -P INPUT ACCEPT恢复状态

4 Windows防火墙配置

4.1 过滤ICMP数据包,使主机不接受ping包

  • 打开WinXPattacker的防火墙,并在高级——ICMP设置中将允许传入回显请求前的勾去掉,此时Kaliping不通WinXPattacker


4.2 只允许Metasploitable_ubuntu访问WinXPattacker的telnet服务

  • 首先确定两台主机都可以进行telnet登陆

  • 依次打开控制面板——管理工具——本地安全策略,右键IP安全策略并点击创建IP安全策略进入设置向导,设置均保持默认

  • 点击添加进入设置向导,设置均保持默认

  • 点击添加进入设置向导

  • 点击添加进入设置向导,源地址选择Kali的IP地址目标地址选择我的IP地址协议类型选择TCP协议端口选择从任意端口到此端口23,剩余设置均保持默认



  • 选中新筛选器操作,点击下一步,点击添加,选择阻止


  • 同理建一个允许特定IP访问的筛选器,与上述不同的是,源地址选择Metasploitable_ubuntu的IP地址筛选器操作选择许可

  • 指派该IP安全策略后,发现Kali无法对WinXPattacker进行telnet登陆,而Metasploitable_ubuntu可以


5 Snort

  • 使用指令snort -r listen.pcap -c /etc/snort/snort.conf -K asciilisten.pacp进行入侵检测,-K ascii是为了指定输出log文件的编码为ASCII,可以看到检测出的数据包大部分为TCP数据包

  • /var/log/snort/目录下通过vim snort.alert.fast查看输出的日志文件,可以看到时间源地址目的地址等信息

6 分析蜜网网关的防火墙和IDS/IPS配置规则

  • 数据控制一般分为防火墙的控制和IPS对异常数据的限制。

  • 打开蜜网网关,使用命令vim /etc/init.d/rc.firewall,可以看到黑名单、白名单和防护名单三个链(对于黑名单的主机:丢弃所有包,对于白名单的主机:接受并不记录,对于防护名单的主机:禁止其访问某些不希望被访问到的主机)

  • 使用命令iptables -t filter -L | more来查看规则列表。其中的OUTPUT、INPUT、FORWARD等默认规则都已经被关闭了,而一些自定义的规则被添加在上面

  • 使用命令vim /etc/init.d/snortd打开Snort脚本文件,可以看到下图分别是一些参数的选项以及实际运行时的参数;例如:默认保存log文件二进制形式

  • 使用命令vim hw-snort_inline打开Snort_inline脚本文件,可以看到实际运行时的参数以及在最前面定义的参数;例如:-d表示日志包详细信息

  • 使用命令chkconfig --list | grep iptables/snort可以看到查询的服务是否开启,可以看到防火墙和NIPS是跟随系统启动的,NIDS不自动启动

  • 使用命令vim /etc/honeywall.conf打开honeywall配置文件,可以看到Snort规则默认是不自动更新的

7 学习中遇到的问题及解决

  • 问题1:在windows下过滤ICMP数据包,使主机不接受ping包时,允许传入回显请求前的勾无法改动
  • 问题1解决方案:将例外中的勾全部取消即可
  • 问题2:Kali和Metasploitable_ubuntu都无法访问WinXPattacker的telnet服务
  • 问题2解决方案:参考xp系统怎么开telnet功能

8 学习感悟、思考

  • 本次的实践较难,通过网上的一些参考资料学习了iptables的命令以及windows防火墙的配置,最终完成了,受益匪浅

9 参考资料

posted @ 2022-04-16 23:07  小忽悠yuooo  阅读(96)  评论(0编辑  收藏  举报