Linux基线加固需贯彻“最小权限、默认拒绝、持续验证”原则,覆盖账号认证、服务端口、文件审计、更新日志四大维度:禁用root远程登录、强化密码策略与SSH密钥管理;关闭非必要服务、限制监听地址、严控防火墙白名单;严格设置关键文件权限、启用auditd监控敏感操作;人工评估升级、日志集中外发并保留90天。

Linux系统基线加固不是装几个工具、改几行配置就完事,核心是围绕“最小权限、默认拒绝、持续验证”三个原则,把企业安全策略真正落到每一台服务器的启动项、用户行为、服务暴露面和日志反馈上。
账号与认证:砍掉默认风险入口
很多入侵始于root远程登录或弱密码账户。必须禁用root直接SSH登录,强制使用普通用户+sudo;删除或锁定无用系统账户(如games、lp、sync);设置密码复杂度策略(/etc/pam.d/common-password中启用pam_pwquality.so),并限制登录失败次数(faillock模块)。对于批量管理场景,统一使用SSH密钥认证,私钥必须设密码保护,公钥部署后立即关闭密码登录(PasswordAuthentication no)。
服务与端口:只开该开的,关掉所有默认“后门”
CentOS/RHEL默认启用cups、avahi、rpcbind等非必要服务,Ubuntu常带snapd、whoopsie。用systemctl list-unit-files --type=service | grep enabled筛出启用项,逐个确认业务依赖性。非必需服务一律stop + disable;监听地址限定为127.0.0.1(如MySQL bind-address=127.0.0.1);对外服务严格走防火墙白名单(firewalld或iptables),禁止全网段开放(0.0.0.0/0)。特别注意Docker默认监听unix:///var/run/docker.sock——若非运维需要,应移除docker组对普通用户的授权。
文件权限与审计:让异常操作“留痕可查”
/etc/shadow必须600,/etc/passwd 644,/boot分区独立且只读(mount -o remount,ro /boot);关键二进制文件(/bin/su、/usr/bin/sudo)设不可写不可执行位(chattr +a /usr/bin/sudo不推荐,更稳妥的是用auditd监控执行事件)。启用auditd服务,重点监控:用户切换(execve with /bin/su or /bin/bash)、敏感文件修改(/etc/passwd、/etc/shadow、/etc/sudoers)、计划任务变更(/var/spool/cron/、/etc/crontab)。规则写入/etc/audit/rules.d/,避免重启失效。
更新与日志:把补丁节奏和日志流向管起来
禁用自动更新(避免未知变更引发故障),改为每月固定窗口执行yum update --security(RHEL/CentOS)或apt list --upgradable && apt-get upgrade -s(Debian/Ubuntu)评估影响后再人工升级。所有日志必须集中外发(rsyslog或journalctl转发至SIEM平台),本地保留至少90天,/var/log目录配额限制防占满磁盘。关键动作(如sudo执行、用户登录登出、SSH密钥使用)需在/var/log/secure或journald中确保有完整时间戳、源IP、命令行参数记录。
不复杂但容易忽略。










