Linux Minimal系统安全配置指南
Linux Minimal系统因精简的特性,需通过针对性配置强化安全。以下是核心步骤:
定期更新系统和软件包是修复已知漏洞的关键。使用包管理器执行更新:
sudo apt update && sudo apt upgrade -ysudo yum update -yunattended-upgrades、CentOS的yum-cron),确保及时获取安全补丁。/etc/ssh/sshd_config,将PermitRootLogin设置为no,防止root账户被暴力破解。adm、lp、sync等),使用userdel username命令;锁定长期不用的账户:sudo usermod -L username。/etc/login.defs,设置密码有效期(如PASS_MAX_DAYS 90、PASS_MIN_DAYS 2、PASS_WARN_AGE 7);pam_pwquality模块(编辑/etc/pam.d/system-auth)要求密码复杂度(至少8位,包含大小写字母、数字和特殊字符)。使用防火墙限制网络流量,仅开放必要端口:
sudo systemctl start firewalld && sudo systemctl enable firewalld
sudo firewall-cmd --permanent --add-service=ssh # 开放SSH
sudo firewall-cmd --reload
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-all或sudo ufw status),避免开放多余端口。
/etc/ssh/sshd_config,修改Port为非22端口(如Port 2222),减少自动扫描风险。/etc/ssh/sshd_config中PermitEmptyPasswords no,防止无密码账户登录。ssh-keygen -t rsa),将公钥复制到服务器(ssh-copy-id user@ip),并在sshd_config中设置PasswordAuthentication no,提升登录安全性。sshd_config中添加AllowUsers your_username,仅允许指定用户登录。enforcing模式,若需临时调试可设为permissive(setenforce 0),但生产环境建议保持enforcing。修改/etc/selinux/config可永久生效。aa-status查看状态,使用apparmor_parser加载/卸载配置文件,限制进程权限。chattr +i命令设置/etc/passwd、/etc/shadow、/etc/group等文件为不可修改(lsattr查看状态),防止未授权篡改。chmod 750 /home/username(所有者可读写执行,组可读执行,其他无权限);chmod 755 /bin、/sbin等(限制其他用户写入);chmod 600 /etc/ssh/sshd_config(仅所有者可读写)。停止并禁用开机自启的非必要服务,减少系统暴露面:
# 查看运行服务
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、网络服务)。
auditd记录系统活动(sudo apt install auditd或sudo yum install audit),配置规则监控关键文件(如/etc/passwd)。logwatch(sudo apt install logwatch)或fail2ban(sudo apt install fail2ban)监控日志,自动封禁频繁登录失败的IP。定期运行安全扫描工具,检测系统漏洞:
sudo apt install clamav && sudo freshclam(更新病毒库),sudo clamscan -r /(扫描系统)。安全配置需持续维护,定期复查规则(如防火墙、SELinux),及时应对新出现的安全威胁。