Hello! 欢迎来到小浪云!


LNMP中如何配置防火墙规则


avatar
小浪云 2025-02-21 10

LNMP中如何配置防火墙规则

本文介绍在LNMP (Linux, Nginx, mysql, php) 环境下配置防火墙的多种方法,选择哪种方法取决于你的Linux发行版和具体需求。

方法一:使用iptables

iptables是Linux系统中常用的防火墙工具

  1. 查看当前规则: 使用 sudo iptables -L 命令查看当前iptables规则。

  2. 设置默认策略: 设置默认策略为拒绝所有入站连接,允许所有出站连接:

    sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT
  3. 添加允许规则: 允许httphttps流量:

    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # HTTP sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # HTTPS
  4. 保存规则: 使用 sudo iptables-save > /etc/iptables/rules.v4 保存规则 (路径可能因系统而异)。

  5. 启用并启动iptables: 使用你的系统管理工具启用并启动iptables服务 (例如 sudo systemctl enable iptables 和 sudo systemctl start iptables )。 重启iptables服务使配置生效 (sudo systemctl restart iptables)。

方法二:使用firewalld

firewalld是许多现代Linux发行版中更用户友好的防火墙管理工具

  1. 查看firewalld状态: 使用 sudo systemctl status firewalld 命令查看firewalld的状态。

  2. 关闭firewalld (可选): 如果你想完全禁用firewalld,可以使用 sudo systemctl stop firewalld 和 sudo systemctl disable firewalld 命令。 注意: 不建议完全禁用防火墙,除非你完全了解风险。

  3. 添加服务: 允许HTTP和HTTPS服务:

    sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=https
  4. 重新加载配置: 使用 sudo firewall-cmd –reload 命令重新加载firewalld配置。

方法三:使用ngx_lua_waf (Web应用防火墙)

ngx_lua_waf是一个基于nginx和Lua的Web应用防火墙,提供更高级的防护功能。这需要一定的Lua和Nginx配置经验。

  1. 安装ngx_lua_waf: 下载并安装ngx_lua_waf (安装步骤可能因版本而异,请参考ngx_lua_waf的官方文档)。

  2. 配置Nginx: 在你的Nginx配置文件中添加ngx_lua_waf模块的配置,包括规则路径、日志路径、白名单和黑名单等。 (请参考ngx_lua_waf的官方文档进行详细配置)。

  3. 重启Nginx: 使用 sudo service nginx reload 命令重启Nginx使配置生效。

选择以上方法中的任何一种,都需要根据你的实际情况进行调整。 记住在修改防火墙规则后,务必测试你的应用是否能够正常访问。 不正确的防火墙配置可能会导致你的服务器无法访问。 强烈建议在生产环境中进行操作前,先在测试环境中进行测试。

相关阅读