我试图限制Linux机器上的MySQL 3306端口与localhost之外的任何连接,以防止外部攻击.我有以下代码,我不确定它是否正确:
Run Code Online (Sandbox Code Playgroud)iptables -A INPUT -p tcp -s localhost --dport 3306 -j ACCEPT iptables -A OUTPUT -p tcp -s localhost --dport 3306 -j ACCEPT iptables -A INPUT -p tcp --dport 3306 -j DROP iptables -A OUTPUT -p tcp --dport 3306 -j DROP
我的另一个问题是 - 只提供localhost访问权限是否正确?这是一个标准的专用centos网络服务器,上面有30多个域名.
Wil*_*gan 15
为什么不关闭MySQL的网络?
添加到my.cnf:
skip-networking
它应该通过强制通过管道连接来提供可忽略的性能改进,这会跳过用于网络部分的大量测试.请注意,更改后您将需要使用localhost 而不是 127.0.0.1.
小智 8
iptables -A INPUT -p tcp --dport 3306 -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
上述规则是将两行转换为单行.
回答你的第二个问题:
如果您不想从localhost以外提供mysql访问,那么以这种方式配置是完美的.简单.:-)
iptables -A INPUT -p tcp --dport 3306 -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j DROP
Run Code Online (Sandbox Code Playgroud)
如果要删除过滤,请使用以下命令:
iptables -D INPUT -p tcp --dport 3306 -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -D INPUT -p tcp --dport 3306 -j DROP
Run Code Online (Sandbox Code Playgroud)
注意:两者都可能需要 root,所以:sudo iptables (...)
| 归档时间: |
|
| 查看次数: |
26621 次 |
| 最近记录: |