首页主机资讯Debian系统下如何配置LNMP防火墙

Debian系统下如何配置LNMP防火墙

时间2025-10-29 22:46:05发布访客分类主机资讯浏览1469
导读:Debian系统下配置LNMP防火墙的详细步骤(以UFW为例) 在Debian系统中,UFW(Uncomplicated Firewall) 是最常用的防火墙管理工具,其语法简洁、易于操作,适合新手快速配置。以下是针对LNMP(Linux+...

Debian系统下配置LNMP防火墙的详细步骤(以UFW为例)

在Debian系统中,UFW(Uncomplicated Firewall) 是最常用的防火墙管理工具,其语法简洁、易于操作,适合新手快速配置。以下是针对LNMP(Linux+Nginx+MySQL+PHP)环境的防火墙配置流程:

1. 安装与启用UFW

首先更新系统软件包列表,安装UFW并启用它:

sudo apt update &
    &
     sudo apt upgrade -y  # 更新系统
sudo apt install ufw                    # 安装UFW
sudo ufw enable                         # 启用UFW(系统会提示确认,输入y即可)

启用后,UFW默认会拒绝所有传入连接,仅允许本地回环接口(localhost)的通信,确保初始状态安全。

2. 配置默认规则(可选但推荐)

为强化安全,建议设置默认规则:拒绝所有传入流量,允许所有传出流量(即服务器主动发起的连接不受限制):

sudo ufw default deny incoming          # 拒绝所有传入连接
sudo ufw default allow outgoing         # 允许所有传出连接

这一步可防止未明确允许的服务被外部访问。

3. 允许LNMP必需的服务端口

LNMP环境需要开放以下端口,对应各组件的默认服务:

  • Nginx(Web服务):HTTP(80端口)、HTTPS(443端口)
    sudo ufw allow 'Nginx Full'           # 一次性允许80/443端口(更便捷)
    # 或分开配置:
    sudo ufw allow 80/tcp                 # 允许HTTP
    sudo ufw allow 443/tcp                # 允许HTTPS
    
  • MySQL(数据库服务):默认3306端口
    • 若需远程访问(如从其他服务器连接数据库),指定允许的IP地址(替换your_remote_ip):
      sudo ufw allow from your_remote_ip to any port 3306 proto tcp
      
    • 若仅本地访问(推荐,降低风险),限制为localhost:
      sudo ufw allow from 127.0.0.1 to any port 3306
      
  • PHP-FPM(PHP处理器):默认9000端口(若使用Unix Socket则无需开放端口)
    sudo ufw allow 9000/tcp               # 允许PHP-FPM的TCP端口
    

⚠️ 注意:生产环境中,MySQL远程访问应严格限制IP范围,避免暴露数据库端口到公网。

4. 查看与管理防火墙规则

  • 查看当前规则及状态
    sudo ufw status                       # 查看简要规则(开启/关闭状态)
    sudo ufw status numbered              # 查看带编号的详细规则(便于后续修改)
    
  • 删除特定规则:若需移除某条规则(如误添加的端口),可通过编号操作:
    sudo ufw delete 2                     # 删除编号为2的规则(需先通过status numbered查看编号)
    
  • 重新加载规则:修改规则后,需重新加载使更改生效:
    sudo ufw reload                       # 重新加载规则(无需重启服务)
    

5. 其他实用配置

  • 设置开机自启:UFW默认会在系统启动时自动启用,如需手动控制,可使用以下命令:
    sudo systemctl enable ufw             # 启用开机自启(默认已开启)
    sudo systemctl disable ufw            # 禁用开机自启
    
  • 调整日志级别:若需记录被拒绝的连接(便于排查问题),可修改日志级别(可选low/medium/high/full):
    sudo nano /etc/default/ufw            # 编辑配置文件
    # 找到LOGLEVEL=low,修改为LOGLEVEL=high(更详细的日志)
    sudo ufw reload                       # 重新加载配置
    

备选:使用Iptables配置(可选)

若习惯使用传统防火墙工具,也可选择Iptables,但配置相对复杂。简要步骤如下:

sudo apt install iptables               # 安装Iptables
# 允许SSH、HTTP、HTTPS、MySQL端口
sudo iptables -A INPUT -p tcp --dport 22 -j 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 -p tcp --dport 3306 -j ACCEPT
# 设置默认策略(拒绝所有传入,允许所有传出)
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT
# 保存规则(需安装iptables-persistent)
sudo sh -c "iptables-save >
     /etc/iptables/rules.v4"

Iptables规则重启后会丢失,需通过iptables-persistent工具保存。

通过以上步骤,即可在Debian系统下为LNMP环境配置安全的防火墙规则。需根据实际业务需求调整端口开放范围(如限制MySQL仅本地访问),并定期检查规则有效性。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian系统下如何配置LNMP防火墙
本文地址: https://pptw.com/jishu/738276.html
PyTorch在Ubuntu上的内存管理怎样优化 Ubuntu Oracle内存配置如何调整

游客 回复需填写必要信息