在Debian系统中搭建LAMP(Linux, Apache, MySQL, PHP)环境时,通常使用ufw(Uncomplicated Firewall)来进行防火墙设置。以下是具体的操作流程:
1. 安装 ufw
首先检查系统是否已安装ufw。如果尚未安装,可以通过以下命令完成安装:
sudo apt update sudo apt install ufw
2. 启动 ufw
安装完成后,启动ufw服务:
sudo ufw enable
此时系统会提示你确认操作,输入y并回车以继续。
3. 开放必要的端口
LAMP环境常用到的端口包括:
- HTTP: 端口80
- HTTPS: 端口443
- SSH: 端口22(用于远程连接)
- MySQL: 端口3306
使用以下命令开放这些端口:
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 22/tcp sudo ufw allow 3306/tcp
4. 检查防火墙状态
你可以通过下面的命令查看当前防火墙的状态及规则列表:
sudo ufw status
5. 设置特定IP访问权限
如需限制仅特定IP地址可以访问服务器,可执行如下命令:
sudo ufw allow from <ip_address> to any port 80 sudo ufw allow from <ip_address> to any port 443 sudo ufw allow from <ip_address> to any port 22 sudo ufw allow from <ip_address> to any port 3306 </ip_address></ip_address></ip_address></ip_address>
请将其中的
6. 关闭 ufw
若要临时关闭防火墙,可使用以下命令:
sudo ufw disable
7. 刷新防火墙规则
修改了防火墙规则后,需要重新加载才能生效,使用以下命令刷新:
sudo ufw reload
8. 使用 iptables 进行高级配置
对于更复杂的防火墙需求,可以使用iptables工具。下面是一些基本的iptables命令示例:
-
允许HTTP和HTTPS流量:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
-
接受SSH连接请求:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
-
允许MySQL连接:
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
-
阻止所有未明确允许的传入流量:
sudo iptables -P INPUT DROP
-
保存当前iptables规则:
sudo iptables-save > /etc/iptables/rules.v4
加载已保存的规则文件:
sudo iptables-restore
按照上述步骤进行配置后,你的Debian LAMP环境即可具备基本的防火墙保护功能。
评论(已关闭)
评论已关闭