温馨提示×

Linux minimal安全策略如何实施

小樊
47
2025-10-09 18:18:37
栏目: 智能运维

Linux Minimal安全策略实施指南
Linux Minimal系统因仅包含必要组件,天然具备较小的攻击面,但仍需通过最小权限原则分层防护持续维护强化安全。以下是具体实施步骤:

1. 最小化安装与组件精简

安装时选择“Minimal”模式,仅安装系统运行必需的软件包(如内核、Shell、网络工具)。安装后,通过以下命令移除无用组件:

  • Ubuntu/Debiansudo apt autoremove --purge(删除自动安装的无用依赖);
  • CentOS/RHELsudo yum remove $(package-cleanup --leaves)(清理残留的无用包)。
    避免安装非必要服务(如图形界面、数据库),减少潜在漏洞。

2. 系统与软件包更新

及时修补已知漏洞是安全基础:

  • Ubuntu/Debiansudo apt update && sudo apt upgrade -y
  • CentOS/RHELsudo yum update -y
    配置自动更新(如Ubuntu的unattended-upgrades),确保系统始终使用最新安全补丁。

3. 用户与权限管理

3.1 禁用Root直接登录

编辑/etc/ssh/sshd_config,设置PermitRootLogin no,禁止root用户通过SSH远程登录。修改后重启SSH服务:sudo systemctl restart sshd

3.2 强制密码策略

  • 修改/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)强化密码复杂度(要求包含大小写字母、数字、特殊字符)。

3.3 限制sudo权限

通过visudo编辑/etc/sudoers,仅允许特定用户或组(如wheel)使用sudo,避免滥用root权限。示例:

%wheel ALL=(ALL) ALL  # 允许wheel组用户执行所有sudo命令

4. 网络防护配置

4.1 防火墙设置

启用firewalld(CentOS)或ufw(Ubuntu):

  • CentOSsudo systemctl enable --now firewalld
  • Ubuntusudo ufw enable
    仅开放必要端口(如SSH的22端口):
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命令

5. 文件系统与数据安全

5.1 敏感文件保护

使用chattr命令设置关键文件(如/etc/passwd/etc/shadow/etc/group)为不可修改:

sudo chattr +i /etc/passwd /etc/shadow /etc/group

(注:需root权限,修改前需确认操作必要性)。

5.2 文件权限控制

遵循最小授权原则设置目录/文件权限:

  • 敏感目录(如/root/etc)权限设为700(仅root可读写执行);
  • 普通用户目录权限设为750(用户可完全访问,组用户可读执行,其他用户无权限);
  • 临时目录/tmp添加noexec,nosuid,nodev选项(防止执行恶意代码):
    sudo mount -o remount,noexec,nosuid,nodev /tmp  # 临时生效
    
    永久生效需修改/etc/fstab,在/tmp行添加上述选项。

6. 日志审计与监控

启用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)。

7. 启用强制访问控制(MAC)

根据发行版选择SELinux(CentOS/RHEL)或AppArmor(Ubuntu/Debian):

  • SELinux:确保/etc/selinux/configSELINUX=enforcing(强制模式),重启系统生效;
  • AppArmor:通过aa-enforce命令启用指定配置文件(如/etc/apparmor.d/usr.sbin.sshd)。
    MAC通过强制访问控制进一步提升系统安全性,限制进程的权限范围。

8. SSH安全强化

除禁用root登录外,还需:

  • 修改默认端口:编辑/etc/ssh/sshd_config,设置Port 2222(或其他非标准端口),减少自动化扫描攻击;
  • 启用密钥认证:生成SSH密钥对(ssh-keygen -t rsa -b 4096),将公钥复制到服务器~/.ssh/authorized_keys,并设置PasswordAuthentication no(禁用密码认证);
  • 限制登录IP:通过AllowUsers指令仅允许特定IP登录(如AllowUsers user@192.168.1.100)。

9. 自动安全扫描

定期使用漏洞扫描工具检查系统:

  • ClamAV(防病毒):sudo apt install clamav -y,运行sudo freshclam更新病毒库,sudo clamscan -r /扫描系统;
  • OpenVAS(漏洞扫描):安装并配置OpenVAS,定期扫描系统漏洞并修复。

10. 持续维护与监控

  • 定期审查用户账户(cat /etc/passwd),删除无用账户;
  • 监控系统资源使用(tophtop),发现异常进程及时处理;
  • 备份重要数据(如/etc/home),确保数据可恢复。

通过以上步骤,可构建Linux Minimal系统的多层安全防线,有效降低被攻击风险。安全是持续过程,需定期评估策略并根据环境变化调整。

0