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

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

使用 iptables 关闭外部端口 3306 - SQL

当我们需要保护数据库安全时,我们可能需要禁止外部访问数据库的端口,如外部端口 3306,以避免黑客利用漏洞获取敏感数据或执行恶意操作。

我们可以使用 iptables 工具来实现这一目标。以下是基本的 iptables 命令,可以在 Linux 终端中运行。

1. 首先,查看已有的 iptables 规则
sudo iptables -L -n

该命令可以列出 iptables 规则。我们需要知道规则的名称或编号,以便在后面的步骤中对规则进行修改或删除。

该命令输出的格式类似于:

Chain INPUT (policy DROP)
target     prot opt source               destination         
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3306
DROP       udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:3306
...

其中,DROP 表示规则的操作,tcpudp 表示该规则适用的协议,dpt:3306 表示该规则适用于目标端口为 3306。

2. 禁止外部访问端口 3306

如果没有名为 ssh 的规则,我们可以使用以下命令来阻止外部访问端口 3306:

sudo iptables -A INPUT -p tcp --dport 3306 -j DROP
sudo iptables -A INPUT -p udp --dport 3306 -j DROP

该命令将在 iptables 的 INPUT 链末尾添加两个规则,分别适用于 TCP 和 UDP 协议,并阻止源地址为任意地址的流量访问目标端口为 3306 的主机。此处,-A 表示添加规则,-p 表示协议,--dport 表示端口号,-j DROP 表示将匹配的流量丢弃。

如果要将该规则添加到链的开头,可以使用 -I 参数代替 -A 参数。例如:

sudo iptables -I INPUT -p tcp --dport 3306 -j DROP
sudo iptables -I INPUT -p udp --dport 3306 -j DROP
3. 保存 iptables 规则

为了在重启系统时保留 iptables 规则,我们需要将其保存到配置文件中。我们可以使用以下命令将当前 iptables 规则保存到 /etc/iptables/rules.v4 文件中:

sudo sh -c "iptables-save > /etc/iptables/rules.v4"
4. 恢复 iptables 规则

如果以后需要恢复 iptables 规则,只需将保存规则的文件 /etc/iptables/rules.v4 装载回 iptables 中:

sudo iptables-restore < /etc/iptables/rules.v4
小结

通过使用 iptables 工具,我们可以很容易地关闭外部端口 3306,以保护数据库的安全。

Markdown 返回代码片段:

# 使用 iptables 关闭外部端口 3306 - SQL

当我们需要保护数据库安全时,我们可能需要禁止外部访问数据库的端口,如外部端口 3306,以避免黑客利用漏洞获取敏感数据或执行恶意操作。

我们可以使用 iptables 工具来实现这一目标。以下是基本的 iptables 命令,可以在 Linux 终端中运行。

## 1. 首先,查看已有的 iptables 规则

sudo iptables -L -n


该命令可以列出 iptables 规则。我们需要知道规则的名称或编号,以便在后面的步骤中对规则进行修改或删除。

## 2. 禁止外部访问端口 3306

如果没有名为 `ssh` 的规则,我们可以使用以下命令来阻止外部访问端口 3306:

sudo iptables -A INPUT -p tcp --dport 3306 -j DROP sudo iptables -A INPUT -p udp --dport 3306 -j DROP


该命令将在 iptables 的 `INPUT` 链末尾添加两个规则,分别适用于 TCP 和 UDP 协议,并阻止源地址为任意地址的流量访问目标端口为 3306 的主机。此处,`-A` 表示添加规则,`-p` 表示协议,`--dport` 表示端口号,`-j DROP` 表示将匹配的流量丢弃。

如果要将该规则添加到链的开头,可以使用 `-I` 参数代替 `-A` 参数。例如:

sudo iptables -I INPUT -p tcp --dport 3306 -j DROP sudo iptables -I INPUT -p udp --dport 3306 -j DROP


## 3. 保存 iptables 规则

为了在重启系统时保留 iptables 规则,我们需要将其保存到配置文件中。我们可以使用以下命令将当前 iptables 规则保存到 `/etc/iptables/rules.v4` 文件中:

sudo sh -c "iptables-save > /etc/iptables/rules.v4"


## 4. 恢复 iptables 规则

如果以后需要恢复 iptables 规则,只需将保存规则的文件 `/etc/iptables/rules.v4` 装载回 iptables 中:

sudo iptables-restore < /etc/iptables/rules.v4


## 小结

通过使用 iptables 工具,我们可以很容易地关闭外部端口 3306,以保护数据库的安全。