使用iptables设置防御MySQL攻击,可以采取以下步骤:
- 禁止外部访问3306端口:MySQL的默认端口是3306,这是外部攻击者最可能尝试连接的端口。你可以通过以下命令禁止外部访问此端口:
sudo iptables -A INPUT -p tcp --dport 3306 -j DROP
这条命令会阻止所有尝试通过TCP协议访问3306端口的流量。
- 限制本地访问速率:你可以限制来自本地机器的访问速率,以防止暴力破解密码等攻击。以下命令将限制每分钟最多5个新的连接尝试:
sudo iptables -A INPUT -p tcp --dport 3306 -m state --state NEW -m recent --set
sudo iptables -A INPUT -p tcp --dport 3306 -m state --state NEW -m recent --update --seconds 60 --hitcount 5 -j DROP
第一条命令会创建一个新的规则,记录所有尝试连接到3306端口的流量。第二条命令则会根据记录的流量信息,如果某个IP地址在60秒内尝试连接超过5次,就将其加入黑名单并阻止其后续的连接尝试。
- 允许特定IP地址访问:如果你知道哪些IP地址是可信的,可以允许这些IP地址访问MySQL。例如,以下命令将允许IP地址192.168.1.100访问3306端口:
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 3306 -j ACCEPT
- 启用防火墙:确保你的系统防火墙已启用并正确配置。在Debian/Ubuntu系统上,你可以使用以下命令启用并配置ufw防火墙:
sudo ufw enable
sudo ufw allow 3306/tcp
在CentOS/RHEL系统上,你可以使用以下命令启用并配置firewalld防火墙:
sudo systemctl enable firewalld
sudo firewall-cmd --permanent --add-service=mysql
sudo firewall-cmd --reload
请注意,以上命令仅供参考,具体配置可能因系统版本和需求而有所不同。建议在进行任何更改之前备份重要数据,并仔细阅读相关文档或咨询专业人士的意见。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/1155354.html