本文介绍如何在centos 7.2系统上为LNMP(Linux, nginx, mysql/MariaDB, php)环境配置防火墙规则,保障服务器安全。 我们将使用iptables进行配置,请注意,在生产环境操作前,务必在测试环境中进行验证。
步骤一:禁用firewalld
首先,我们需要禁用CentOS默认的firewalld防火墙服务:
systemctl stop firewalld.service systemctl disable firewalld.service
步骤二:设置iptables默认策略
接下来,设置iptables的默认策略,拒绝所有入站和转发连接,允许所有出站连接:
sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT
步骤三:添加允许规则
然后,我们添加允许特定端口和连接的规则:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- 允许已建立连接和相关连接: 这允许返回的流量通过防火墙。
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
- 允许ICMP (ping):
sudo iptables -A INPUT -p icmp -j ACCEPT
- 允许本地回环接口流量:
sudo iptables -A INPUT -i lo -j ACCEPT
- 允许ssh访问 (可选): 如果你需要远程管理服务器,请添加此规则。
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
步骤四:保存和重启iptables
最后,保存规则并重启iptables服务使更改生效:
sudo iptables-save > /etc/sysconfig/iptables sudo systemctl restart iptables
重要提示:
- 以上规则仅为基本配置,根据实际需求可能需要添加其他规则,例如允许MySQL端口(3306)访问等。
- 不熟悉iptables的用户,建议使用更易用的防火墙管理工具,如ufw。
- 定期检查和更新防火墙规则,确保服务器安全。
通过以上步骤,你就能为你的LNMP服务器设置基本的防火墙规则了。 记住,安全至关重要,请谨慎操作并根据你的具体情况调整规则。