使用Ubuntu作为服务器系统需要考虑哪些安全设置?

在Ubuntu服务器上进行安全设置是至关重要的,以下是一份系统性的安全配置清单,建议按步骤实施:

一、基础系统安全

  1. 保持系统更新

    sudo apt update && sudo apt upgrade -y
    sudo apt autoremove
    # 配置自动安全更新
    sudo apt install unattended-upgrades
    sudo dpkg-reconfigure unattended-upgrades
  2. 创建专用用户账户

    sudo adduser <username>
    sudo usermod -aG sudo <username>  # 授予sudo权限

二、SSH安全加固

  1. 修改SSH端口(默认22端口)

    sudo nano /etc/ssh/sshd_config
    # 修改:Port 2222(或其他非标准端口)
  2. 禁用root登录

    PermitRootLogin no
  3. 使用密钥认证

    PasswordAuthentication no
    PubkeyAuthentication yes
  4. 限制登录IP

    AllowUsers user@192.168.1.*
  5. 重启SSH服务

    sudo systemctl restart sshd

三、防火墙配置

sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp  # SSH端口
sudo ufw allow 80/tcp    # HTTP
sudo ufw allow 443/tcp   # HTTPS
sudo ufw status verbose

四、服务安全

  1. 禁用不必要的服务

    sudo systemctl list-unit-files --type=service
    sudo systemctl disable <不需要的服务>
  2. 使用fail2ban防暴力破解

    sudo apt install fail2ban
    sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    sudo systemctl enable fail2ban

五、文件系统安全

  1. 设置严格的权限

    sudo chmod 600 /etc/shadow
    sudo chmod 644 /etc/passwd
  2. 配置文件完整性监控

    sudo apt install aide
    sudo aideinit

六、网络与内核安全

  1. 启用内核安全参数

    sudo nano /etc/sysctl.d/99-security.conf
    # 添加:
    net.ipv4.tcp_syncookies=1
    net.ipv4.ip_forward=0
  2. 禁用IPv6(如不需要)

    sudo nano /etc/sysctl.conf
    # 添加:
    net.ipv6.conf.all.disable_ipv6=1

七、应用层安全

  1. 为每个服务使用独立用户
  2. 定期备份重要数据
  3. 配置日志监控
    sudo apt install logwatch

八、高级安全措施(按需选择)

  1. 安装入侵检测系统:OSSEC
  2. 使用AppArmor/SELinux
    sudo apt install apparmor apparmor-utils
    sudo aa-enforce /path/to/profile
  3. 配置审计系统
    sudo apt install auditd

九、定期维护任务

  1. 检查系统日志:/var/log/auth.log/var/log/syslog
  2. 监控用户登录:lastwho
  3. 检查开放端口:ss -tulpnnetstat -tulpn
  4. 设置定期安全扫描

十、备份与恢复

  1. 配置自动化备份策略
  2. 定期测试恢复流程
  3. 离线存储备份副本

注意事项:

  • 所有配置修改前备份原文件
  • 生产环境建议先在测试环境验证
  • 使用复杂密码(长度>12位,混合字符)
  • 启用双因素认证(如Google Authenticator)
  • 定期审查sudo权限:sudo visudo

监控工具推荐:

  • Lynis:安全审计工具
  • ClamAV:病毒扫描
  • rkhunter:Rootkit检测
  • Nginx/Apache安全模块(ModSecurity)

实施后建议定期进行:

  1. 漏洞扫描
  2. 渗透测试
  3. 安全策略审查
  4. 更新应急响应计划

安全是一个持续过程,建议订阅Ubuntu安全通知(security-notices邮件列表)并及时响应安全公告。

云服务器