Linux 主机安全加固实操清单
一 基线说明与原则
二 身份与访问控制
passwd -l username、usermod -s /sbin/nologin username、awk -F: '($3 == 0) {print $1}' /etc/passwd。visudo 编辑,避免直接修改 /etc/sudoers。示例:username ALL=(ALL) /usr/bin/systemctl restart nginx, /usr/bin/dnf update。/etc/pam.d/su 中仅允许 wheel 组切换 root,示例:auth required pam_wheel.so group=wheel。/etc/security/pwquality.conf 设置 minlen=8、minclass=3、retry=3、dcredit=-1、ucredit=-1、lcredit=-1、ocredit=-1;在 /etc/login.defs 设置 PASS_MAX_DAYS=90、PASS_MIN_LEN=8;在 PAM 启用历史口令防复用(如 remember=5);配置失败锁定(如 deny=5 unlock_time=600)。/etc/passwd 为 644、/etc/shadow 为 600、/etc/group 为 644;必要时用 chattr +i 保护关键文件(变更前评估影响)。三 系统与网络防护
dnf update --security 与 dnf-automatic 自动安全更新;仅保留必需服务,禁用/屏蔽无用服务(如 cups、bluetooth、vncserver)。/etc/ssh/sshd_config,建议:Port 2222(示例)、PermitRootLogin no、PasswordAuthentication no、PubkeyAuthentication yes、AllowUsers your_username@your_cidr、ClientAliveInterval 300、ClientAliveCountMax 3;重启 sshd 生效。maxretry=3、bantime=3600、findtime=600,端口与 sshd_config 保持一致。ulimit -n 4096 等限制用户态资源;内核/网络层启用 syncookie、按需丢弃 ICMP 请求、禁止无源路由、优化 SYN Flood 防护;限制 FTP 匿名与上传权限、设置安全 banner。四 日志、监控与备份
/var/log/secure、/var/log/messages 等关键日志;设置日志文件权限不超过 640;定期审计登录失败与提权行为(如 lastb、last、grep sudo /var/log/secure)。五 可选加固与验证
semanage/setsebool 做最小权限调整;仅在明确影响业务且无法以 SELinux 解决时再考虑宽容模式或临时禁用。install usb-storage /bin/true);限制机房物理访问。