首页/新闻资讯/正文详情

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

发布时间:2026/9/24 21:33:23 来源:云帆数科 栏目:资讯中心
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 分析定位差异项最小化变更同步复扫验证相比直接套用通用安全基线建议优先以企业环境中的标准节点为基准进行对标修复能够最大限度降低误整改风险同时保证生产环境稳定性与合规性。

相关推荐

LikeShop 小程序端二开:前端工程结构、接口封装与登录态处理
LikeShop 小程序端二开:前端工程结构、接口封装与登录态处理

一、前言 在之前的系列文章中,我从服务端视角写了 LikeShop 的分层架构、支付模块和数据库设计。但后台收到不少读者留言,说“服务端搞明白了,但小程序端的前端代码还是不知道怎么改”。这让我意识到,移动端作为用户直接接触的入口… · 2026/9/24 21:33:23

告别Miscellaneous:打造个人杂项收集与归档系统的实操指南
告别Miscellaneous:打造个人杂项收集与归档系统的实操指南

前阵子整理硬盘和学习笔记时,我发现自己散落着大量“不知道放哪、但又不能删”的东西。一张截图、一段摘抄、一份临时文档、一个随手记下的灵感,它们全都被塞进了一个叫“Miscellaneous”的文件夹里。结果不到两个月,这个文件夹就变成了一座垃… · 2026/9/24 21:33:16

告别杂项黑洞:从Miscellaneous到高效信息整理的完整实践
告别杂项黑洞:从Miscellaneous到高效信息整理的完整实践

我做了快十年的内容与信息管理,电脑里最不敢打开的就是那个名为“Miscellaneous”的文件夹。它像一个黑洞,吞掉所有暂时不知道往哪里放的东西:随手截的图、半年前的合同扫描件、突然灵光一闪的构思草稿、下载完就再也没碰过的软件安装包。每次… · 2026/9/24 21:33:16

ChatGPT 微服务应用监控实战:SpringBoot Actuator + Prometheus + Grafana 三件套配置指南
ChatGPT 微服务应用监控实战:SpringBoot Actuator + Prometheus + Grafana 三件套配置指南

文档教程后端 【免费下载链接】CodeGuide :books: 本代码库是作者小傅哥多年从事一线互联网 Java 开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。如果本仓库能为您提供帮助,请给予支持(关注、… · 2026/9/25 2:11:29

成本大幅降低!OpenClaw 对接 DeepSeek V4 保姆级配置详解(TaoToken 统一 Key 版)
成本大幅降低!OpenClaw 对接 DeepSeek V4 保姆级配置详解(TaoToken 统一 Key 版)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 2:11:29

xberg C API 实战:通过 bytes 输入将 PDF 提取为 Markdown 输出格式
xberg C API 实战:通过 bytes 输入将 PDF 提取为 Markdown 输出格式

后端AI 应用NLP 【免费下载链接】xberg Polyglot document intelligence with a Rust core: extract text, metadata, images, tables, and structured data from 106 formats across 140 file extensions, plus code intelligence for 371 languages. Fifteen bindings, with … · 2026/9/25 2:11:29

WDCNN轴承故障诊断实战:从原始振动信号到t-SNE可视化
WDCNN轴承故障诊断实战:从原始振动信号到t-SNE可视化

简介:这份资源面向深度学习与工业设备故障诊断方向的学习者和研究者,围绕WDCNN(宽卷积核深度卷积神经网络)在轴承故障诊断中的应用展开,适合具备一定Python与深度学习基础、希望快速复现经典诊断模型并理解特征分布的人… · 2026/9/25 2:11:17

12导联心电图深度学习实战:从数据预处理到模型避坑指南
12导联心电图深度学习实战:从数据预处理到模型避坑指南

简介:12导联心电图(ECG)训练数据集由39732条原始心电记录组成,覆盖肢体导联与胸导联采集的多角度心电信号,适合医疗AI研究者、数据挖掘从业者及高校学生用于心电信号分析、心律不齐识别与深度学习分类等任务。数据已按… · 2026/9/25 2:11:17

中间人攻击流量分析实战:Wireshark取证与CTF解题
中间人攻击流量分析实战:Wireshark取证与CTF解题

做BUUCTF的Misc杂项刷题,有一类题我特别推荐早点接触,那就是流量分析里的中间人攻击题,典型代表就是john-in-the-middle。这题不绕弯子,把一个真实的攻击现场以抓包文件的形式丢给你,让你在Wireshark里还原整个链路&am… · 2026/9/25 2:11:17

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码