Linux 系统防暴力破解
rpm系统auth required pam_env.so auth required pam_faildelay.so delay2000000 auth required pam_faillock.so preauth audit silent deny5 even_deny_root unlock_time300 auth sufficient pam_fprintd.so auth sufficient pam_unix.so try_first_pass auth [defaultdie] pam_faillock.so authfail audit deny5 even_deny_root unlock_time300 auth requisite pam_succeed_if.so uid 1000 quiet_success auth sufficient pam_faillock.so authsucc audit deny5 even_deny_root unlock_time300 auth required pam_deny.so account required pam_faillock.so account required pam_unix.so account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid 1000 quiet account required pam_permit.so password requisite pam_pwquality.so try_first_pass local_users_only retry3 authtok_type dcredit-1 lcredit-1 ucredit-1 ocredit-1 minlen8 enforce_for_root password sufficient pam_unix.so sha512 shadow try_first_pass use_authtok password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so -session optional pam_systemd.so session [success1 defaultignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so debian系统解释️ 1. auth认证阶段这个阶段负责验证“你是谁”也就是校验密码或生物特征。auth required pam_env.so加载用户的环境变量。auth required pam_faildelay.so delay2000000如果认证失败系统会强制延迟 2000000 微秒即 2 秒再返回失败结果。这能有效拖慢暴力破解者的尝试速度。auth required pam_faillock.so preauth audit silent deny5 even_deny_root unlock_time300核心安全策略这是登录前的预检查。preauth在密码校验前检查账户是否已被锁定。deny5连续失败 5 次就触发锁定。even_deny_root连 root 超级管理员也不例外失败 5 次同样会被锁定。unlock_time300锁定 300 秒5 分钟后自动解锁。auth sufficient pam_fprintd.so尝试使用指纹识别。sufficient的意思是如果指纹验证成功直接通过不再往下执行如果失败则继续往下走密码验证。auth sufficient pam_unix.so try_first_pass使用传统的本地密码/etc/shadow进行验证。try_first_pass表示优先使用前面模块如指纹已经获取的密码避免重复输入。auth [defaultdie] pam_faillock.so authfail audit deny5 even_deny_root unlock_time300如果上面的密码验证失败了就会走到这一行。它负责记录失败次数一旦达到 5 次就正式将账户锁定 5 分钟。auth requisite pam_succeed_if.so uid 1000 quiet_success限制 UID 小于 1000 的系统账户不能通过常规方式登录通常只有普通用户的 UID 是 1000 及以上。requisite表示如果条件不满足立刻返回失败。auth sufficient pam_faillock.so authsucc audit deny5 even_deny_root unlock_time300如果密码验证成功走到这一行。它的作用是清除该用户之前的失败记录将计数器归零。auth required pam_deny.so最后的兜底模块。如果前面所有的认证方式都走不通直接拒绝登录。 2. account账户检查阶段认证通过后检查这个账户当前是否被允许登录。account required pam_faillock.so核心联动再次检查账户的锁定状态。如果前面 auth 阶段发现账户已经被锁这里会直接拦截登录。account required pam_unix.so检查账户的常规状态比如密码是否过期、账户是否被手动禁用等。account sufficient pam_localuser.so如果是本地用户存在于/etc/passwd直接放行。account sufficient pam_succeed_if.so uid 1000 quiet如果是 UID 小于 1000 的系统账户直接放行系统服务运行需要。account required pam_permit.so兜底放行允许通过。 3. password密码修改策略阶段当用户执行passwd命令修改密码时由这个模块接管。password requisite pam_pwquality.so try_first_pass local_users_only retry3 authtok_type dcredit-1 lcredit-1 ucredit-1 ocredit-1 minlen8 enforce_for_root密码复杂度强制要求minlen8密码长度至少 8 位。dcredit-1至少包含 1 个数字。lcredit-1至少包含 1 个小写字母。ucredit-1至少包含 1 个大写字母。ocredit-1至少包含 1 个特殊字符。enforce_for_root即使是 root 用户修改密码也必须遵守上述复杂度要求。retry3输错格式允许重试 3 次。password sufficient pam_unix.so sha512 shadow try_first_pass use_authtok使用 SHA512 强加密算法将新密码写入/etc/shadow文件。password required pam_deny.so兜底拒绝。️ 4. session会话管理阶段用户成功登录后系统为其建立运行环境。session optional pam_keyinit.so revoke初始化用户的内核密钥环退出时撤销。session required pam_limits.so加载/etc/security/limits.conf中的资源限制如最大打开文件数等。-session optional pam_systemd.so将用户会话注册到 systemd 中方便系统管理用户进程。前面的-表示即使该模块加载失败也不会影响登录。session [success1 defaultignore] pam_succeed_if.so service in crond quiet use_uid如果当前服务是crond定时任务则跳过下一行pam_unix.so避免定时任务执行时产生不必要的日志或干扰。session required pam_unix.so常规的会话设置如记录登录日志等。debian系统/etc/pam.d/common-auth auth required pam_faillock.so preauth audit silent deny5 even_deny_root unlock_time300 auth required pam_faildelay.so delay2000000 auth sufficient pam_unix.so try_first_pass auth [defaultdie] pam_faillock.so authfail audit silent deny5 even_deny_root unlock_time300 auth required pam_deny.so auth sufficient pam_faillock.so authsucc audit silent deny5 even_deny_root unlock_time300 /etc/pam.d/common-account account required pam_faillock.so account required pam_unix.so /etc/pam.d/common-password password requisite pam_pwquality.so retry3 minlen8 dcredit-1 lcredit-1 ucredit-1 ocredit-1 enforce_for_root password sufficient pam_unix.so sha512 shadow try_first_pass use_authtok password required pam_deny.so解释️ 1. /etc/pam.d/common-auth登录认证阶段这个文件决定了用户登录时系统如何验证身份并处理失败情况。auth required pam_faillock.so preauth audit silent deny5 even_deny_root unlock_time300作用这是登录前的“预检查”。当用户尝试登录时系统会先检查该账户是否已经被锁定。参数deny5表示连续失败 5 次触发锁定even_deny_root表示 root 超级管理员也不例外unlock_time300表示锁定 300 秒5 分钟后自动解锁。auth required pam_faildelay.so delay2000000作用防暴力破解的延迟机制。如果认证失败系统会强制等待 2000000 微秒即 2 秒再返回失败结果有效拖慢黑客的密码猜测速度。auth sufficient pam_unix.so try_first_pass作用使用系统本地的传统密码/etc/shadow进行验证。sufficient的意思是如果密码正确直接通过不再往下执行try_first_pass表示尽量复用前面模块获取的密码避免用户重复输入。auth [defaultdie] pam_faillock.so authfail audit silent deny5 even_deny_root unlock_time300作用如果上面的密码验证失败了就会走到这一行。它负责记录失败次数。[defaultdie]表示如果该模块执行出错则直接终止认证。一旦失败次数达到 5 次就正式将账户锁定 5 分钟。auth required pam_deny.so作用兜底拒绝模块。如果前面的认证逻辑都没通过直接拒绝登录。auth sufficient pam_faillock.so authsucc audit silent deny5 even_deny_root unlock_time300作用如果密码验证成功走到这一行。它的作用是清除该用户之前的失败记录将失败计数器归零。 2. /etc/pam.d/common-account账户检查阶段认证通过后系统会检查这个账户当前是否被允许登录。account required pam_faillock.so作用与 auth 阶段联动再次检查账户的锁定状态。如果账户处于被锁定状态这里会直接拦截登录。account required pam_unix.so作用检查账户的常规状态比如密码是否过期、账户是否被手动禁用等。 3. /etc/pam.d/common-password密码修改策略阶段当用户执行passwd命令修改密码时由这个模块接管。password requisite pam_pwquality.so retry3 minlen8 dcredit-1 lcredit-1 ucredit-1 ocredit-1 enforce_for_root作用强制实施高强度的密码复杂度策略。参数minlen8要求密码至少 8 位dcredit-1至少 1 个数字、lcredit-1至少 1 个小写字母、ucredit-1至少 1 个大写字母、ocredit-1至少 1 个特殊字符enforce_for_root表示即使是 root 用户修改密码也必须遵守上述复杂度要求。password sufficient pam_unix.so sha512 shadow try_first_pass use_authtok作用使用 SHA512 强加密算法将新密码写入/etc/shadow文件。use_authtok表示直接使用前面pam_pwquality模块验证过的新密码。password required pam_deny.so作用兜底拒绝模块。

相关新闻

Python开发者福音:gh_mirrors/templates1/templates中Poetry2nix模板最佳实践

Python开发者福音:gh_mirrors/templates1/templates中Poetry2nix模板最佳实践

Python开发者福音:gh_mirrors/templates1/templates中Poetry2nix模板最佳实践 【免费下载链接】templates Flake templates 项目地址: https://gitcode.com/gh_mirrors/templates1/templates 在Python开发中,依赖管理和环境一致性一直是开发者面临…

2026/9/29 2:00:52 阅读更多 →
移动端调试神器Eruda:5分钟实现手机浏览器控制台自由

移动端调试神器Eruda:5分钟实现手机浏览器控制台自由

移动端调试神器Eruda:5分钟实现手机浏览器控制台自由 【免费下载链接】eruda Console for mobile browsers 项目地址: https://gitcode.com/gh_mirrors/er/eruda 你是否在为移动端网页调试而烦恼?Eruda作为一款专为移动浏览器设计的控制台调试工具…

2026/10/7 8:54:03 阅读更多 →
PocketPal AI完整指南:手机端本地大语言模型部署的终极解决方案

PocketPal AI完整指南:手机端本地大语言模型部署的终极解决方案

PocketPal AI完整指南:手机端本地大语言模型部署的终极解决方案 【免费下载链接】pocketpal-ai An app that brings language models directly to your phone. 项目地址: https://gitcode.com/gh_mirrors/po/pocketpal-ai 探索移动AI的新纪元:Poc…

2026/10/4 22:30:53 阅读更多 →

最新新闻

8002B音频放大器的3W输出与关断模式深度解析

8002B音频放大器的3W输出与关断模式深度解析

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

2026/10/7 8:53:36 阅读更多 →
MATH 竞赛题逆向扰动实验:对偶问题构造如何戳破大模型“伪高分”

MATH 竞赛题逆向扰动实验:对偶问题构造如何戳破大模型“伪高分”

MATH 竞赛题逆向扰动实验:对偶问题构造如何戳破大模型“伪高分”在各大顶级实验室发布的前沿模型技术报告中,公开数学基准(如 MATH-Level 5、GSM8K、AIME)的得分早已逼近甚至超过了人类顶尖竞赛选手的水平。GPT-6 Astra、DeepSeek…

2026/10/7 8:53:36 阅读更多 →
猕猴桃目标检测数据集:1700张多角度实拍图,VOC+YOLO双格式

猕猴桃目标检测数据集:1700张多角度实拍图,VOC+YOLO双格式

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

2026/10/7 8:53:36 阅读更多 →
国密自签名证书实战:SM2双证书、Nginx/Tomcat配置与浏览器信任

国密自签名证书实战:SM2双证书、Nginx/Tomcat配置与浏览器信任

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

2026/10/7 8:53:36 阅读更多 →
ponytail:让命令行任务编排与自动化配置更简单

ponytail:让命令行任务编排与自动化配置更简单

ponytail 这个名字初看有点随意,但你要是用过一次就会发现,它其实是一款非常顺手的命令行任务编排工具。简单说,它把那些反复敲的 Lint、测试、构建、发布、打标签等固定操作,统一封装成一个个可复用的“技能(skill&am…

2026/10/7 8:53:36 阅读更多 →
STM32F103驱动AT24C02 EEPROM实战:硬件接线、I²C时序与HAL库避坑指南

STM32F103驱动AT24C02 EEPROM实战:硬件接线、I²C时序与HAL库避坑指南

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

2026/10/7 8:52:33 阅读更多 →

日新闻

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

ROS2机械臂仿真与运动控制:从URDF建模到Gazebo实战全解析

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

2026/10/7 1:01:58 阅读更多 →
用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

用浏览器直接改ESP32的WiFi密码:NVS键值配置工具设计与实现

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

2026/10/7 1:02:00 阅读更多 →
芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

芯片封装缺陷检测:扫描声学显微镜(SAT)原理与实操指南

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

2026/10/7 1:02:00 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/6 7:15:40 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/6 5:29:09 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/6 6:26:51 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/6 8:21:32 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式: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/10/6 4:21:51 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/6 1:18:13 阅读更多 →