Ubuntu Exploit如何防范黑客利用
小樊
32
2025-12-10 05:55:44
Ubuntu Exploit 防范与处置
一 预防为先 持续加固
- 保持系统与软件为最新:执行sudo apt update && sudo apt upgrade;启用自动安全更新,安装并配置unattended-upgrades,编辑**/etc/apt/apt.conf.d/20auto-upgrades将APT::Periodic::Update-Package-Lists与APT::Periodic::Unattended-Upgrade设为"1",必要时用unattended-upgrades --dry-run --debug验证;系统自带定时器会在每天06:00与18:00后随机延迟执行更新。最小化安装与运行服务,删除不需要的软件包与端口(如telnetd/ftp/vsftpd/samba/nfs**)。启用UFW并默认拒绝入站:sudo ufw default deny incoming,sudo ufw enable;仅放行必要端口(如ssh)。强化SSH:禁用root远程登录(PermitRootLogin no)、优先使用密钥登录(PasswordAuthentication no)、可更改默认端口(如Port 5823),并限制可登录用户(AllowUsers/AllowGroups)。权限与账户:仅授予必要用户sudo,定期更换强密码;对关键文件设置最小权限(如**/etc/shadow 400/600,root:root**;/var/spool/cron 700,root:root;/etc/gshadow 400,root:root)。登录安全:配置失败锁定(如pam_tally2.so或pam_faillock.so deny=5 unlock_time=600),限制su仅wheel组(auth required pam_wheel.so use_uid/group=wheel),设置密码复杂度(如pam_cracklib.so minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1)。完整性防护:启用AppArmor(或SELinux),定期用Lynis自检;按需部署ClamAV进行恶意软件扫描(在共享/邮件等场景尤有价值)。
二 快速响应 发现与处置
- 立即隔离:将受疑主机从网络断开,避免横向扩散与数据外泄。证据留存:保全**/var/log/auth.log、/var/log/syslog等关键日志,可用grep/awk/journalctl检索异常登录、sudo滥用与可疑命令执行。定位漏洞:优先核对是否存在近期高危漏洞(如CVE-2025-32462/32463**),检查sudo版本(sudo --version),若低于1.9.17p1应尽快升级;同时审计**/etc/sudoers是否存在基于主机名的规则或允许–chroot (-R)的权限,必要时用visudo修正,并限制/etc/nsswitch.conf权限为644**。修复与验证:执行sudo apt update && sudo apt upgrade应用补丁,重启相关服务;再次验证sudo版本与sudo -l权限列表,确认功能正常且日志无异常。恢复与加固:从干净备份恢复受影响数据与配置,复核防火墙与SSH策略,开展一次全面安全审计与加固,随后恢复上线并持续监测。
三 关键加固命令清单
- 更新与自动安全更新
- sudo apt update && sudo apt upgrade
- sudo apt install unattended-upgrades
- echo ‘APT::Periodic::Update-Package-Lists “1”;’ | sudo tee /etc/apt/apt.conf.d/20auto-upgrades
- echo ‘APT::Periodic::Unattended-Upgrade “1”;’ | sudo tee -a /etc/apt/apt.conf.d/20auto-upgrades
- sudo unattended-upgrades --dry-run --debug
- 防火墙与端口
- sudo ufw default deny incoming
- sudo ufw enable
- sudo ufw allow ssh 或 指定端口:sudo ufw allow 5823/tcp
- SSH 强化
- sudo sed -i ‘s/^#PermitRootLogin./PermitRootLogin no/’ /etc/ssh/sshd_config
- sudo sed -i ‘s/^#PasswordAuthentication./PasswordAuthentication no/’ /etc/ssh/sshd_config
- echo ‘Port 5823’ | sudo tee -a /etc/ssh/sshd_config
- sudo systemctl restart sshd
- 登录与账户安全
- echo ‘auth required pam_tally2.so deny=5 unlock_time=600’ | sudo tee -a /etc/pam.d/common-auth
- echo ‘auth required pam_wheel.so use_uid’ | sudo tee -a /etc/pam.d/su
- sudo chmod 400 /etc/shadow && sudo chown root:root /etc/shadow
- sudo chmod 700 /var/spool/cron && sudo chown root:root /var/spool/cron
- sudo chmod 400 /etc/gshadow && sudo chown root:root /etc/gshadow
- echo ‘password requisite pam_cracklib.so minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1’ | sudo tee -a /etc/pam.d/common-password
- 完整性防护与审计
- sudo apt install apparmor apparmor-utils lynis clamav
- sudo aa-enforce /etc/apparmor.d/*
- sudo lynis audit system
- sudo freshclam && sudo clamscan -r /home