【发布时间】:2025-11-30 04:15:01
【问题描述】:
我有一位同事是我们公司的成员,他需要从他家访问我们的 MySQL 服务器,在标准端口 3306 上。他将使用 mysqli 连接通过 PHP 脚本访问它。即使我通过 mysql 为他添加了访问权限,他也无法连接以获取可怕的“连接被拒绝”消息。我暂时禁用了 iptables 并让他尝试并且他能够连接。但是当然我必须重新打开 iptables,现在他又无法连接了。
我将 iptables 规则保存到一个文件并检查,其中唯一引用端口 3306 的行是这样的:
-A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT
我不是 iptables 专家,但我假设由于 3306 没有“INPUT”规则,这意味着端口 3306 对任何传入流量都关闭了。所以我的问题很简单也很直接:我怎样才能让那个端口对除了他之外的所有人都关闭?换句话说,我怎样才能让他的 IP 地址只使用端口 3306 上的 INCOMING 流量而不使用其他流量,同时保持服务器为 OUTPUT 流量工作?还值得注意的是,他的 IP 地址是动态的,并且会经常更改,所以我也想知道如何删除对 IP 地址的访问,并用新的替换它。谢谢。
【问题讨论】:
-
不寒而栗。听起来像“我怎样才能小心地将我的工作 MySQL 服务器设置为从互联网上被黑客入侵”。你的工作 MySQL 数据有价值吗?如果是,请购买网络安全人员的服务,他们可以为您组织 VPN 以保护家庭工作连接,并正确配置和测试您的安全设置。哦,请确保您对所有有价值的数据都有良好的备份。而且您已经更改了默认的 MySQL 管理员密码,不是吗?您可以通过移动到非标准端口(即 NOT 3306)来减少被自动黑客攻击的机会。
-
@barny 查看通用日志中的黑客尝试真是太棒了。很吓人。
-
确实如此。保重。