📅  最后修改于: 2023-12-03 15:36:29.179000             🧑  作者: Mango
当你的服务器运行了 MySQL 数据库服务并暴露出外部端口 3306,这意味着任何人都可以连接到该端口并尝试访问你的数据库。为了增强服务器的安全性,你可以通过 iptables 工具关闭该端口。
iptables 是 Linux 下的一个强大的防火墙工具,它可以过滤、修改、重定向、阻止流量,以实现网络安全、访问控制和其他网络相关的任务。
要关闭外部端口 3306,可以按照以下步骤操作:
使用 root 用户登录到服务器。
执行以下命令以让 iptables 以 root 用户权限运行:
sudo su
查看当前 iptables 的规则列表:
iptables -L
你应该会看到一些规则类似于:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:mysql
这意味着 iptables 允许在外部端口(tcp dpt:mysql)上接受传入的 MySQL 连接。
使用以下命令删除针对外部端口 3306 的规则:
iptables -D INPUT -p tcp --dport 3306 -j ACCEPT
注意,该命令只是删除了当前针对该规则的第一个匹配项,如果有多个匹配项,则需要多次运行该命令。
查看 iptables 规则列表以确保规则已被删除:
iptables -L
如果成功删除规则,则不应再看到任何针对外部端口 3306 的规则。
如果你希望永久性禁用外部端口 3306,可以将以上步骤在防火墙规则被重置后也能起作用的规则:
iptables-save > /etc/sysconfig/iptables
该命令将当前 iptables 规则存储到文件 /etc/sysconfig/iptables
中。
这样,无论何时你为服务器重新启动 iptables 服务,你的规则都会保存下来。
使用 iptables 可以轻松地保护你的服务器并增强其安全性。关闭外部端口 3306 可以防止恶意用户访问你的 MySQL 数据库,从而降低服务器遭受攻击的风险。