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 # 发送日志摘要到邮箱