Ubuntu Minimal安全防护指南
sudo apt update && sudo apt upgrade命令安装最新安全补丁;启用unattended-upgrades包(编辑/etc/apt/apt.conf.d/50unattended-upgrades),自动安装安全更新,确保系统始终处于最新状态。/etc/ssh/sshd_config文件,将PermitRootLogin设置为no,禁止root用户通过SSH直接登录,降低账户被爆破的风险。/etc/login.defs文件,设置密码最长使用天数(如PASS_MAX_DAYS 90)、最短使用天数(如PASS_MIN_DAYS 1)、到期警告天数(如PASS_WARN_AGE 7);使用chage命令为现有用户设置密码过期时间(如chage -M 90 username)。sudo adduser admin),将其加入sudo组(sudo usermod -aG sudo admin),日常操作使用普通用户,必要时通过sudo提升权限,避免长期使用root账户。sudo apt install ufw安装UFW(Uncomplicated Firewall),使用sudo ufw enable启用防火墙(默认拒绝所有传入流量,允许所有传出流量)。sudo ufw default deny incoming(拒绝所有传入流量)和sudo ufw default allow outgoing(允许所有传出流量),确保未明确允许的流量无法进入系统。sudo ufw allow 22/tcp,HTTP用sudo ufw allow 80/tcp,HTTPS用sudo ufw allow 443/tcp);若更改SSH端口(如2222),需同步更新防火墙规则(sudo ufw allow 2222/tcp)。sudo ufw allow from 192.168.1.0/24(允许指定网段)或sudo ufw allow from 192.168.1.100(允许特定IP)限制访问,减少非法IP的尝试。/etc/ssh/sshd_config文件,取消#Port 22注释并修改为非标准端口(如Port 2222),降低自动化扫描攻击的概率;修改后重启SSH服务(sudo systemctl restart ssh)。/etc/ssh/sshd_config中设置PasswordAuthentication no,强制使用公钥认证,避免密码被猜测或暴力破解。ssh-keygen -t rsa -b 4096),将公钥复制到服务器(ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip -p 2222);确保~/.ssh目录权限为700(chmod 700 ~/.ssh),authorized_keys文件权限为600(chmod 600 ~/.ssh/authorized_keys)。/etc/ssh/sshd_config中添加AllowUsers your_username(替换为实际用户名),仅允许指定用户通过SSH登录,进一步缩小攻击范围。/var/log/auth.log(认证日志)和/var/log/syslog(系统日志),识别异常登录尝试(如多次失败的密码认证)或未授权操作;可使用Logwatch工具自动生成日志报告(sudo apt install logwatch)。Fail2Ban(sudo apt install fail2ban),监控SSH日志并自动封禁恶意IP地址(如连续3次失败登录的IP,封禁600秒);配置文件为/etc/fail2ban/jail.local,启用[ssh]部分并调整参数。auditd(sudo apt install auditd),记录系统调用和文件访问行为(如sudo auditctl -w /etc/passwd -p wa -k passwd_changes),便于事后追溯异常操作。/home)或使用VeraCrypt加密单个文件/目录,确保敏感信息(如数据库文件、配置文件)不被未授权访问。