PAM | 账户安全 | 管理

这篇具有很好参考价值的文章主要介绍了PAM | 账户安全 | 管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

PAM

PAM(Pluggable Authentication Modules,可插入式身份验证模块)是一个灵活的身份验证系统,允许我们通过配置和组合各种模块来实现不同的身份验证策略。
PAM | 账户安全 | 管理,Linux,Linux PAM,身份验证,账户安全,账户限制,安全,安全威胁分析,安全审核

在 Linux 或类 Unix 系统中,常见的 PAM 模块包括以下几种类型:

  1. 认证模块(Authentication Modules)

    • 用于验证用户的身份,通常基于密码、密钥、证书、生物特征等。常见的认证模块包括:
      • pam_unix:基于传统的用户名和密码进行认证。
      • pam_ldap:与 LDAP 目录服务器进行身份验证。
      • pam_ssh:基于 SSH 密钥进行身份验证。
      • pam_radius:通过 RADIUS 服务器进行身份验证。
      • pam_google_authenticator:实现双因素认证。
  2. 账户管理模块(Account Management Modules)

    • 用于管理用户账户的状态,包括锁定、过期、禁止登录等。常见的账户管理模块包括:
      • pam_unix:管理用户密码的过期、锁定等状态。
      • pam_access:基于访问控制列表 (ACL) 控制用户对系统资源的访问权限。
      • pam_time:根据时间限制用户的登录。
  3. 密码管理模块(Password Management Modules)

    • 用于管理用户密码的策略,包括密码长度、复杂度要求、历史密码检查等。常见的密码管理模块包括:
      • pam_pwquality:实现密码质量检查,如密码长度、字符类型等。
      • pam_cracklib:使用 CrackLib 库检查密码的复杂度。
      • pam_unix:提供基本的密码管理功能,如修改密码、历史密码检查等。
  4. 会话管理模块(Session Management Modules)

    • 用于管理用户会话的操作,如记录登录信息、设置环境变量等。常见的会话管理模块包括:
      • pam_limits:设置用户资源限制,如进程数、文件打开数等。
      • pam_env:设置用户会话的环境变量。
      • pam_lastlog:记录用户上次登录信息。
  5. 模块控制模块(Module Control Modules)

    • 用于控制 PAM 模块的行为和执行顺序。常见的模块控制模块包括:
      • pam_stack:允许管理员创建自定义的 PAM 堆栈。

以上只是一些常见的 PAM 模块,实际还有许多其他模块可用于不同的身份验证需求。

账号安全

Linux系统的账户安全是保护系统免受未授权访问和潜在威胁的关键方面。

  1. 使用强密码:

    • 强制使用包含字母、数字和特殊字符的复杂密码。
    • 使用密码策略工具如 pam_pwquality 来限制密码的长度、字典单词等。
  2. 限制Root用户:

    • 避免直接使用root账户登录,而是使用普通用户再切换到root
    • 禁用直接root远程登录。
    • 配置 sudo 权限,只允许授权用户执行必要的管理员任务。
  3. 用户账户管理:

    • 禁用不必要的用户账户。
    • 定期审查用户账户,禁用不再需要的账户。
    • 设置用户账户过期时间,定期强制用户更改密码。
  4. SSH 安全配置:

    • 禁用不安全的SSH协议版本,仅使用SSHv2。
    • 配置SSH服务,限制允许登录的用户。
    • 使用SSH密钥身份验证,禁用密码身份验证(如果可能)。
  5. PAM (Pluggable Authentication Modules) 配置:

    • 使用PAM来实现更强大的身份验证和授权。
    • 配置PAM以限制登录尝试次数并锁定账户。
    • 强制使用pam_tallypam_faillock等模块来检测和阻止恶意登录尝试。
  6. 系统账户:

    • 禁用不必要的系统账户。
    • 将系统账户的登录Shell设置为 /sbin/nologin/bin/false
  7. Auditd 配置:

    • 启用审计功能以监视系统活动。
    • 配置 auditd 以记录关键系统事件,如登录、权限变更等。
  8. SELinux (Security-Enhanced Linux):

    • 启用SELinux以提供强制访问控制和更强大的安全策略。
    • 配置SELinux策略以适应您的应用程序和服务。
  9. 限制 su 和 sudo 权限:

    • 限制 su 命令的使用,仅允许授权用户切换到其他用户。
    • 配置 sudo 以限制哪些用户可以执行哪些命令,避免不必要的特权。
  10. 定期审计和监控:

    • 定期审计系统日志以检测异常活动。
    • 使用监控工具(如tripwire)来检测系统文件的变化。
  11. 禁用不必要的服务:

    • 禁用系统上不必要的网络服务和端口。
    • 定期审查和关闭未使用的服务。
  12. 更新和补丁管理:

    • 定期更新系统和软件包,确保安装最新的安全补丁。
    • 使用自动化工具(如unattended-upgrades)来自动安装安全更新。

措施

限制账号安全的配置涉及很多步骤,包括密码策略、访问控制、身份验证、日志和监控等。

  1. 强化密码策略:

    • 修改 /etc/security/pwquality.conf/etc/security/pwquality.conf 文件来配置密码质量要求。
    • 使用 pam_pwquality 模块来限制密码长度、包含字符类型和禁用字典单词。
  2. 限制账号登录:

    • 编辑 /etc/security/access.conf 文件,使用 pam_access 模块限制用户登录。
    • /etc/ssh/sshd_config 中配置 AllowUsersDenyUsers 以限制SSH登录。
  3. 账号锁定和登录尝试限制:

    • 使用 pam_tally2pam_faillock 模块配置账户锁定。
    • /etc/security/faillock.conf 中配置账户锁定的参数,如尝试次数和锁定时长。
    • 配置 /etc/pam.d/system-auth 文件以添加 auth required pam_tally2.so 行。
  4. 限制 su 和 sudo 权限:

    • 修改 /etc/pam.d/su 文件,限制哪些用户可以使用 su 命令。
    • 编辑 /etc/sudoers 文件,使用 sudo 命令配置特权用户和命令。
  5. 启用 SELinux:

    • 启用 SELinux 并配置强制访问控制。
    • 使用 semanagesetsebool 命令配置 SELinux 策略。
  6. 审计和监控:

    • 启用 auditd 审计框架。
    • /etc/audit/auditd.conf 中配置审计参数。
    • 编辑 /etc/pam.d/system-auth,添加 `session required pam_tty_audit.so enable=*" 行,启用终端审计。
  7. 定期审查用户账户:

    • 定期检查并禁用不再需要的用户账户。
    • 使用 usermod 命令修改账户属性,如锁定或设置过期日期。
  8. 启用登录二因素身份验证:

    • 配置 pam_google_authenticator 或其他二因素身份验证方法。
    • /etc/pam.d/sshd 中添加 auth required pam_google_authenticator.so 行。
  9. 限制 shell 访问:

    • /etc/passwd 中设置不常用账户的 Shell 为 /sbin/nologin/bin/false
    • 编辑 /etc/shells 文件,移除不需要的 shell。
  10. 定期修改密码:

    • /etc/login.defs 中设置密码最大寿命(PASS_MAX_DAYS)和密码最小寿命(PASS_MIN_DAYS)。
    • 使用 chage 命令设置密码策略,如 chage -M 90 -m 7 -W 7 username
  11. 使用账号管理工具:

    • 使用账号管理工具(如 useraddusermoduserdel)进行账户管理,以确保正确的权限和配置。
  12. 定期审查日志:

    • 定期审查系统和应用程序日志,查找异常活动和潜在的安全问题。
    • 使用工具(如 logwatch)自动化日志审查过程。

Ending文章来源地址https://www.toymoban.com/news/detail-828429.html


~喜欢的话,请收藏 | 关注(✪ω✪)~
~万一有趣的事还在后头呢,Fight!!(o^-^)~''☆ミ☆ミ~……

到了这里,关于PAM | 账户安全 | 管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux设置登录失败处理功能(密码错误次数限制、pam_tally2.so模块)和操作超时退出功能(/etc/profile)

    1、登录失败处理功能策略(服务器终端) (1)编辑系统/etc/pam.d/system-auth 文件,在 auth 字段所在的那一部分添加如下pam_tally2.so模块的策略参数: 或者 (2)pam_tally2.so模块参数解读: onerr=fail         #表示连续错误 deny=n            #表示连续登录失败次数超过n次后拒绝访

    2023年04月13日
    浏览(47)
  • 你的Github账户可能被封禁!教你应对Github最新的2FA二次验证! 无地区限制, 无额外设备的全网最完美方案

    双因素身份验证 (2FA) 是一种身份和访管理安全方法,需要经过两种形式的身份验证才能访河资源和数据,2FA使企业能够监视和帮助保护其最易受攻击的信息和网络。 使用双因素身份验证时有不同的身份验证方法。此处列出了一些最受欢迎的选项。 企业可以以密钥卡的形式向

    2024年02月08日
    浏览(52)
  • Kingbase安全之身份验证

    身份验证是指验证连接到数据库的用户或其他实体的身份。 关于身份验证 口令保护和管理 用户的数据库身份验证 用户的网络身份验证 用户的客户端认证 3.2.1. 关于身份验证 ¶ 身份验证指的是当用户、设备或其他实体连接数据库,需要验证他们的身份。验证标识可为进一步

    2024年02月02日
    浏览(43)
  • SAP安全 - 用户身份验证和单点登录

    单点登录(SSO) 是允许您登录到一个系统的关键概念之一,您可以在后端访问多个系统. SSO允许用户通过后端的SAP系统访问软件资源. 使用NetWeaver的SSO  平台提供用户身份验证并帮助系统管理员管理用户在复杂的SAP系统架构中加载. SSO配置通过增强安全措施并减少多个系统的密码

    2024年02月04日
    浏览(40)
  • 如何进行安全可靠的API身份验证?

    前言: 在开发安全的 REST API 时,身份验证是必不可少的。你可以将你的应用程序想象成一个聚会,那么身份验证就像一扇门,决定哪些客人可以进入——或者更准确地说,哪些请求可以进出。 接下来我将介绍四种常用的身份验证方法,包括 API密钥、OAuth 2.0、HTTP身份验证方

    2024年02月08日
    浏览(34)
  • 基于Token的身份验证:安全与效率的结合

    🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_ CSDN 博客专家、23年度博客之星前端领域TOP1 🕠 牛客 高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课 签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你

    2024年03月16日
    浏览(50)
  • Linux——系统安全及应用(账号安全、su命令、PAM认证、sudo命令、开关机安全机制、系统弱口令检测、NMAP)

    文件无法被修改的原因:权限不够或者账号被锁住了 设置密码有效期 闲置600秒后自动注销 用途:Substitute User,切换用户 格式:su - 目标用户 root-任意用户,不验证密码 普通用户-其他用户,验证目标用户的密码 将允许使用su命令的用户加入wheel组 启用pam_wheel认证模块 [root@

    2024年01月23日
    浏览(51)
  • Spring Security实现用户身份验证及权限管理

    Spring Security是Spring生态的一个成员,提供了一套Web应用安全性的完整解决方案。 Spring Security 旨在以一种自包含的方式进行操作,因此你不需要在 Java 运行时环境中放置任何特殊的配置文件。这种设计使部署极为方便,因为可以将目标 工件 (无论是 JAR还是WAR)从一个系统复

    2024年02月05日
    浏览(36)
  • SPN的重要性 | 保障服务安全和身份验证

    什么是 Service Principal Name(SPN)? SPN 是用于标识网络服务的唯一名称。在 Windows 中,SPN 与 Kerberos 认证一起使用。 SPN 是由两部分组成的: 服务类型(Service Class): 表示服务的类型,如 HTTP 、 SQL 、 MSSQL 等。 主机名(Host): 标识提供服务的实际主机。 一个完整的 SPN 形式

    2024年01月23日
    浏览(40)
  • 多因素认证与身份验证:分析不同类型的多因素认证方法,介绍如何在访问控制中使用身份验证以增强安全性

    随着数字化时代的到来,信息安全问题变得愈发重要。在网络世界中,用户的身份往往是保护敏感数据和系统免受未经授权访问的第一道防线。单一的密码已经不再足够,多因素认证(MFA)应运而生,成为提升身份验证安全性的重要工具之一。本文将深入探讨不同类型的多因

    2024年02月10日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包