Ubuntu Exploit:如何保护系统安全
小樊
39
2025-12-24 01:18:44
Ubuntu 安全加固与漏洞防护实操清单
一 基础防护与系统更新
- 保持系统与软件为最新,及时修补漏洞:执行sudo apt update && sudo apt upgrade -y,必要时执行sudo apt dist-upgrade。为降低风险,建议启用自动安全更新:sudo apt install unattended-upgrades,并编辑**/etc/apt/apt.conf.d/50unattended-upgrades**,仅勾选security源,实现无人值守安全补丁安装。
- 创建非 root 管理员并禁用 root 远程登录:
- 新建用户:sudo adduser myadmin
- 赋权:sudo usermod -aG sudo myadmin
- 编辑**/etc/ssh/sshd_config**:设置PermitRootLogin no,重启 SSH:sudo systemctl restart ssh。
- 最小化安装与清理:仅安装必需软件,定期apt autoremove,关闭并禁用不需要的服务(如示例:sudo systemctl disable unnecessary_service)。
二 网络与远程访问加固
- 使用UFW实施最小暴露面:
- 启用并设默认策略:sudo ufw default deny incoming,sudo ufw default allow outgoing
- 按需放行:sudo ufw allow OpenSSH(或指定端口)、sudo ufw allow 80/tcp、sudo ufw allow 443/tcp
- 防暴力尝试:sudo ufw limit ssh(每分钟约6次后限速/封禁)。
- 强化SSH:
- 使用密钥登录,禁用密码:PasswordAuthentication no
- 更改默认端口(示例:Port 2222),仅允许特定用户:AllowUsers myadmin
- 重启生效:sudo systemctl restart ssh。
- 可选:进阶用iptables细粒度控制或按需调整内核网络参数(如rp_filter、关闭accept_source_route)。
三 身份鉴别与账户安全
- 登录失败锁定:在**/etc/pam.d/common-auth或/etc/pam.d/sshd**中加入失败锁定策略,示例:
- 使用 faillock:auth required pam_faillock.so preauth silent deny=5 unlock_time=600
- 或使用 tally:auth required pam_tally.so deny=5 unlock_time=600
- 限制su切换:在**/etc/pam.d/su加入auth required pam_wheel.so use_uid**(或group=wheel),仅允许wheel组切换 root。
- 关键文件权限:
- /etc/shadow:建议权限400/600,属主root:shadow
- /etc/gshadow:建议权限400,属主root:shadow
- /var/spool/cron:建议权限700,属主root:root
- 密码策略:设置密码最长使用天数(如:chage -M 90 username),避免长期使用同一口令。
四 运行时防护与恶意软件应对
- 启用AppArmor:
- 启动与开机自启:sudo systemctl enable --now apparmor
- 查看状态:sudo apparmor_status
- 为自定义应用生成与加载配置:sudo aa-genprof /path/to/app,sudo aa-enforce /path/to/profile;问题定位可用aa-complain模式。
- 部署Fail2ban防暴力:
- 安装:sudo apt install fail2ban
- 复制配置:sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
- 启用 SSH 监狱(示例):
- enabled = true,port = ssh
- maxretry = 5,bantime = 3600(封禁1小时),findtime = 600(统计10分钟)
- 重启与查看:sudo systemctl restart fail2ban,sudo fail2ban-client status sshd。
- 防病毒与恶意软件:在需要保护共享文件或与 Windows 主机交互的场景,部署ClamAV并定期更新病毒库;同时牢记“最大的威胁往往来自执行不受信任代码”,谨慎运行未知脚本与来自不可信源的软件包。
五 漏洞响应与持续监测
- 快速修补流程:
- 更新索引与升级:sudo apt update && sudo apt upgrade -y
- 验证修复版本:例如检查libblockdev与udisks2是否已达修复版本(Ubuntu 各 LTS 与 25.04 已提供针对CVE-2025-6019的修复版本)。
- 重点漏洞提示:
- CVE-2025-6018/CVE-2025-6019为近期高危本地提权链,影响多发行版;Ubuntu 不受CVE-2025-6018影响,但需确保CVE-2025-6019对应组件已更新。
- 如环境存在polkit/udisks2相关风险,复核策略与版本,必要时参考发行版安全公告进行加固。
- 持续监测与审计:
- 实时查看认证日志:sudo tail -f /var/log/auth.log
- 定期漏洞扫描与基线核查:可用OpenVAS/Nessus做周期性扫描,结合日志分析工具(如Logwatch)形成报告与告警闭环。