温馨提示×

Ubuntu LNMP安全设置怎么做

小樊
72
2025-04-01 11:37:52
栏目: 智能运维

LNMP是指Linux系统下Nginx、MySQL、PHP这种网站服务器架构搭配,集性能、稳定性、可扩展性于一体,是目前流行的服务器环境。以下是Ubuntu LNMP安全设置的步骤:

安装和配置Nginx

  • 更新系统软件包:
sudo apt update
sudo apt upgrade
  • 安装Nginx:
sudo apt install nginx
  • 启动Nginx服务并设置为开机自启:
sudo systemctl restart nginx
sudo systemctl enable nginx
  • 测试Nginx是否正常运行:在浏览器中访问服务器的IP地址,如果看到欢迎页面,则说明Nginx安装成功。

安装和配置MySQL

  • 安装MySQL服务器:
sudo apt install mysql-server
  • 运行安全设置脚本来配置MySQL:
sudo mysql_secure_installation
  • 重启MySQL服务:
sudo systemctl restart mariadb

安装和配置PHP

  • 安装PHP和PHP-FPM:
sudo apt install php7.4-fpm php7.4-mysql
  • 配置Nginx以使用PHP-FPM:
sudo vim /etc/nginx/sites-available/default

server块中添加以下内容:

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}

保存并退出编辑器,然后重载Nginx配置:

sudo systemctl reload nginx

安全加固措施

  • 修改SSH端口:编辑/etc/ssh/sshd_config文件,修改SSH端口为一个非标准端口,以减少暴力破解攻击的风险。
Port 2222
  • 禁用root登录:在/etc/ssh/sshd_config文件中设置PermitRootLogin no,禁止直接通过SSH登录root账户。

  • 启用公钥认证:确保PubkeyAuthentication yes,使用密钥对进行身份验证。

  • 配置防火墙:使用ufw允许SSH和HTTP服务,并定期检查防火墙状态。

sudo ufw allow 2222/tcp
sudo ufw allow 'Nginx Full'
sudo ufw enable
  • 设置复杂密码:为所有用户账户设置复杂且难以猜测的密码,并定期更换。

  • 定期更新系统和软件包:使用unattended-upgrades包实现系统自动更新,定期手动运行sudo apt update && sudo apt upgrade

  • 监控和审计:定期检查系统日志,及时发现可疑活动。

以上步骤可以帮助您在Ubuntu上设置一个安全的LNMP环境。请根据您的实际情况调整端口和配置。

0