加入收藏 | 设为首页 | 会员中心 | 我要投稿 航空爱好网 (https://www.ikongjun.com/)- 混合云存储、媒体智能、AI行业应用、应用程序集成、办公协同!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux安全环境搭建:零配置到生产就绪

发布时间:2026-10-21 14:13:28 所属栏目:Linux 来源:DaWei
导读:  去年八月,我在客户机房蹲着配那台新上架的CentOS 7.9——就是搭个基础安全环境,从零开始,SSH加固、fail2ban、auditd、内核参数调优、SELinux启用,该打的补丁都打了,连grub密码我都设了。我原以为只要把sshd_config里P

  去年八月,我在客户机房蹲着配那台新上架的CentOS 7.9——就是搭个基础安全环境,从零开始,SSH加固、fail2ban、auditd、内核参数调优、SELinux启用,该打的补丁都打了,连grub密码我都设了。我原以为只要把sshd_config里PermitRootLogin设成no、PasswordAuthentication关掉、再跑一遍systemctl daemon-reload,这事就算闭环了……结果第八次重启后,root用户还能用密钥登录,而我根本没动过authorized_keys。


  机柜顶灯滋啦闪了两下,蓝光晃得人眯眼——那会儿空调也坏了,散热片烫手。旁边运维小张叼着半截烟说:“师傅你这脚本是不是漏了/etc/ssh/sshd_config.d/?”我愣住,手指在键盘上停了三秒,没回话。那个目录我压根没进过,就记得红帽文档里提过一嘴,但没写它会覆盖主配置。我删掉那个目录下唯一一个01-disable-password.conf,重新reload,再试,root密钥登录直接被拒。可audit.log里却还留着一条type=USER_AUTH msg=audit(1660012845.123:487): pid=1234 uid=0 auid=4294967295 ses=4294967295 msg='op=PAM:authentication …'——时间戳对得上,但auid是-1,说明audit根本没捕获到登录者的原始身份,只记了个幽灵进程。


  我翻了二十来分钟journalctl -u sshd,发现每次启动都报Warning: /etc/ssh/sshd_config line 12: Deprecated option KeyRegenerationInterval(其实那是OpenSSH 6.6的老警告,现在7.4以后早没了),但这条warning和root能登进来之间,我到现在也没理清因果链。反正它每出现一次,fail2ban的ban动作就会慢三秒,我也不知道为什么。


  客户那边没催,他们自己在会议室吃西瓜。我盯着屏幕右下角的系统时间跳到17:02,忽然想起上午十点整,楼下一楼快递柜弹出提示音——叮!——当时我正敲chown root:root /etc/shadow,手抖按了两下回车,第一下没执行,第二下执行了。但shadow权限本来就是600 root:root,所以这个操作纯属多余。可那一声“叮”之后,我手心出汗,后面三次systemctl restart sshd全是在没确认unit状态的情况下按的。第七次重启前,我甚至忘了先sudo -i,直接su -c 'systemctl restart sshd',结果它读的是普通用户的$PATH,找不见sshd二进制——当然这个错误日志我删了,怕丢人。(那台戴尔R640的iDRAC面板上,温度传感器第四个LED一直不亮,修过三次,厂商说“不影响功能”,但每次它灭,/var/log/messages里必多三条kern.warn,我试过换线缆、刷固件、重置IPMI,都没用)


  最后真正起效的,是把/etc/ssh/sshd_config里Subsystem sftp internal-sftp这行末尾加了个空格——不是注释,就是空格。重启,一切正常。audit能抓auid了,fail2ban响应变快,root彻底锁死。我不知道为什么,问了三个同行,两个说“不可能”,一个查源码说“解析器吃空格时行为未定义”。但我知道,这事站得住的地方是优胜劣汰:所有不能让root绕过配置偷偷登上的方案,全被淘汰了,只剩这个带空格的版本活下来了。可它凭什么活下来?


文章配图,仅供参考

  有谁碰到过这个吗

(编辑:航空爱好网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!