Linux Minimal安全策略实施指南
Linux Minimal系统因仅包含必要组件,天然具备较小的攻击面,但仍需通过最小权限原则、分层防护和持续维护强化安全。以下是具体实施步骤:
安装时选择“Minimal”模式,仅安装系统运行必需的软件包(如内核、Shell、网络工具)。安装后,通过以下命令移除无用组件:
sudo apt autoremove --purge(删除自动安装的无用依赖);sudo yum remove $(package-cleanup --leaves)(清理残留的无用包)。及时修补已知漏洞是安全基础:
sudo apt update && sudo apt upgrade -y;sudo yum update -y。unattended-upgrades),确保系统始终使用最新安全补丁。编辑/etc/ssh/sshd_config,设置PermitRootLogin no,禁止root用户通过SSH远程登录。修改后重启SSH服务:sudo systemctl restart sshd。
/etc/login.defs,设置密码复杂度要求:PASS_MIN_LEN 12    # 密码最小长度12位
PASS_MIN_DAYS 7    # 密码修改间隔至少7天
PASS_WARN_AGE 14   # 密码过期前14天提醒
pam_pwquality模块(Ubuntu/Debian)或pam_cracklib(CentOS)强化密码复杂度(要求包含大小写字母、数字、特殊字符)。通过visudo编辑/etc/sudoers,仅允许特定用户或组(如wheel)使用sudo,避免滥用root权限。示例:
%wheel ALL=(ALL) ALL  # 允许wheel组用户执行所有sudo命令
启用firewalld(CentOS)或ufw(Ubuntu):
sudo systemctl enable --now firewalld;sudo ufw enable。sudo firewall-cmd --permanent --add-service=ssh  # CentOS
sudo ufw allow ssh                              # Ubuntu
sudo firewall-cmd --reload                      # CentOS重载规则
```。  
#### **4.2 禁用不必要的服务**  
停止并禁用开机自启的无用服务(如`cron`、`atd`、`bluetooth`):  
```bash
sudo systemctl disable --now cron   # 禁用cron定时任务
sudo systemctl disable --now atd    # 禁用at命令
使用chattr命令设置关键文件(如/etc/passwd、/etc/shadow、/etc/group)为不可修改:
sudo chattr +i /etc/passwd /etc/shadow /etc/group
(注:需root权限,修改前需确认操作必要性)。
遵循最小授权原则设置目录/文件权限:
/root、/etc)权限设为700(仅root可读写执行);750(用户可完全访问,组用户可读执行,其他用户无权限);/tmp添加noexec,nosuid,nodev选项(防止执行恶意代码):sudo mount -o remount,noexec,nosuid,nodev /tmp  # 临时生效
/etc/fstab,在/tmp行添加上述选项。启用auditd(Linux审计守护进程)监控关键操作(如文件修改、用户登录):
sudo apt install auditd -y        # Ubuntu/Debian
sudo yum install audit -y         # CentOS/RHEL
sudo systemctl enable --now auditd
添加审计规则(如监控/etc/passwd的修改):
sudo auditctl -w /etc/passwd -p wa -k passwd_changes  # 监控写入/执行操作
定期查看日志(/var/log/audit/audit.log),使用fail2ban防范暴力破解(如SSH登录失败次数过多时自动封禁IP)。
根据发行版选择SELinux(CentOS/RHEL)或AppArmor(Ubuntu/Debian):
/etc/selinux/config中SELINUX=enforcing(强制模式),重启系统生效;aa-enforce命令启用指定配置文件(如/etc/apparmor.d/usr.sbin.sshd)。除禁用root登录外,还需:
/etc/ssh/sshd_config,设置Port 2222(或其他非标准端口),减少自动化扫描攻击;ssh-keygen -t rsa -b 4096),将公钥复制到服务器~/.ssh/authorized_keys,并设置PasswordAuthentication no(禁用密码认证);AllowUsers指令仅允许特定IP登录(如AllowUsers user@192.168.1.100)。定期使用漏洞扫描工具检查系统:
sudo apt install clamav -y,运行sudo freshclam更新病毒库,sudo clamscan -r /扫描系统;cat /etc/passwd),删除无用账户;top、htop),发现异常进程及时处理;/etc、/home),确保数据可恢复。通过以上步骤,可构建Linux Minimal系统的多层安全防线,有效降低被攻击风险。安全是持续过程,需定期评估策略并根据环境变化调整。