在Ubuntu上配置LNMP(Linux, Nginx, MySQL, PHP)防火墙主要涉及配置UFW(Uncomplicated Firewall)。以下是详细步骤:
首先,确保你的系统上已经安装了UFW。如果没有安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install ufw
安装完成后,启用UFW:
sudo ufw enable
系统会提示你确认是否启用UFW,输入 y 并按回车键。
接下来,配置UFW规则以允许必要的端口。LNMP通常需要以下端口:
你可以使用以下命令来添加这些规则:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 3306/tcp
sudo ufw allow 9000/tcp
为了能够远程管理服务器,确保允许SSH访问:
sudo ufw allow ssh
你可以使用以下命令查看当前的UFW状态和规则:
sudo ufw status
如果你需要临时禁用UFW,可以使用以下命令:
sudo ufw disable
如果你在配置过程中修改了防火墙规则,可以重新加载防火墙以应用更改:
sudo ufw reload
修改SSH端口:为了提高安全性,建议修改SSH的默认端口(22)为一个非标准端口,例如2222,并在 /etc/ssh/sshd_config 文件中进行配置:
Port 2222
然后重启SSH服务:
sudo systemctl restart sshd
修改Nginx配置:确保Nginx配置文件(通常位于 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/default)中没有阻止外部访问的设置,并监听正确的端口。
MySQL安全配置:运行 mysql_secure_installation 脚本进行基本的安全设置,包括设置强密码、删除匿名用户、禁止远程root登录等。
PHP配置:编辑PHP配置文件(通常位于 /etc/php/7.x/fpm/php.ini),设置 display_errors 为 On,以便在开发过程中显示错误信息,并设置 error_reporting 为 E_ALL,以报告所有错误。