📌  相关文章
📜  使用 iptables 关闭外部端口 3306 (1)

📅  最后修改于: 2023-12-03 15:36:29.179000             🧑  作者: Mango

使用 iptables 关闭外部端口 3306

当你的服务器运行了 MySQL 数据库服务并暴露出外部端口 3306,这意味着任何人都可以连接到该端口并尝试访问你的数据库。为了增强服务器的安全性,你可以通过 iptables 工具关闭该端口。

iptables 简介

iptables 是 Linux 下的一个强大的防火墙工具,它可以过滤、修改、重定向、阻止流量,以实现网络安全、访问控制和其他网络相关的任务。

步骤

要关闭外部端口 3306,可以按照以下步骤操作:

  1. 使用 root 用户登录到服务器。

  2. 执行以下命令以让 iptables 以 root 用户权限运行:

    sudo su
    
  3. 查看当前 iptables 的规则列表:

    iptables -L
    

    你应该会看到一些规则类似于:

    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination         
    ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:mysql
    

    这意味着 iptables 允许在外部端口(tcp dpt:mysql)上接受传入的 MySQL 连接。

  4. 使用以下命令删除针对外部端口 3306 的规则:

    iptables -D INPUT -p tcp --dport 3306 -j ACCEPT
    

    注意,该命令只是删除了当前针对该规则的第一个匹配项,如果有多个匹配项,则需要多次运行该命令。

  5. 查看 iptables 规则列表以确保规则已被删除:

    iptables -L
    

    如果成功删除规则,则不应再看到任何针对外部端口 3306 的规则。

  6. 如果你希望永久性禁用外部端口 3306,可以将以上步骤在防火墙规则被重置后也能起作用的规则:

    iptables-save > /etc/sysconfig/iptables
    

    该命令将当前 iptables 规则存储到文件 /etc/sysconfig/iptables 中。

    这样,无论何时你为服务器重新启动 iptables 服务,你的规则都会保存下来。

结论

使用 iptables 可以轻松地保护你的服务器并增强其安全性。关闭外部端口 3306 可以防止恶意用户访问你的 MySQL 数据库,从而降低服务器遭受攻击的风险。