温馨提示×

Ubuntu怎样提高系统安全性

小樊
40
2025-12-25 19:13:38
栏目: 智能运维

Ubuntu 系统安全加固清单

一 基础与系统更新

  • 保持系统与软件包为最新,及时修补漏洞:执行sudo apt update && sudo apt upgrade -y,必要时执行sudo apt dist-upgrade
  • 启用自动安全更新,仅自动安装安全补丁:安装sudo apt install unattended-upgrades,编辑**/etc/apt/apt.conf.d/50unattended-upgrades**,将仅安全更新设为自动,减少暴露窗口。

二 身份与访问控制

  • 创建非 root 管理员并加入sudo,日常以普通用户登录,执行特权命令前再提权,降低 root 暴露面:
    • 新建用户:sudo adduser myadmin
    • 赋权:sudo usermod -aG sudo myadmin
  • 强化 SSH
    • 禁用 root 远程登录:编辑**/etc/ssh/sshd_config**,设PermitRootLogin no
    • 使用密钥登录,禁用密码:设PasswordAuthentication no
    • 可选:更改默认端口(如Port 2222),并仅允许特定用户:AllowUsers myadmin
    • 修改后重启 SSH:sudo systemctl restart ssh
  • 精细化访问控制:
    • 使用 UFWlimit规则减缓暴力破解:sudo ufw limit ssh(默认每分钟最多尝试约6次)
    • 如需按源 IP 限制 SSH,可:sudo ufw allow from 203.0.113.10 to any port 22
  • 用户生命周期管理:定期清理闲置/过期账户,锁定不再使用的账号,减少攻击面。

三 网络与防火墙

  • 启用 UFW 并设置默认策略:sudo ufw default deny incomingsudo ufw default allow outgoing;按需放行:
    • sudo ufw allow OpenSSH(或放行具体端口如2222/tcp
    • Web 服务:sudo ufw allow 80/tcp, 443/tcp
    • 查看状态:sudo ufw status numbered
  • 进阶场景可用 iptables 实现更细粒度控制(示例仅放行 80/443/2222 与回环):
    • 放行:sudo iptables -A INPUT -p tcp --dport 2222 -j ACCEPT(同理 80、443)
    • 回环:sudo iptables -A INPUT -i lo -j ACCEPT
    • 默认丢弃:sudo iptables -A INPUT -j DROP
    • 持久化保存:sudo iptables-save > /etc/iptables/rules.v4
  • 内核网络防护(示例):net.ipv4.conf.all.rp_filter=1net.ipv4.conf.default.rp_filter=1net.ipv4.conf.all.accept_source_route=0,应用:sudo sysctl -p

四 服务、进程与内核安全

  • 最小权限运行服务:为每个服务配置专用非 root 用户/组,在单元文件中设置User=Group=,避免以 root 直接运行。
  • 限制服务暴露面:仅在内网或白名单网段开放管理端口;对管理接口可绑定127.0.0.1或内网地址。
  • 强制访问控制:启用并管理 AppArmor(Ubuntu 默认提供):
    • 查看状态:sudo apparmor_status
    • 为自定义程序生成/强化配置:sudo aa-genprof /path/to/appsudo aa-enforce /path/to/profile;问题定位可用aa-complain模式
  • 系统加固:
    • 移除或禁用不必要的服务/端口(如未使用的 FTP、Telnet)
    • 审计与清理高风险位:限制 SUID/SGID 文件数量,仅保留必要项

五 日志、监控与备份

  • 集中与审计:
    • 启用并配置 Logwatch 定期汇总日志;
    • 使用 Fail2ban 保护 SSH:安装后在**/etc/fail2ban/jail.local**启用 [sshd],示例:maxretry=5bantime=3600findtime=600;重启:sudo systemctl restart fail2ban;查看状态:sudo fail2ban-client status sshd
    • 按需部署 IDS/IPS(如网络流量异常检测)提升入侵发现能力
  • 恶意代码防护:安装 ClamAV 并更新病毒库,定期扫描下载目录、邮件目录与共享目录。
  • 数据保护:对静态敏感数据启用LUKS/dm-crypt 磁盘加密;制定离线与异地备份策略,定期演练恢复流程。

0