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
- 精细化访问控制:
- 使用 UFW 的limit规则减缓暴力破解:sudo ufw limit ssh(默认每分钟最多尝试约6次)
- 如需按源 IP 限制 SSH,可:sudo ufw allow from 203.0.113.10 to any port 22
- 用户生命周期管理:定期清理闲置/过期账户,锁定不再使用的账号,减少攻击面。
三 网络与防火墙
- 启用 UFW 并设置默认策略:sudo ufw default deny incoming,sudo 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=1、net.ipv4.conf.default.rp_filter=1、net.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/app,sudo aa-enforce /path/to/profile;问题定位可用aa-complain模式
- 系统加固:
- 移除或禁用不必要的服务/端口(如未使用的 FTP、Telnet)
- 审计与清理高风险位:限制 SUID/SGID 文件数量,仅保留必要项
五 日志、监控与备份
- 集中与审计:
- 启用并配置 Logwatch 定期汇总日志;
- 使用 Fail2ban 保护 SSH:安装后在**/etc/fail2ban/jail.local**启用 [sshd],示例:maxretry=5、bantime=3600、findtime=600;重启:sudo systemctl restart fail2ban;查看状态:sudo fail2ban-client status sshd
- 按需部署 IDS/IPS(如网络流量异常检测)提升入侵发现能力
- 恶意代码防护:安装 ClamAV 并更新病毒库,定期扫描下载目录、邮件目录与共享目录。
- 数据保护:对静态敏感数据启用LUKS/dm-crypt 磁盘加密;制定离线与异地备份策略,定期演练恢复流程。