温馨提示×

如何在LNMP中配置防火墙规则

小樊
50
2025-08-23 06:47:16
栏目: 编程语言

在LNMP中配置防火墙规则可根据系统类型选择工具,以下是常见方法:

一、使用iptables(适用于CentOS 6/7及Ubuntu)

  1. 查看规则sudo iptables -L
  2. 设置默认策略(拒绝入站、允许出站):
    sudo iptables -P INPUT DROP  
    sudo iptables -P FORWARD DROP  
    sudo iptables -P OUTPUT ACCEPT  
    
  3. 添加允许规则(HTTP/HTTPS/SSH等):
    sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # HTTP  
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # HTTPS  
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # SSH(可选)  
    sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  # 允许已建立连接  
    
  4. 保存并重启
    sudo service iptables save  # CentOS 6  
    sudo systemctl restart iptables  # CentOS 7/Ubuntu  
    

二、使用firewalld(适用于CentOS 7及以上)

  1. 启动firewalldsudo systemctl start firewalld
  2. 添加端口规则
    sudo firewall-cmd --permanent --add-port=80/tcp  # HTTP  
    sudo firewall-cmd --permanent --add-port=443/tcp # HTTPS  
    sudo firewall-cmd --permanent --add-port=22/tcp  # SSH(可选)  
    sudo firewall-cmd --reload  # 重新加载配置  
    
  3. 验证规则sudo firewall-cmd --list-all

三、使用ufw(Ubuntu默认,简化iptables操作)

  1. 安装并启用sudo apt install ufw && sudo ufw enable
  2. 添加规则
    sudo ufw allow 80/tcp  # HTTP  
    sudo ufw allow 443/tcp # HTTPS  
    sudo ufw allow 22/tcp  # SSH(可选)  
    
  3. 重启防火墙sudo ufw reload

四、使用ngx_lua_waf(Web应用层防火墙)

  1. 安装:下载并配置到Nginx模块目录。
  2. 修改Nginx配置:在nginx.conf中引入waf规则文件。
  3. 重启Nginxsudo service nginx reload

注意事项

  • 仅开放必要端口,避免暴露非必要服务。
  • 生产环境配置前需在测试环境验证,避免误操作导致服务中断。
  • 定期检查规则有效性,更新安全策略。

根据系统类型(CentOS/Ubuntu)选择对应方法,优先使用firewalld或ufw简化操作。

0