Ubuntu系统安全维护技巧
保持系统最新是防范已知漏洞的核心措施。定期执行以下命令更新软件包列表及已安装的软件包:
sudo apt update && sudo apt upgrade 对于安全补丁,可通过unattended-upgrades工具实现自动安装(避免手动遗漏):
sudo apt install unattended-upgrades sudo dpkg-reconfigure -plow unattended-upgrades 配置自动更新策略(编辑/etc/apt/apt.conf.d/20auto-upgrades),确保开启以下选项:
APT::Periodic::Update-Package-Lists "1"; # 每天更新包列表 APT::Periodic::Unattended-Upgrade "1"; # 自动安装安全更新 关键点:更新后立即清理无用包(sudo apt autoremove),释放磁盘空间并减少潜在风险。
UFW(Uncomplicated Firewall)是Ubuntu默认的简易防火墙工具,能有效限制不必要的网络流量。基础配置步骤:
sudo apt install ufw sudo ufw enable # 启用防火墙(系统启动时自动开启) sudo ufw default deny # 默认拒绝所有入站连接(仅允许明确放行的服务) 开放必要端口(如SSH、HTTP、HTTPS):
sudo ufw allow 22/tcp # 允许SSH(默认端口) sudo ufw allow 80/tcp # 允许HTTP sudo ufw allow 443/tcp # 允许HTTPS 增强安全性:限制SSH访问IP(仅允许可信IP连接):
sudo ufw allow from 192.168.1.100 to any port 22/tcp 定期检查防火墙状态(sudo ufw status),确保规则符合预期。
SSH是远程管理的主要通道,需重点防护:
/etc/ssh/sshd_config,设置:PermitRootLogin no ssh-keygen -t rsa -b 4096),将公钥复制到服务器(ssh-copy-id user@server_ip),然后在sshd_config中禁用密码认证:PasswordAuthentication no sshd_config中的Port字段(如Port 2222),减少暴力破解尝试。AllowUsers指令指定允许登录的用户(如AllowUsers alice)。sudo systemctl restart sshd 遵循最小权限原则,降低账户滥用风险:
sudo passwd -l username)。sudo adduser devuser),避免直接使用root账户。sudo组(sudo usermod -aG sudo devuser),限制其仅能执行管理员命令。chage命令强制用户定期更换密码(如sudo chage -M 90 user,90天更换一次)。sudo apt install fail2ban sudo systemctl enable fail2ban sudo apt install clamav clamtk sudo freshclam # 更新病毒库 sudo clamscan -r / # 扫描整个系统 sudo apt install lynis sudo lynis audit system /home),防止数据泄露:sudo cryptsetup luksFormat /dev/sda1 # 加密分区 sudo cryptsetup open /dev/sda1 secure_disk # 打开加密分区 sudo mkfs.ext4 /dev/mapper/secure_disk # 格式化加密分区 rsync或Deja Dup备份重要数据到外部存储(如NAS、云服务),确保数据可恢复:rsync -avz /path/to/source /path/to/backup 定期检查系统日志(/var/log/auth.log记录SSH登录、/var/log/syslog记录系统事件),及时发现可疑活动(如多次登录失败、异常进程)。可使用journalctl工具实时查看日志:
sudo journalctl -xe # 查看近期日志 或通过Logwatch生成每日日志报告(sudo apt install logwatch):
sudo logwatch --output mail # 发送日志摘要到邮箱