首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >网安-防火墙基础性实验

网安-防火墙基础性实验

原创
作者头像
会洗碗的CV工程师
发布2023-12-22 23:49:00
发布2023-12-22 23:49:00
4080
举报
文章被收录于专栏:LongJava学习资料LongJava学习资料

一、实验目的

分析实验场景上存在的安全隐患,为其增加安全策略,提高服务器的安全性。根据实验步骤完成实验。

二、知识点

iptables使用

三、实验场景

某企业的线上服务器存在以下隐患:1.SSH登陆模式安全性低2.服务器受到3个IP地址的攻击3.MySQL服务存在远程访问隐患。作为安全运维工程师的你需要立即解决以上隐患。参考实验步骤操作说明,将实验中提供的存在隐患的实例进行防护,最后通过客户端验证服务器的隐患处理结果。

四、实验原理

iptables防火墙工作在网络层,针对TCP/IP数据包实施过滤和限制,iptables防火墙基于内核编码实现,具有非常稳定的性能和高效率;iptables属于“用户态”的防火墙管理体系。规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的主要工作就是添加、修改和删除这些规则。

五、实验设备

主机终端:RedHat服务器 *1台,RedHat主机 *2台

六、实验步骤

1、打开客户端A,在终端中输入:ssh 192.168.1.200(192.168.1.200为服务端IP)连接服务器(密码为:123456),连接成功(登出命令为exit)。如下图所示:

2、打开客户端B,在终端中输入:ssh 192.168.1.200(192.168.1.200为服务端IP)连接服务器(密码为:123456),连接成功(登出命令为exit)。如下图所示:

3、打开服务端,在终端中输入命令:iptables -L,可以查看当前iptables中的规则,如下图所示:

4、配置“限定ssh登陆IP”策略,限定登入IP为客户端A的IP(192.168.1.201)。具体配置命令如下:

5、配置完成后,在命令行中执行iptables -L查看刚才配置的策略,如下图所示:

6、配置SSH密钥验证模式:在客户端A主机中生成“密钥对”。打开客户端A的终端,输入命令ssh-keygen,依次回车,结果如下图所示:

7、把客户端A主机中生成的公钥文件传送至服务端主机:在当前客户端A主机命令行中执行:ssh-copy-id 192.168.1.200(192.168.1.200为服务端IP,密码为123456),如下图所示:

8、上一步骤执行完后,公钥文件已拷贝到服务器端,免密登陆配置完成,接着在客户端A中输入ssh 192.168.1.200(服务端IP),直接成功登入至服务端。如下图所示:

9、打开客户端B的终端,输入ssh 192.168.1.200(服务端IP)连接到服务器,提示网络错误,连接超时。如下图所示:

10、服务器受到了3个恶意IP攻击,分别为:69.176.14.76,76.28.112.31,24.127.157.117(恶意IP来自于赛门铁克的资料),需要配置策略禁止这3个IP数据传输。打开服务端,在终端命令行中输入如下命令,依次禁止这3个IP:

11、配置以上命令后,输入iptables -L进行查看刚刚的配置结果,如下图所示:

12、配置完之后在服务端中依次执行ping命令,对这三个IP执行ping操作。验证3个攻击IP是否不允许访问服务器,命令:ping 69.176.14.76,ping76.28.112.31,ping 24.127.157.117,如下图所示:

13、打开客户端A,在终端中输入命令:mysql –h 192.168.1.200 –uroot –p(IP地址为服务端IP,密码为123456),成功访问(退出命令:exit),如下图所示:

14、封锁MySQL服务(端口3306)向外提供服务,并允许本机访问。将端口3306的出入流量全部封锁,具体需要配置的规则如下:

iptables -A INPUT -p tcp --dport 3306 -j DROP

iptables -A OUTPUT -p tcp --sport 3306 -j DROP

在服务端命令行中输入如以上命令,执行完以上命令后输入iptables -L查看配置结果,如下下图所示:

15、配置完步骤3后在客户端A中输入命令:mysql -h 192.168.1.200 -uroot –p(192.168.1.200为服务端IP,密码为123456),连接失败,如下图所示:

16、在服务端中执行命令:mysql -uroot –p(服务端mysql密码为空)后连接成功。如下图所示:

七、实验结果分析

1、配置iptables之后,客户端A可以通过SSH免密登录连接服务端,而客户端B不能连接。

2、配置iptables之后,在服务端中依次对三个恶意IP进行ping操作,均无法ping通。

3、配置iptables之后,客户端A连接服务器mysql服务失败,在服务器本地访问mysql服务,成功连接。

我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、实验目的
  • 二、知识点
  • 三、实验场景
  • 四、实验原理
  • 五、实验设备
  • 六、实验步骤
  • 七、实验结果分析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档