Debian系统下如何配置LNMP防火墙
导读: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
- 若需远程访问(如从其他服务器连接数据库),指定允许的IP地址(替换
- 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
