ubuntu

LNMP在Ubuntu上的安全设置

小樊
41
2025-09-14 13:18:44
栏目: 智能运维

以下是Ubuntu上LNMP环境的安全设置要点:

  1. 系统基础安全

    • 定期更新系统和软件包:sudo apt update && sudo apt upgrade
    • 禁用root远程登录:修改/etc/ssh/sshd_config,设置PermitRootLogin no
    • 使用SSH密钥认证:配置PubkeyAuthentication yes,禁用密码登录。
    • 修改SSH默认端口:编辑/etc/ssh/sshd_config,将Port 22改为非标准端口。
  2. 防火墙配置

    • 启用UFW并限制端口:仅允许SSH(默认22,可自定义)、HTTP(80)、HTTPS(443)等必要端口。
      sudo ufw allow ssh  
      sudo ufw allow http  
      sudo ufw allow https  
      sudo ufw enable  
      ```。  
      
      
  3. LNMP组件安全

    • Nginx
      • 配置SSL证书(Let’s Encrypt免费获取):使用Certbot工具自动生成配置。
      • 禁用不必要的HTTP方法(如PUT、DELETE),限制目录访问权限。
    • MySQL
      • 删除默认数据库和用户,仅保留必要账户,设置强密码。
      • 限制远程访问IP(若需远程连接):sudo ufw allow from <IP> to any port 3306
    • PHP
      • 禁用危险函数(如execsystem),修改php.ini配置。
      • 确保PHP-FPM仅监听本地或指定IP:编辑/etc/php/7.x/fpm/pool.d/www.conf,设置listen参数。
  4. 权限与日志管理

    • 设置文件和目录权限:敏感文件(如配置文件、数据库文件)权限设为640600,目录权限设为750700
    • 启用日志审计:定期查看/var/log/nginx//var/log/mysql/等日志,监控异常访问。
  5. 增强安全工具

    • 安装Fail2Ban:防止暴力破解SSH和Web服务。
    • 启用AppArmor/SELinux:限制程序权限,增强系统防御。
    • 定期备份数据:使用rsynctar备份配置文件和数据库,存储至安全位置。

参考来源:[1,2,3,4,5,6,7,8,9,10]

0
看了该问题的人还看了