- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業(yè)務(wù)經(jīng)營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯(lián)網(wǎng)協(xié)會理事單位
- 安全聯(lián)盟認證網(wǎng)站身份V標記
- 域名注冊服務(wù)機構(gòu)許可:滇D3-20230001
- 代理域名注冊服務(wù)機構(gòu):新網(wǎng)數(shù)碼
Linux Centos系列的安全認證
歡迎來到藍隊云技術(shù)小課堂,每天分享一個技術(shù)小知識。
CentOS 7
在 CentOS 7 系統(tǒng)中,/etc/pam.d/system-auth 會包含下面一段描述
# User changes will be destroyed the next time authconfig is run.
authconfig
authconfig是 CentOS 系統(tǒng)中的一個命令行工具,用于配置和管理系統(tǒng)的認證參數(shù)。它提供了一個簡潔而強大的方式來設(shè)置用戶身份驗證機制,包括密碼策略、身份驗證方法和用戶信息存儲
常用配置參數(shù):
密碼復雜度相關(guān)配置
--passminlen=<number>:密碼最小長度
--passminclass=<number>:密碼中最少包含幾種類別
--passmaxrepeat=<number>:密碼中同一字符最多連續(xù)使用次數(shù),比如:aaa
--passmaxclassrepeat=<number>:密碼同一類別中最多連續(xù)使用同一字符次數(shù),比如:123
--enablereqlower:密碼中至少需要一個小寫字符
--disablereqlower:密碼中不需要小寫字符
--enablerequpper:密碼中至少需要一個大寫字符
--disablerequpper:密碼中不需要大寫字符
--enablereqdigit:密碼中至少需要一個數(shù)字
--disablereqdigit:密碼中不需要數(shù)字
--enablereqother:密碼中至少需要一個特殊字符
--disablereqother:密碼中不需要其他字符
登錄失敗策略相關(guān)配置
--enablefaillock:開啟登錄失敗策略
--disablefaillock:關(guān)閉登錄失敗策略
--faillockargs=<options>:登錄失敗策略相關(guān)配置
備份恢復相關(guān)配置
--savebackup=<名稱>:備份所有相關(guān)配置文件
--restorebackup=<名稱>:恢復指定的備份內(nèi)容
--restorelastbackup:恢復在上一次配置更改前保存的配置文件的備份,authconfig每次進行更改都會自動備份,可以使用該命令進行恢復
生效配置
--test:不更新配置文件,只顯示新設(shè)置
--update:更新配置文件, 如果沒有使用 --update 選項,則不會將更改寫入系統(tǒng)配置文件
authconfig使用
備份配置
authconfig --savebackup=/backups/authconfigbackup20241011
恢復配置
路徑必須使用絕對路徑
因為備份文件中包含passwd、group等這些文件,所以在備份之后創(chuàng)建的用戶就沒有了,不過其家目錄還在,所以恢復的時候可以把用戶相關(guān)的文件移除
authconfig --restorebackup=/backups/authconfigbackup20241011
設(shè)置口令長度8位,包含大寫字母、小寫字母、特殊字符和數(shù)字
authconfig --passminlen=8 --enablerequpper --enablereqlower --enablereqother --enablereqdigit --update
驗證
# useradd tmp# passwd tmp
更改用戶 tmp 的密碼 。
新的 密碼:
無效的密碼: 密碼包含少于 1 的大寫字母
重新輸入新的 密碼:
抱歉,密碼不匹配。
新的 密碼:
無效的密碼: 密碼包含少于 1 的小寫字母
重新輸入新的 密碼:
抱歉,密碼不匹配。
新的 密碼:
無效的密碼: 密碼包含少于 1 的非字母或數(shù)字字符
無效的密碼: 密碼少于 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分鐘之內(nèi)連續(xù)4次登錄失敗,賬號就會被鎖定20分鐘,可通過 grep -E 'pam_faillock.so' /etc/pam.d/* 查看自動生成的相關(guān)配置
# 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的相關(guān)信息
deny=:連續(xù)多少次失敗會被block,默認3次
fail_interval=: 在多少時間內(nèi)檢查連續(xù)失敗次數(shù),默認15分鐘
unlock_time: 賬號被block多長時間
even_deny_root :root賬號同樣適用相關(guān)策略
由于默認添加了 silent 選項,所以當用戶被鎖定后再次嘗試登錄不會有相關(guān)提示,可以手動將其去掉
可以通過 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 系統(tǒng)中,/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(自定義配置集): 用戶可以創(chuàng)建自己的自定義配置集,基于現(xiàn)有配置集進行修改,以滿足特定的身份驗證需求
authselect 提供的標準配置集
minimal 配置集 :提供最基本的身份驗證功能,只針對本地用戶,不依賴于任何外部服務(wù)
sssd 配置集: (System Security Services Daemon)支持本地和遠程目錄服務(wù),可配置包括本地、 LDAP、Kerberos 等
winbind 配置集 : 與 Windows 活動目錄(Active Directory)進行集成
nsswitch 配置集 : 僅配置 nsswitch.conf 文件,而不對 PAM 進行配置。它適用于需要定制名稱服務(wù)切換(NSS)機制,但不想更改身份驗證機制的場景 下
常用功能模塊
with-faillock : 啟用 PAM faillock 模塊,用于限制用戶在多次登錄失敗后的嘗試次數(shù),并鎖定賬戶一定時間
with-pamaccess: 啟用 PAM pam_access 模塊,該模塊用于限制哪些用戶可以從哪些主機進行訪問。通過 /etc/security/access.conf 配置文件控制訪問權(quán)限
常用指令
配置集相關(guān)
select PROFILE-ID 選擇配置集
list 列出可用的配置集
show PROFILE-ID 顯示配置集信息
current 獲得當前選擇配置集的標識符
check 檢查當前配置是否有效
create-profile 創(chuàng)建新的 authselect 配置集
test PROFILE-ID 列出配置集中所有文件內(nèi)容
功能模塊相關(guān)
list-features PROFILE-ID 列出指定配置集有效的功能模塊
enable-feature 啟用當前選擇配置集中的功能
disable-feature 禁用當前選擇配置集的功能
備份恢復相關(guān)
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 的內(nèi)容即可,相關(guān)參數(shù)與authconfig一致
配置登錄失敗策略
需要開啟 faillock
authselect enable-feature with-faillock
修改配置文件 /etc/security/faillock.conf 的內(nèi)容即可,相關(guān)參數(shù)與authconfig一致
進行應(yīng)用
authselect apply-changes
查看
# authselect current
檔案檔案 ID: minimal
啟用的功能:
- with-faillock
自定義配置集
# 此命令將在 /etc/authselect/custom/myprofile/ 目錄下創(chuàng)建一個新的自定義配置集,基于 sssd
authselect create-profile myprofile -b sssd
藍隊云官網(wǎng)上擁有完善的技術(shù)支持庫可供參考,大家可自行查閱,更多技術(shù)問題,可以直接咨詢。同時,藍隊云整理了運維必備的工具包免費分享給大家使用,需要的朋友可以直接咨詢。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP