Linux如何配置系统安全基线_Linux系统安全基线配置要点
时间:2026-05-03 16:01:10 268浏览 收藏
大家好,今天本人给大家带来文章《Linux如何配置系统安全基线_Linux系统安全基线配置要点》,文中内容主要涉及到,如果你对文章方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!
Linux安全基线不是“一键加固脚本”,而是围绕账户、认证、服务、日志四个维度的持续校准过程;配置错误比不配更危险,尤其在pam_cracklib.so参数和sshd_config逻辑顺序上容易引发登录锁死。

直接说结论:Linux安全基线不是“一键加固脚本”,而是围绕账户、认证、服务、日志四个维度的持续校准过程;配置错误比不配更危险,尤其在pam_cracklib.so参数和sshd_config逻辑顺序上容易引发登录锁死。
怎么查系统里有没有UID=0的非root用户
这是最基础也最容易被忽略的风险点——只要UID为0,就等同于root权限,哪怕用户名叫admin或test。用下面命令快速筛:
awk -F: '($3 == 0) { print $1 }' /etc/passwd如果输出除了root还有别的用户名,必须立即处理:
- 确认该账号是否业务必需(极大概率不是),如非必要,直接
userdel -r - 若确需保留,至少改UID:
usermod -u 1001,再手工修正/etc/passwd中对应行(注意别改错字段顺序) - 改完后执行
id验证UID已变更,且su -无法获得root shell
为什么pam_cracklib.so配错会导致密码设不上
minlen=8不等于“密码至少8位”——默认情况下它实际要求的是minlen-1,也就是7位;而dcredit=-1才真正表示“至少含1个数字”。常见错误是照抄文档却漏掉负号,写成dcredit=1,结果变成“最多允许1个数字”,反而让密码更弱。
推荐生产环境使用的最小可行配置(兼容RHEL/CentOS 7+ 和 Debian/Ubuntu):
password requisite pam_cracklib.so \ retry=3 minlen=13 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 difok=3
注意三点:
- 把
minlen设为13,才能确保实际生效长度≥12(因默认减1) - 所有
credit参数必须带负号,正数含义完全相反 - 这行必须放在
/etc/pam.d/system-auth中password [success=1 default=ignore]那一段之前,否则被跳过
PermitRootLogin no之后普通用户连不上怎么办
改完/etc/ssh/sshd_config并systemctl restart sshd,结果自己也被拒之门外——这不是配置失败,而是缺少前置条件:
- 必须确保至少一个普通用户已存在,且其
~/.ssh/authorized_keys里有可用公钥(密钥登录优先于密码) - 检查该用户是否在
/etc/shadow中有有效密码哈希(非*或!开头),否则PasswordAuthentication yes也无效 - 确认
sshd_config中AllowUsers或AllowGroups没意外屏蔽该用户(例如只写了AllowUsers root) - 重启前先用
sshd -t校验语法,避免配置错误导致服务起不来
真被锁住又没控制台权限?只能靠云平台VNC或物理机console硬进,然后临时注释PermitRootLogin行再重启sshd。
历史命令时间戳和最大条数要一起设才有效
只改HISTSIZE=100000没用——默认HISTTIMEFORMAT为空,所有命令在history里都显示同一时间;只设HISTTIMEFORMAT也不行——HISTSIZE太小(默认1000)会导致早期带时间的记录被刷掉。
正确做法是在/etc/profile末尾统一加:
HISTSIZE=100000<br>HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "<br>export HISTSIZE HISTTIMEFORMAT
然后执行source /etc/profile,再运行一条命令,用history | tail -3确认时间戳已生效。注意:此设置对已登录会话不即时生效,新终端才生效。
今天关于《Linux如何配置系统安全基线_Linux系统安全基线配置要点》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
377 收藏
-
254 收藏
-
308 收藏
-
268 收藏
-
334 收藏
-
422 收藏
-
498 收藏
-
261 收藏
-
213 收藏
-
227 收藏
-
416 收藏
-
299 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习