Linux Centos系列的安全认证

2025-01-13 10:45:46 182

Linux Centos系列的安全认证

 

欢迎来到蓝队云技术小课堂,每天分享一个技术小知识。

 

CentOS 7

在 CentOS 7 系统中,/etc/pam.d/system-auth 会包含下面一段描述

# User changes will be destroyed the next time authconfig is run.

 

authconfig

authconfig是 CentOS 系统中的一个命令行工具,用于配置和管理系统的认证参数。它提供了一个简洁而强大的方式来设置用户身份验证机制,包括密码策略、身份验证方法和用户信息存储

常用配置参数:

密码复杂度相关配置

--passminlen=<number>:密码最小长度

--passminclass=<number>:密码中最少包含几种类别

--passmaxrepeat=<number>:密码中同一字符最多连续使用次数,比如:aaa

--passmaxclassrepeat=<number>:密码同一类别中最多连续使用同一字符次数,比如:123

--enablereqlower:密码中至少需要一个小写字符

--disablereqlower:密码中不需要小写字符

--enablerequpper:密码中至少需要一个大写字符

--disablerequpper:密码中不需要大写字符

--enablereqdigit:密码中至少需要一个数字

--disablereqdigit:密码中不需要数字

--enablereqother:密码中至少需要一个特殊字符

--disablereqother:密码中不需要其他字符

 

登录失败策略相关配置

--enablefaillock:开启登录失败策略

--disablefaillock:关闭登录失败策略

--faillockargs=<options>:登录失败策略相关配置

 

备份恢复相关配置

--savebackup=<名称>:备份所有相关配置文件

--restorebackup=<名称>:恢复指定的备份内容

--restorelastbackup:恢复在上一次配置更改前保存的配置文件的备份,authconfig每次进行更改都会自动备份,可以使用该命令进行恢复

 

生效配置

--test:不更新配置文件,只显示新设置

--update:更新配置文件, 如果没有使用 --update 选项,则不会将更改写入系统配置文件

 

authconfig使用

备份配置

authconfig --savebackup=/backups/authconfigbackup20241011

 

恢复配置

路径必须使用绝对路径

因为备份文件中包含passwd、group等这些文件,所以在备份之后创建的用户就没有了,不过其家目录还在,所以恢复的时候可以把用户相关的文件移除

authconfig --restorebackup=/backups/authconfigbackup20241011

 

设置口令长度8位,包含大写字母、小写字母、特殊字符和数字

authconfig --passminlen=8 --enablerequpper --enablereqlower --enablereqother --enablereqdigit --update

 

验证

useradd tmppasswd tmp

更改用户 tmp 的密码 。

新的 密码:

无效的密码: 密码包含少于 1 的大写字母

重新输入新的 密码:

抱歉,密码不匹配。

新的 密码:

无效的密码: 密码包含少于 1 的小写字母

重新输入新的 密码:

抱歉,密码不匹配。

新的 密码:

无效的密码: 密码包含少于 1 的非字母或数字字符

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

 

不过,这条指令只修改了 /etc/security/pwquality.conf 这个文件,但 /etc/pam.d/system-auth 和 /etc/pam.d/password-auth 都没有被修改

开启登录失败策略并配置

authconfig --enablefaillock --faillockargs='deny=3 unlock_time=600' --update

 

如果不指定 --faillockargs ,默认是在15分钟之内连续4次登录失败,账号就会被锁定20分钟,可通过 grep -E 'pam_faillock.so' /etc/pam.d/* 查看自动生成的相关配置

grep -E 'pam_faillock.so' /etc/pam.d/*

...

/etc/pam.d/system-auth:auth        required      pam_faillock.so preauth silent deny=4 unlock_time=1200

/etc/pam.d/system-auth:auth        required      pam_faillock.so authfail deny=4 unlock_time=1200

/etc/pam.d/system-auth:account     required      pam_faillock.so

 

faillockargs 支持的选项

silent :不输出账号被block的相关信息

deny=:连续多少次失败会被block,默认3次

fail_interval= 在多少时间内检查连续失败次数,默认15分钟

unlock_time 账号被block多长时间

even_deny_root :root账号同样适用相关策略

由于默认添加了 silent 选项,所以当用户被锁定后再次尝试登录不会有相关提示,可以手动将其去掉

可以通过 faillock --user USERNAME 查看用户是否被锁定,通过 faillock --user USERNAME --reset 解除锁定,也可以 faillock --reset 解除所有锁定

配置使用LDAP

authconfig --enableldap --enableldapauth --ldapserver="ldap.example.com" --ldapbasedn="ou=Anytown,o=example.com" --update

 

这个没有做验证。。

CentOS 8

在 CentOS 8 系统中,/etc/pam.d/system-auth 会包含下面一段描述

User changes will be destroyed the next time authselect is run.

 

authselect

CentOS 8 及更高版本中,authselect 取代了 authconfig 用于管理身份验证和密码策略

authselect 的基本概念

Profile(配置集): 每个配置集定义了一套完整的 PAM 和 NSS 配置文件,用于控制身份验证行为。配置集包含的文件通常包括 /etc/pam.d/system-auth、/etc/nsswitch.conf 等

Feature(功能模块): 配置集可以启用或禁用某些功能模块,例如失败登录锁定(faillock)、智能卡认证(with-smartcard)等

Custom Profile(自定义配置集): 用户可以创建自己的自定义配置集,基于现有配置集进行修改,以满足特定的身份验证需求

authselect 提供的标准配置集

minimal 配置集 :提供最基本的身份验证功能,只针对本地用户,不依赖于任何外部服务

sssd 配置集: (System Security Services Daemon)支持本地和远程目录服务,可配置包括本地、 LDAP、Kerberos 等

winbind 配置集 : 与 Windows 活动目录(Active Directory)进行集成

nsswitch 配置集 : 仅配置 nsswitch.conf 文件,而不对 PAM 进行配置。它适用于需要定制名称服务切换(NSS)机制,但不想更改身份验证机制的场景 下

常用功能模块

with-faillock : 启用 PAM faillock 模块,用于限制用户在多次登录失败后的尝试次数,并锁定账户一定时间

with-pamaccess 启用 PAM pam_access 模块,该模块用于限制哪些用户可以从哪些主机进行访问。通过 /etc/security/access.conf 配置文件控制访问权限

常用指令

配置集相关

select PROFILE-ID      选择配置集

list                   列出可用的配置集

show  PROFILE-ID       显示配置集信息

current                获得当前选择配置集的标识符

check                  检查当前配置是否有效

create-profile         创建新的 authselect 配置集

test PROFILE-ID        列出配置集中所有文件内容

 

功能模块相关

list-features PROFILE-ID   列出指定配置集有效的功能模块

enable-feature             启用当前选择配置集中的功能

disable-feature            禁用当前选择配置集的功能

 

备份恢复相关

backup-list            列出有效备份

backup-remove BACKUP   删除备份

backup-restore BACKUP  从备份中恢复

 

authselect使用

选择配置集

这里只需要本地用户认证,所以选择使用minimal配置集

authselect select minimal --force

备份保存在 /var/lib/authselect/backups/2024-10-18-01-48-58.Iyjn0X  # 这里会自动进行备份

选择了配置文件 "minimal"。

 

配置密码复杂度

修改配置文件 /etc/security/pwquality.conf 的内容即可,相关参数与authconfig一致

配置登录失败策略

需要开启 faillock

authselect enable-feature with-faillock

 

修改配置文件 /etc/security/faillock.conf 的内容即可,相关参数与authconfig一致

进行应用

authselect apply-changes

 

查看

authselect current

档案档案 ID: minimal

启用的功能:

- with-faillock

 

自定义配置集

此命令将在 /etc/authselect/custom/myprofile/ 目录下创建一个新的自定义配置集,基于 sssd

authselect create-profile myprofile -b sssd

 

蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。

更多技术知识,蓝队云期待与你一起探索。

提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: