Ubuntu环境下安全设置的关键步骤
保持系统最新是防范已知漏洞的基础。定期运行以下命令更新系统:
sudo apt update && sudo apt upgrade -y
启用自动更新(仅安装安全补丁),避免遗漏重要修复:
sudo apt install unattended-upgrades
编辑配置文件 /etc/apt/apt.conf.d/50unattended-upgrades,确保包含以下内容:
Unattended-Upgrade::Allowed-Origins { "$distro_id:$distro_codename-security"; };
自动更新可每日凌晨执行,减少手动操作风险。
SSH是远程管理的主要通道,需重点防护:
/etc/ssh/sshd_config,设置 PermitRootLogin no,避免root账户暴露在暴力破解风险中。ssh-keygen -t rsa -b 4096),将公钥复制到服务器(ssh-copy-id username@server_ip),然后在配置文件中禁用密码登录:PasswordAuthentication no。sudo ufw allow 2222/tcp(需同步修改配置文件中的Port参数)。sudo systemctl restart sshd。UFW(Uncomplicated Firewall)是Ubuntu默认的防火墙工具,需合理设置规则:
sudo ufw enable(启用后默认拒绝所有传入连接,允许所有传出连接)。sudo ufw default deny incoming(拒绝未明确允许的传入连接)、sudo ufw default allow outgoing(允许所有传出连接)。sudo ufw allow 80/tcp、sudo ufw allow 443/tcp。sudo ufw allow from 192.168.1.100 to any port 22。sudo ufw logging on(日志路径为/var/log/ufw.log),便于后续审计异常连接。遵循“最小权限原则”,避免过度授权:
sudo adduser username、sudo usermod -aG sudo username。sudo visudo),添加Defaults timestamp_timeout=5(5分钟后需重新输入密码),减少sudo权限的滥用风险。755(所有者可读写执行,其他用户可读执行)、文件644(所有者可读写,其他用户可读):sudo chmod 755 /path/to/directory、sudo chmod 644 /path/to/file。sudo setfacl -m u:username:rwx /path/to/file(允许特定用户读写执行)。Fail2ban可自动封禁多次尝试登录的IP地址,降低暴力破解风险:
sudo apt install fail2ban。sudo cp /etc/fail2ban/jail.local /etc/fail2ban/jail.local.bak),调整[sshd]部分的参数,如maxretry=3(3次失败后封禁)、bantime=600(封禁10分钟)。sudo systemctl start fail2ban、sudo systemctl enable fail2ban。虽然Linux系统感染病毒的概率较低,但仍需定期扫描:
sudo apt install clamav clamav-daemon。sudo freshclam(确保能检测最新威胁)。sudo clamscan -r /(递归扫描根目录,-r表示递归)。sudo apt install cryptsetup,然后按照提示初始化加密分区并挂载。rsync或专业备份工具(如Deja Dup)定期备份重要数据,存储到异地(如云存储):sudo rsync -av /path/to/source /path/to/destination。日志是发现异常行为的关键,需定期检查:
sudo apt install auditd audispd-plugins,启动服务:sudo systemctl enable auditd、sudo systemctl start auditd。sudo ausearch -i(实时查看审计事件,-i表示人性化输出),重点关注/var/log/auth.log(认证日志)中的异常登录记录。