当前位置: 代码网 > 服务器>服务器>Linux > Linux限制ip访问的解决方案

Linux限制ip访问的解决方案

2025年01月04日 Linux 我要评论
背景:为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制。具体来说,就是要确保只有指定的内部ip地址能够访问这些服务。解决方案:使用firewalld防火墙规则有两种方式可以设置这些规则:1

背景:

为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制。具体来说,就是要确保只有指定的内部ip地址能够访问这些服务。

解决方案:使用firewalld防火墙规则

有两种方式可以设置这些规则:

1. 通过修改xml配置文件

首先,通过vim编辑器打开/etc/firewalld/zones/public.xml文件,然后添加以下示例规则:

<!-- 允许来自特定内部ip(如192.168.20.86/32)访问本服务器的mysql服务(默认端口3306) -->
<rule family="ipv4">
  <source address="192.168.20.86/32"/>
  <port protocol="tcp" port="3306"/>
  <accept/>
</rule>

解释:

  • <rule>:定义了一条规则。
  • 设置规则的family属性为ipv4
  • <source>:定义了允许的ip地址。在这个例子中,192.168.20.86/32表示仅允许此ip访问。
  • <port>:确定了目标端口和协议类型。这里指定了tcp协议下的mysql默认端口3306
  • <accept/>意味着当规则匹配时,流量将被允许通过。

2. 或者使用命令行直接添加规则

# 添加规则
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.20.86/32" accept'

# 移除规则
firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.20.86/32" accept'

注意:每次修改规则后都需要运行firewall-cmd --reload来重新加载防火墙配置。

验证方法

在其他服务器上,我们可以通过telnet命令进行验证:

telnet 192.168.20.86 3306

深度了解防火墙逻辑

防火墙工作时会依次检查每条规则。首先匹配源ip,然后是目标端口。若两者都匹配,则执行接受动作,允许流量通过。反之,则继续检查下一条规则,直至找到匹配条目或由默认策略处理。

应用场景与扩展

此方法非常适合用于加强数据库的安全控制,例如限制仅有特定ip能够连接mysql服务器3306端口。此外,在进行网络分隔时也非常有用,确保只有受信任的设备或服务才能相互通信。

最后,在需要拒绝特定ip访问时,可以使用 <reject/><drop/> 动作:

<rule family="ipv4">
  <source address="192.168.20.86/32"/>
  <port protocol="tcp" port="3306"/>
  <reject/>
</rule>

<reject/> 会向源头发送拒绝通知,而 <drop/> 则悄无声息地丢弃流量,适用于希望不泄露系统信息的场景。

到此这篇关于linux限制ip访问的解决方案的文章就介绍到这了,更多相关linux限制ip访问内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com