当前位置: 首页 > 帮助中心

如何配置LNMP服务器的防火墙

时间:2026-01-26 14:43:32

配置LNMP(Linux, Nginx, MySQL/MariaDB, PHP)服务器的防火墙是确保服务器安全的重要步骤。以下是几种常见的防火墙配置方法,具体取决于你使用的Linux发行版。

使用 firewalld 配置防火墙(推荐用于CentOS/RHEL 7+)

    安装和启用 firewalld(如果尚未安装):

    sudo systemctl start firewalldsudo systemctl enable firewalld

    开放必要端口:

    sudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --permanent --add-service=httpssudo firewall-cmd --permanent --add-port=22/tcp# SSHsudo firewall-cmd --permanent --add-port=3306/tcp# MySQL(建议仅内网访问)

    重新加载配置:

    sudo firewall-cmd --reload

    查看当前规则:

    sudo firewall-cmd --list-all
使用 ufw 配置防火墙(适用于Ubuntu/Debian)

    安装和启用 ufw(如果尚未安装):

    sudo apt updatesudo apt install ufw

    配置 ufw 规则:

    sudo ufw allow 80/tcp# Nginx HTTPsudo ufw allow 443/tcp # Nginx HTTPSsudo ufw allow 3306/tcp # MySQLsudo ufw allow 22/tcp# SSH(建议限制访问)

    查看 ufw 状态:

    sudo ufw status

    重新加载 ufw 配置(如果修改了规则):

    sudo ufw reload
通用步骤

设置默认策略:

对于 iptables
sudo iptables -P INPUT DROPsudo iptables -P FORWARD DROPsudo iptables -P OUTPUT ACCEPT
对于 ufw,默认策略已启用。

允许已建立的连接:

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

允许本地回环接口流量:

sudo iptables -A INPUT -i lo -j ACCEPT

保存规则:

对于 iptables
sudo iptables-save > /etc/sysconfig/iptables
对于 ufw,规则会自动保存。针对LNMP的特殊配置

限制HTTP/HTTPS请求频率(防DDoS):

sudo iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 443 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

阻止恶意User-Agent:

sudo iptables -A INPUT -p tcp --dport 80 -m string --string "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)" --algo bm -j DROP

MySQL安全:

建议MySQL仅监听内网:
sudo iptables -A INPUT -p tcp --dport 3306 -s 192.168.1.0/24 -j ACCEPT
或完全阻止外网访问MySQL:
sudo iptables -A INPUT -p tcp --dport 3306 -j DROP

PHP安全:

阻止常见的PHP攻击模式:
sudo iptables -A INPUT -p tcp --dport 80 -m string --string "POST /wp-admin/admin-ajax.php" --algo bm -j DROPsudo iptables -A INPUT -p tcp --dport 80 -m string --string "eval(" --algo bm -j DROP

请根据你的具体需求和操作系统选择合适的防火墙配置方法,并在生产环境中进行充分测试。定期检查和更新防火墙规则是确保服务器安全的关键。


上一篇:如何根据Ubuntu Tomcat日志调整服务器配置
下一篇:PgAdmin连接Linux服务器失败怎么办
Linux
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素