温馨提示×

Linux Minimal系统如何进行安全配置

小樊
56
2025-10-05 16:19:14
栏目: 智能运维

Linux Minimal系统安全配置指南
Linux Minimal系统因精简的特性,需通过针对性配置强化安全。以下是核心步骤:

1. 系统更新与软件包管理

定期更新系统和软件包是修复已知漏洞的关键。使用包管理器执行更新:

  • Debian/Ubuntusudo apt update && sudo apt upgrade -y
  • CentOS/RHELsudo yum update -y
    建议开启自动更新(如Ubuntu的unattended-upgrades、CentOS的yum-cron),确保及时获取安全补丁。

2. 账户与密码安全

  • 禁用root直接SSH登录:编辑/etc/ssh/sshd_config,将PermitRootLogin设置为no,防止root账户被暴力破解。
  • 删除无用账户:移除默认多余账户(如admlpsync等),使用userdel username命令;锁定长期不用的账户:sudo usermod -L username
  • 强化密码策略
    • 修改/etc/login.defs,设置密码有效期(如PASS_MAX_DAYS 90PASS_MIN_DAYS 2PASS_WARN_AGE 7);
    • 使用pam_pwquality模块(编辑/etc/pam.d/system-auth)要求密码复杂度(至少8位,包含大小写字母、数字和特殊字符)。

3. 防火墙配置

使用防火墙限制网络流量,仅开放必要端口:

  • CentOS(firewalld)
    sudo systemctl start firewalld && sudo systemctl enable firewalld
    sudo firewall-cmd --permanent --add-service=ssh  # 开放SSH
    sudo firewall-cmd --reload
    
  • Ubuntu(ufw)
    sudo apt install ufw
    sudo ufw default deny incoming  # 拒绝所有入站
    sudo ufw default allow outgoing # 允许所有出站
    sudo ufw allow ssh              # 开放SSH
    sudo ufw enable                 # 启用ufw
    

定期检查防火墙规则(sudo firewall-cmd --list-allsudo ufw status),避免开放多余端口。

4. SSH安全加固

  • 更改默认端口:编辑/etc/ssh/sshd_config,修改Port为非22端口(如Port 2222),减少自动扫描风险。
  • 禁用空密码登录:确保/etc/ssh/sshd_configPermitEmptyPasswords no,防止无密码账户登录。
  • 使用密钥认证:生成SSH密钥对(ssh-keygen -t rsa),将公钥复制到服务器(ssh-copy-id user@ip),并在sshd_config中设置PasswordAuthentication no,提升登录安全性。
  • 限制登录用户:在sshd_config中添加AllowUsers your_username,仅允许指定用户登录。

5. SELinux/AppArmor配置

  • SELinux(CentOS):默认开启enforcing模式,若需临时调试可设为permissivesetenforce 0),但生产环境建议保持enforcing。修改/etc/selinux/config可永久生效。
  • AppArmor(Ubuntu):默认开启,通过aa-status查看状态,使用apparmor_parser加载/卸载配置文件,限制进程权限。

6. 文件与目录权限管理

  • 保护关键文件:使用chattr +i命令设置/etc/passwd/etc/shadow/etc/group等文件为不可修改(lsattr查看状态),防止未授权篡改。
  • 设置合理权限
    • 用户主目录:chmod 750 /home/username(所有者可读写执行,组可读执行,其他无权限);
    • 系统目录:chmod 755 /bin/sbin等(限制其他用户写入);
    • 敏感文件:chmod 600 /etc/ssh/sshd_config(仅所有者可读写)。

7. 禁用不必要服务

停止并禁用开机自启的非必要服务,减少系统暴露面:

# 查看运行服务
systemctl list-unit-files --type=service | grep enabled
# 停止并禁用服务(如cron、at)
sudo systemctl stop crond && sudo systemctl disable crond
sudo systemctl stop atd && sudo systemctl disable atd

仅保留系统必需的服务(如SSH、网络服务)。

8. 日志与监控

  • 启用审计:使用auditd记录系统活动(sudo apt install auditdsudo yum install audit),配置规则监控关键文件(如/etc/passwd)。
  • 日志分析:使用logwatchsudo apt install logwatch)或fail2bansudo apt install fail2ban)监控日志,自动封禁频繁登录失败的IP。

9. 自动安全扫描

定期运行安全扫描工具,检测系统漏洞:

  • ClamAV(防病毒)sudo apt install clamav && sudo freshclam(更新病毒库),sudo clamscan -r /(扫描系统)。
  • OpenVAS(漏洞扫描):通过包管理器安装,配置扫描任务定期检查系统漏洞。

安全配置需持续维护,定期复查规则(如防火墙、SELinux),及时应对新出现的安全威胁。

0