保持系统和软件更新
定期更新Ubuntu系统及所有已安装软件包,是修补已知安全漏洞、防止恶意软件利用漏洞入侵的核心措施。使用sudo apt update && sudo apt upgrade命令手动更新,或安装unattended-upgrades包启用自动安全更新(通过sudo dpkg-reconfigure unattended-upgrades配置),确保系统始终运行最新版本。
配置防火墙限制网络访问
使用UFW(Uncomplicated Firewall)限制不必要的入站和出站连接,默认拒绝所有传入流量(sudo ufw default deny incoming),仅允许必要服务(如SSH、HTTP、HTTPS)通过(sudo ufw allow ssh、sudo ufw allow http、sudo ufw allow https)。可通过sudo ufw limit ssh启用速率限制,防止暴力破解攻击。
强化SSH访问安全性
SSH是远程管理的关键通道,需通过配置降低被攻击风险:编辑/etc/ssh/sshd_config文件,禁用root远程登录(PermitRootLogin no)、禁用密码认证(PasswordAuthentication no,改用SSH密钥对认证)、更改默认端口(如Port 2222),减少暴力破解和未授权访问的可能性。修改后重启SSH服务(sudo systemctl restart ssh)。
实施最小权限原则管理用户
避免使用root账户进行日常操作,创建专用普通用户(sudo adduser username)并授予必要权限。谨慎编辑/etc/sudoers文件(使用visudo命令),仅允许可信用户使用sudo执行特权命令。同时,禁用未使用的系统账号(sudo usermod --expiredate 1 username)。
安装并使用安全工具检测恶意软件
部署专业安全工具扫描系统,防范恶意软件入侵:
- ClamAV:开源防病毒工具,用于检测和清除恶意软件(
sudo apt install clamav clamtk,定期运行sudo freshclam更新病毒库); - Fail2Ban:监控日志文件(如
/var/log/auth.log),自动封禁多次登录失败的IP地址(sudo apt install fail2ban,配置/etc/fail2ban/jail.local调整规则); - Rkhunter/Chkrootkit:检查系统是否存在rootkit等隐藏恶意软件(
sudo apt install rkhunter chkrootkit,定期运行sudo rkhunter --checkall、sudo chkrootkit)。
禁用不必要的服务和端口
关闭系统中未使用的服务(如FTP、Telnet),减少攻击面。使用systemctl list-units --type=service列出所有服务,禁用不需要的服务(sudo systemctl stop servicename、sudo systemctl disable servicename)。同时,通过UFW关闭不必要的端口(如sudo ufw deny 21/tcp禁用FTP端口)。
监控系统日志与活动
定期检查系统日志(如/var/log/auth.log、/var/log/syslog),及时发现异常活动(如多次登录失败、未授权访问)。使用日志分析工具(如Logwatch)自动生成报告,或通过journalctl命令实时查看日志(sudo journalctl -xe)。
加密敏感数据与文件系统
对敏感数据(如用户文档、数据库文件)进行加密,防止未经授权访问。可使用LUKS(Linux Unified Key Setup)加密磁盘分区(sudo cryptsetup luksFormat /dev/sdX),或在安装时选择加密Home目录(sudo apt install ecryptfs-utils,ecryptfs-migrate-home)。此外,启用全盘加密(FDE)进一步提升数据安全性。