加强Ubuntu系统安全防护的关键措施
定期更新系统和软件包是修复已知漏洞、防止攻击的核心手段。通过以下命令完成更新:
sudo apt update:更新本地软件包索引,获取最新版本信息;sudo apt upgrade:安装所有可用的安全补丁和功能更新(不会删除旧包);sudo apt full-upgrade:处理涉及新依赖项的重大更新(如内核升级),自动安装/删除必要包;sudo apt autoremove:清理系统中无用的旧依赖包,释放磁盘空间。/etc/apt/apt.conf.d/20auto-upgrades文件,设置以下参数:APT::Periodic::Update-Package-Lists "1";(每天更新包列表)、APT::Periodic::Unattended-Upgrade "1";(自动安装安全更新),确保系统持续修补漏洞。Ubuntu默认使用**UFW(Uncomplicated Firewall)**作为防火墙工具,通过简单命令实现严格的访问控制:
sudo ufw enable(系统启动时自动开启);sudo ufw default deny(拒绝所有外部入站连接,仅允许明确放行的服务);sudo ufw allow ssh或sudo ufw allow 22/tcp)、HTTP(sudo ufw allow 80/tcp)、HTTPS(sudo ufw allow 443/tcp);sudo ufw allow from 192.168.1.100),降低暴力破解风险;sudo ufw status(确认规则是否生效)。SSH是远程管理的主要通道,需通过以下配置降低被攻击的风险:
/etc/ssh/sshd_config文件,将PermitRootLogin yes改为PermitRootLogin no,避免攻击者直接尝试破解root账户;PasswordAuthentication yes改为PasswordAuthentication no,强制使用SSH密钥对认证(更安全);Port 22改为其他端口(如Port 2222),减少自动化工具的扫描目标;AllowUsers your_username(替换为实际用户名),仅允许指定用户通过SSH登录;sudo systemctl restart ssh,使配置生效。最小化权限是安全的核心原则,需做好以下工作:
sudo提权;sudo adduser username创建新用户,避免直接使用管理员账户;sudo apt install package_name),定期通过sudo apt remove unused_package删除不再使用的软件,减少攻击面;~/.bashrc文件,添加export TMOUT=300(300秒无操作自动注销),防止他人非法使用账户。通过工具实现实时监控和主动防御:
/var/log/auth.log),自动禁止频繁尝试登录的恶意IP(如SSH暴力破解)。安装命令:sudo apt install fail2ban,启用后默认会创建/etc/fail2ban/jail.local配置文件,可根据需求调整阈值(如maxretry = 3,3次失败后封禁);chkrootkit(sudo apt install chkrootkit)和rkhunter(sudo apt install rkhunter),定期扫描系统是否存在rootkit(隐藏的恶意程序);ClamAV(sudo apt install clamav clamav-daemon),定期更新病毒库(sudo freshclam)并扫描系统(sudo clamscan -r /),检测恶意软件;Logwatch(sudo apt install logwatch)自动分析系统日志,生成每日报告(如登录记录、异常操作),帮助及时发现可疑活动。sudo aa-status,若需修改配置文件(如/etc/apparmor.d/usr.sbin.apache2),可使用sudo aa-enforce /path/to/profile(强制执行)或sudo aa-complain /path/to/profile(测试模式);sudo apt install linux-generic安装最新稳定版内核,重启后生效;sudo apt install selinux),并通过sudo setenforce 1启用(Enforcing模式),限制进程的权限。htop(sudo apt install htop)监控系统资源(CPU、内存、进程),及时发现异常进程(如占用大量CPU的未知程序);OpenVAS(sudo apt install openvas)或Nessus(商业版)定期扫描系统,识别未修复的漏洞(如CVE),并根据报告修复;/var/log/auth.log(认证日志)、/var/log/syslog(系统日志),关注异常登录(如陌生IP的SSH登录)、权限变更(如chmod命令的使用)等信息,及时响应安全事件。LUKS(Linux Unified Key Setup)加密整个分区(如/home),防止物理设备丢失导致数据泄露;GnuPG(sudo apt install gnupg)加密重要文件(如gpg -c sensitive_file.txt),生成加密后的.gpg文件,只有拥有私钥的用户才能解密。