- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
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 tmp# passwd 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
蓝队云官网上拥有完善的技术支持库可供参考,大家可自行查阅,更多技术问题,可以直接咨询。同时,蓝队云整理了运维必备的工具包免费分享给大家使用,需要的朋友可以直接咨询。
售前咨询
售后咨询
备案咨询
二维码
TOP