20222925 2022-2023-2 《网络攻防实践》第五次作业

一、实践内容

理解防火墙的概念

在网络攻防中,防火墙是指在一个内部网络和外部网络之间用于执行安全保护策略的一个或一组系统,它可以使内部网络和外部网络或Internet既互相隔离,又互相连接,并以此来保护内部网络或主机。
在这里插入图片描述

实现防火墙功能的技术——包过滤技术

包过滤技术是一种基于网络层或网络层以上层面的协议数据的过滤技术,它通常是基于源IP地址和目标IP地址的过滤,或者基于协议
和端口的过滤,以及配合其他设备实现基于URL的过滤和病毒的过滤来实现对内部网络使用的保护。
优点:成本较低;对上层服务协议透明;处理速度相对较快。
缺点:当使用的过滤策略较多时,系统的配置将不容易掌握;容易成为IP Spoofing(IP欺骗)技术的攻击对象;在配置使用时,需要系统管理员具有较丰富的TCP/IP网络管理的经验;不能有效防止那些基于高层服务的攻击;当由路由器单独承担防火墙系统功能时,安全性较差。

iptables简介

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

iptables传输数据包的过程

① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。
② 如果数据包就是进入本机的,它就会沿着图向下移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。
③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。

iptables命令的管理控制选项

-A 在指定链的末尾添加(append)一条新的规则
-D 删除(delete)指定链中的某一条规则,可以按规则序号和内容删除
-I 在指定链中插入(insert)一条新的规则,默认在第一行添加
-R 修改、替换(replace)指定链中的某一条规则,可以按规则序号和内容替换
-L 列出(list)指定链中所有的规则进行查看
-E 重命名用户定义的链,不改变链本身
-F 清空(flush)
-N 新建(new-chain)一条用户自己定义的规则链
-X 删除指定表中用户自定义的规则链(delete-chain)
-P 设置指定链的默认策略(policy)
-Z 将所有表的所有链的字节和数据包计数器清零
-n 使用数字形式(numeric)显示输出结果
-v 查看规则表详细信息(verbose)的信息
-V 查看版本(version)
-h 获取帮助(help)
防火墙处理数据包的四种方式
ACCEPT 允许数据包通过
DROP 直接丢弃数据包,不给任何回应信息
REJECT 拒绝数据包通过,必要时会给数据发送端一个响应的信息
LOG在/var/log/messages 文件中记录日志信息,然后将数据包传递给下一条规则

二、实践过程

kali:192.168.59.128
SEEDUbuntu:192.168.59.132
WinXPattacker:192.168.59.133

1、防火墙配置

Linux操作系统平台

(1)过滤ICMP数据包,使得主机不接收Ping包
首先通过指令 iptables -F 清空kali上的防火墙的规则信息
再通过 iptables -L 列出规则
在这里插入图片描述
在添加过滤ICMP数据包的规则前,先检查Kali与SEEDUbuntu能否正常通信
在这里插入图片描述
通过指令 iptables -A INPUT -p icmp -j DROP 向iptables添加过滤ICMP数据包使得主机不接收Ping包的rule
再输入指令 iptables -L 列出规则,看看input中有没有刚才添加的rule,发现添加规则成功
在这里插入图片描述
此时Kali再ping SEEDUbuntu ping不通
在这里插入图片描述
打开SEEDUbuntu与kali中的wireshark,以icmp为条件过滤开始捕获,发现实际上Kali与SEEDUbuntu之间是有icmp数据包传递的,但因为防火墙的原因,icmp数据包都被过滤掉了,说明我们step3中添加的rule生效了

在这里插入图片描述

删除刚才设置的规则,通过指令 iptables -L -n --line-numbers查询rule对应的num,发现其编号num为1
在这里插入图片描述

再通过指令 iptables -D INPUT 1 删除编号num为1的rule
再次ping SEEDUbuntu发现能ping通了,说明删除成功
在这里插入图片描述
(2)只允许特定IP地址,访问主机的某一网络服务,而其他的IP地址无法访问

分别在kali和WinXPattacker上使用telnet 192.168.59.132登录SEEDUbuntu
请添加图片描述
请添加图片描述
在SEEDUbuntu上使用iptables -P INPUT DROP拒绝一切数据包流入,这时A和C上均无法键入指令
在这里插入图片描述
使用指令iptables -A INPUT -p tcp -s 192.168.59.128 -j ACCEPT开启kali对本机TCP服务,并用iptables -L查看规则
在这里插入图片描述
这时我们发现kali应该是可以正常访问telnet服务的,但是WinXPattacker仍无法访问
在这里插入图片描述

在这里插入图片描述

在SEEDUbuntu中使用iptables -F和iptables -P INPUT ACCEPT进行状态恢复
在这里插入图片描述

Windows操作系统平台

kali:192.168.59.128
SEEDUbuntu:192.168.59.132
WinXPattacker:192.168.59.133
(1)过滤ICMP数据包,使得主机不接收Ping包
打开WinXPattacker防火墙:打开操作面板→windows防火墙→高级→ICMP的设置,取消勾选“允许传入回显请求”,kali就ping不通了,重新勾选后恢复
在这里插入图片描述
在这里插入图片描述
在kali上通过telnet 192.168.59.133登录WinXPattacker
打开控制面板→管理工具→本地安全策略,右键IP安全策略选择创建IP安全策略,设置IP安全策略名称为限制固定IP远程访问,在警告提示框选择“是”,其它均保持默认
在这里插入图片描述
为新添加IP安全规则添加安全规则属性(和第一个添加规则步骤是相同的),警告选“是”
在这里插入图片描述
ip筛选列表选择添加,输入筛选名称阻止所有IP远程访问,再点击添加
先设置禁止所有IP访问->源地址:任何IP地址->目标地址:我的IP地址->协议:TCP->到此端口输入:23(23为telnet端口),其它均可保持默认
在这里插入图片描述
点击确定后->选择配置的“阻止所有IP远程访问”,下一步->添加->“阻止”->确定
在这里插入图片描述

在这里插入图片描述
回到限制固定IP远程访问页面,右键,选择指派,之后telent就不通了
在这里插入图片描述同样的操作,在阻止所有IP远程访问的安全策略中,新添一个IP筛选器列表,把源地址改为一个特定的IP地址,然后输入kali的IP地址192.168.59.128,重新指派一下,kali就能ping通了

2、动手实践snort

在kali上使用snort -r /home/kali/listen.pcap -c /etc/snort/snort.conf -K ascii对listen.pacp进行入侵检测,查看输出,我们可以看到检测出的数据包大部分为TCP数据包
在这里插入图片描述
通过vim /var/log/snort/alert打开输出的日志文件,但此时显示不存在这个文件,通过显示所有的文件,采用cat /log/snort/alert.fast,发现该文件就是报警日志文件
可以发现这个攻击是nmap发起的,当然还有很多其他的信息:源地址、目的地址等
在这里插入图片描述

3、分析配置规则

输入指令:vim/etc/init.d/rc.firewall,查看roo在开机启动的过程中iptables的初始化操作
在这里插入图片描述

在这里插入图片描述
找到start () 函数
在这里插入图片描述
分析create_chains函数中的配置规则
default_policy: 默认全部丢弃的规则
loaclhost_policy:允许本地主机转发的规则
management_policy:允许管理接口的规则
在这里插入图片描述
通过指令iptables -L获取IPTables的实际规则列表、snort和snort_line的实际执行参数
在这里插入图片描述
通过指令vim /etc/init.d/snortd查看snort包含实际运行的参数的脚本文件
在这里插入图片描述
通过指令vim /etc/honeywall.conf打开配置文件,找到update variables,发现密网网关rule_enable和snort_restart都是no,不是自动升级的
在这里插入图片描述

三、学习中遇到的问题及解决

kali无法通过telnet IP登录WinXPattacker
原因是WinXP没有启动telnet
在WinXP中点击开始–运行–输入services.msc,进入服务管理器界面
在“服务管理器”界面中找到Telnet 项,双击进入telenet属性界面,在常规选项卡中将启动类型改为自动或手动,再确定
在这里插入图片描述

四、学习感想和体会

通过本次实验,我对防火墙有了更进一步的理解,了解了iptables的操作命令,学会了给window电脑配置防火墙,同时增强了安全保护意识;通过使用snort,学会了对文件的入侵检测,在snort.conf中配置明文输出报警日志文件;通过观察配置文件,了解了虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则。
在实验过程中也遇到了很多问题,其中有些问题在之前的实验中也出现过(如kali无法上网,需要初始化网络配置)所以解决起来比较顺利,每次实验都要认真做,提高自己解决问题的能力!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值