ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Linux 基线整改实战:修复 Password Max Age(login.defs)合规项

Linux 基线整改实战:修复 Password Max Age(login.defs)合规项 适用环境企业级 Linux 服务器三层架构Gateway / Application / Database检查项来源企业安全基线扫描LINUX-MULTI风险等级低最小变更、可在线实施脱敏说明本文不含内网 IP、主机名或企业标识命令与配置均为通用基线参数目录一、问题背景二、问题分析三、关于 login.defs 与 chage 的区别四、排查过程五、修复方案六、标准化修复脚本七、验证方法八、业务影响评估九、经验总结一、问题背景在某企业 Linux 基线扫描过程中发现部分服务器存在如下告警检查项内容类别Password Requirements检查项Password Max Age login.defs LINUX-MULTI严重级别SeverityMedium该问题属于密码策略类基线检查项主要用于验证系统是否配置了符合企业安全要求的密码最长有效期。本次涉及三层架构部署环境层级角色1Gateway Server2Application Server3Database Server其中Application Server作为标准参考节点未发现该告警而Gateway Server和Database Server被扫描工具标记为不合规。二、问题分析首先检查标准节点grep^PASS_MAX_DAYS/etc/login.defs输出PASS_MAX_DAYS 90再检查存在告警的节点grep^PASS_MAX_DAYS/etc/login.defs输出PASS_MAX_DAYS 99999发现与标准节点存在明显差异。三、关于 login.defs 与 chage 的区别整改过程中一个容易混淆的点是PASS_MAX_DAYS与chage-lusername并不是同一个概念。login.defs用于定义系统密码策略/etc/login.defs例如PASS_MAX_DAYS 90表示新建用户默认密码有效期为 90 天用户实际属性查看用户实际密码策略chage-lroot例如Maximum number of days between password change : 99999该值记录在/etc/shadow属于用户级配置。四、排查过程标准节点检查grep^PASS_MAX_DAYS/etc/login.defs结果PASS_MAX_DAYS 90问题节点检查grep^PASS_MAX_DAYS/etc/login.defs结果PASS_MAX_DAYS 99999进一步确认grep-E^PASS_MAX_DAYS|^PASS_MIN_DAYS|^PASS_WARN_AGE/etc/login.defs标准值PASS_MAX_DAYS 90 PASS_MIN_DAYS 0 PASS_WARN_AGE 7最终确认问题根因Password Max Age 配置与标准节点不一致而非用户密码属性问题。五、修复方案1. 备份配置cp-a/etc/login.defs /etc/login.defs.bak.$(date%F-%H%M%S)2. 修改密码最大有效期执行sed-is/^PASS_MAX_DAYS.*/PASS_MAX_DAYS 90//etc/login.defs3. 验证grep^PASS_MAX_DAYS/etc/login.defs输出PASS_MAX_DAYS 90说明修改成功。六、标准化修复脚本#!/bin/bashset-eechoechoFix Password Max AgeechoBACKUP_FILE/etc/login.defs.bak.$(date%F-%H%M%S)echo[1] Backupcp-a/etc/login.defs$BACKUP_FILEechoecho[2] Beforegrep^PASS_MAX_DAYS/etc/login.defsechoecho[3] Fixsed-is/^PASS_MAX_DAYS.*/PASS_MAX_DAYS 90//etc/login.defsechoecho[4] Verifygrep-E^PASS_MAX_DAYS|^PASS_MIN_DAYS|^PASS_WARN_AGE/etc/login.defsechoechoCompleted.赋权执行chmodx fix_password_max_age.sh ./fix_password_max_age.sh七、验证方法修复后再次检查grep^PASS_MAX_DAYS/etc/login.defs预期PASS_MAX_DAYS 90进一步检查完整策略grep-E^PASS_MAX_DAYS|^PASS_MIN_DAYS|^PASS_WARN_AGE/etc/login.defs预期PASS_MAX_DAYS 90 PASS_MIN_DAYS 0 PASS_WARN_AGE 7确保与标准节点完全一致。八、业务影响评估本次修改仅涉及/etc/login.defs中的密码策略配置。不会影响影响面结论Nginx 服务不受影响应用服务不受影响数据库服务不受影响SSL/TLS通信不受影响SELinux不受影响Firewalld不受影响数据库连接不受影响现有业务运行不受影响原因在于PASS_MAX_DAYS属于系统默认密码策略参数主要影响后续创建的新用户账号不会导致现有服务进程中断。因此属于维度结论风险低风险变更范围最小变更实施方式可在线实施的基线整改项。九、经验总结本次整改最大的收获并非修改参数本身而是确认了正确的整改方法标准服务器配置 Diff 分析定位差异项最小化变更同步复扫验证相比直接套用通用安全基线建议优先以企业环境中的标准节点为基准进行对标修复能够最大限度降低误整改风险同时保证生产环境稳定性与合规性。
返回列表