新机器交付前,我会先跑这 20 项检查
内容提要
文章介绍Linux机器交付前的巡检清单:按风险分为A、B、C三档,A档不通过即拦截,重点检查时间同步、SELinux与防火墙、SSH策略及审计服务;通过bash脚本输出Markdown报告,并留存配置快照作为对比基准,最终沉淀为团队规范。
延伸解读
分档检查:用风险等级决定拦截力度
文章将检查项分为A、B、C三档,A档任何一项不通过即拦截,B档提示但不影响上线,C档仅记录。这种分档让脚本输出一目了然,也明确了交付流程中的硬卡点。读者可借鉴此思路,根据自身业务对稳定性和合规的要求,调整各档位的具体项目,避免一刀切或全量放行。
时间同步为何不交给自动化
作者坚持手工核对时间同步,因为chronyc sources输出正常时偏差仍可能达几百毫秒,而证书校验、数据库时间戳等场景对此敏感。其做法是同时对两路NTP源,要求offset和delay均在1ms以内。这提醒读者,自动化检查有盲区,关键项需结合人工复核,并设定明确的量化阈值。
SELinux与SSH:安全配置的取舍与验证
对于SELinux,作者建议先在enforcing模式下跑应用日志并补充策略,而非直接关闭;若关闭需在交付文档中说明原因。SSH配置修改后必须用sshd -t验语法再reload,避免语法错误导致断连。这些做法强调安全配置应有据可查,且变更前需验证,防止图省事留下隐患。
快照与规范:让检查结果可追溯、可复用
巡检通过后,作者会打包已装包列表、内核版本、关键配置等作为基线快照,出故障时用于对比。同时将脚本、清单和SOP沉淀到团队知识库,新人可照做。这提示读者,检查不仅是当下拦截问题,更是为后续排查和团队协作积累可复用的资产,避免依赖个人记忆。
Q&A
新机器交付前为什么要先跑一遍检查?
因为装系统本身只花三分钟,但机器可能残留上家配置、时间偏差、SELinux关闭等问题,不检查上线后就是事故。花二十分钟巡检能挡掉后面两周的扯皮。
巡检清单的A、B、C三档分别代表什么?
A档是必须过项,任何一项不过就不能进下一步;B档是规范项,不影响上线但影响后续维护;C档是记录项,只采集不拦截。
A档检查中最容易出问题的是哪几项?
时间同步、SELinux与防火墙、SSH配置、审计服务。时间同步要求offset和delay在1ms以内;SELinux建议保持enforcing;SSH要求密钥登录、禁root直连、禁密码;审计服务需auditd运行、规则覆盖文件变更和权限变更、日志独立分区。
SSH配置修改后为什么要先用sshd -t验证?
直接restart遇到语法错误会把人锁在外面,所以改完sshd_config后必须先用sshd -t验语法再reload。
巡检脚本如何输出结果和决定是否拦截?
脚本用bash编写,输出Markdown格式报告,按A/B/C档记录结果。A档有FAIL则退出码为1,在交付流程中作为硬卡点。
巡检通过后为什么还要留一份快照?
快照记录已装包列表、内核版本、关键配置、服务状态等,出问题时作为对比基准,能快速定位变化(如内核升级),节省排查时间。
如何把巡检清单沉淀为团队规范?
将巡检脚本、清单文档、异常处理SOP放入团队知识库共享,新人照跑即可。建议先写最容易出问题的十几项,跑三次再补,业务相关检查单独出附加清单。