CentOS7 自带防火墙加固系统,只允许白名单IP地址访问服务器22端口

一、背景

一般的运维人员,一拿到服务器,首先就是关闭本机防火墙,这样的做法在有硬件防火墙控制的条件下是可以的,但是如果没有硬件防火墙,不建议将linux操作系统本机防火墙关闭,而且应该遵循默认全部不通的原则,什么业务需要访问,再通过防火墙规则放通,确保服务器的安全。

二、代码安排

来,上代码

# 启动防火墙
systemctl start firewalld
# 查看防火墙状态
systemctl status firewalld
# 设置防火墙开机自启
systemctl enable firewalld
# 查看firewalld默认规则列表
firewall-cmd --list-all
# 增加防火墙规则,只允许白名单IP(192.168.0.100)访问服务器的22端口
# 注意:这一步一定要将白名单IP设置好了,不然这一部操作完后,不在白名单的服务器就不能ssh登录了。
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.100" port protocol="tcp" port="22" accept' --permanent
# 移除防火墙默认规则中的ssh登录默认规则
firewall-cmd --zone=public --remove-service=ssh --permanent
# 如果想回退,则把remove修改为add或者把add修改为remove
# 增加所有IP可以访问服务器ssh服务(22端口)
firewall-cmd --zone=public --add-service=ssh --permanent
# 重新加载防火墙配置
firewall-cmd --reload

三、我的生产实践

linux自带防护墙默认配置为所有机器都可以访问ssh服务。

安全加固

通过以下命令即可完成安全加固,只允许白名单内的IP地址可以访问服务器的22端口

# 只允许192.168.0.1访问服务器的22端口
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.1" port protocol="tcp" port="22" accept' --permanent

# 只允许192.168.0.2访问服务器的22端口
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.2" port protocol="tcp" port="22" accept' --permanent

# 只允许192.168.1.0/24访问服务器的22端口
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept' --permanent

# 将防火墙默认配置所有IP地址都可以访问ssh服务规则删除
firewall-cmd --zone=public --remove-service=ssh --permanent

# 重新加载防火墙配置
firewall-cmd --reload

# 显示防火墙规则
firewall-cmd --list-all

下图是最终完成加固后的防火墙规则。这个时候,就只有白名单的IP地址可以访问服务器的22端口,想要把其他端口放通,按照同样的方法设置即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值