温馨提示×

LNMP在Ubuntu上如何进行安全加固

小樊
49
2025-07-03 08:05:00
栏目: 智能运维

LNMP是指Linux系统下Nginx、MySQL(MariaDB)、PHP这种网站服务器架构。在Ubuntu上设置LNMP环境时,可以采取以下安全措施:

系统更新与补丁管理

  • 更新软件包列表并升级系统:
    sudo apt update && sudo apt upgrade -y
    
  • 配置自动安全更新(可选):
    sudo apt install unattended-upgrades
    

账户与权限管理

  • 密码策略加固:
    sudo vim /etc/login.defs
    # 修改PASS_MAX_DAYS为90,PASS_MIN_DAYS为7,PASS_WARN_AGE为14
    
  • 禁用root远程登录:
    sudo vim /etc/ssh/sshd_config
    # 设置PermitRootLogin no
    
  • 创建专用运维账户:
    sudo useradd admin
    sudo usermod -aG sudo admin
    
  • 检查空密码账户:
    awk -F: '$2 == "" {print $1}' /etc/shadow
    
  • 删除/锁定多余用户与组:
    sudo userdel -r username
    sudo groupdel groupname
    sudo passwd -l username
    
  • 修改程序账号的登录shell:
    sudo usermod -s /sbin/nologin username
    
  • 限制超级管理员远程登录:
    sudo vim /etc/ssh/sshd_config
    # 设置PermitRootLogin no
    
  • 删除root以外uid为0的用户:
    awk -F: '$3 == 0 {print $1}' /etc/passwd
    sudo userdel -r username
    

SSH服务加固

  • 修改SSH端口:
    sudo vim /etc/ssh/sshd_config
    # 设置Port为2222
    
  • 禁用密码登录:
    PermitEmptyPasswords no
    
  • 启用公钥认证:
    PubkeyAuthentication yes
    
  • 配置防火墙:
    sudo ufw default deny incoming
    sudo ufw allow 2222/tcp
    sudo ufw allow 80/tcp
    sudo ufw enable
    

防火墙配置

  • 使用UFW(Ubuntu):
    sudo apt install ufw
    sudo ufw enable
    sudo ufw allow 2222/tcp
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    
  • 使用firewalld(CentOS):
    sudo firewall-cmd --permanent --add-port=2222/tcp
    sudo firewall-cmd --reload
    

服务最小化

  • 禁用非必要服务:
    sudo systemctl stop cups
    sudo systemctl disable cups
    
  • 检查网络监听:
    netstat -tulnp | grep php
    

文件系统加固

  • 关键目录权限:
    chmod 700 /etc/cron*
    chmod 600 /etc/shadow
    
  • 查找异常SUID文件:
    find / -type f -perm -4000 -exec ls -ld {} \;
    
  • 配置umask:
    echo "umask 027" >> /etc/profile
    

日志审计

  • 安装auditd:
    sudo apt install auditd
    
  • 监控关键文件:
    sudo auditctl -w /etc/passwd -p wa -k passwd_changes
    sudo auditctl -w /etc/shadow -p wa -k shadow_changes
    
  • 日志轮转配置:
    sudo vim /etc/logrotate.conf
    

内核参数加固

  • 编辑/etc/sysctl.conf文件:
    net.ipv4.conf.all.rp_filter = 1
    net.ipv4.icmp_echo_ignore_broadcasts = 1
    net.ipv4.tcp_syncookies = 1
    fs.protected_hardlinks = 1
    fs.protected_symlinks = 1
    sudo sysctl -p
    

安全工具部署

  • 安装AIDE文件完整性检查:
    sudo apt install aide
    

备份策略

  • 配置每日增量备份:
    tar -g /var/backup/snapshot -czvf /var/backup/$(date +%F).tar.gz /etc
    
  • 设置远程备份:
    rsync -avz /var/backup/ backupuser@backupserver:/backups/
    

以上步骤涵盖了在Ubuntu上安装和配置LNMP环境的基本流程,以及一系列安全加固措施,以确保服务器的安全性和稳定性。

0