Red Hat Enterprise Linux Network Services and Security Administration Unit 9 - Account Management

學習目標


Name Service Switch(NSS)
# vi  /etc/nsswitch.conf
passwd: files nis ldap    ← order 由左而右

getent
getent database
# getent hosts
# getent passwd    ← 提取帳號資訊
# getent passwd alice

Pluggable Authentication Modules(PAM) 可插拔的身份認證


aplication 只要與PAM連接, 就能支援全部上游的的認證機制

PAM Operation
PAM 的模組 /lib/security
PAM 設定檔 /etc/pam.d/

/etc/pam.d/ Files: Tests
auth  身份認證
account 帳號合不合法?有無被停用?
password  密碼變更
session login and logout 的 log
# cat /etc/pam.d/passwd
#%PAM-1.0
auth       include      system-auth 
account    include      system-auth 
password   include      system-auth

/etc/pam.d/Files: Control Values
requisted,全部做完才知道過還是不過
requisite,如果遇到不過的項目就馬上不過
sufficient,如果遇到過的項目就馬上過

Example
# cat /etc/pam.d/login
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth       include      system-auth
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    optional     pam_keyinit.so force revoke
session    include      system-auth
session    required     pam_loginuid.so
session    optional     pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open
session    optional     pam_ck_connector.so

The system_auth File
system_auth 應用比較廣,常被 include

pam_unix.so
傳統的 NNS-based 認證
auth, account, password, session

Network Authentication
其他網路的 login 模組
pam_krb5.so (Kerberos V tickets)
pam_ldap.so (LDAP binds)
pam_smb_auth.so (old SMB authentication)
pam_winbind.so (SMB through winbindd)

auth Modules
pam_securetty.so 模組,限制管理員登入的入口只能在 /etc/securetty 裡有的才可以登入
pam_nologin.so 模組,只要/etc/nologin檔案存在,使用者也不是root時就不能login
pam_listfile.so 模組,只要在某個黑名單的檔案裡就不能登入, ex, /etc/vsftpd/ftpusers


Password Security
pam_unix.so MD5 password hashes
pam_unix.so shadow passwords

Password Policy
pam_cracklib.so 強度驗證

pam_tally.so 鎖帳號

session Moudle
pam_limits.so 模組,設定檔 /etc/security/limits.conf 資源存取限制
pam_console.so 設定console登入使用者的週邊設備存取權限
pam_selinux.so SELinux
pam_mkhomedir.so 登入發現沒有家目錄,自動建家目錄

pam_rootok.so 只要是root執行這個程式不用問密碼
pam_xauth.so 圖形介面的身份驗證

PAM Troubleshooting
/var/log/messages
/var/log/secure
PAM 存檔馬上生效,所以最好保留一個root的shell
以single模式登入忽略PAM




Lab 9 實作

# faillog -u alice ← 看登入失敗次數,但不會計算
# vi /etc/pam.d/system-auth
auth        required      pam_tally.so no_magic_root
acount      required      pam_tally.so deny=2 no_magic_root

# faillog -u alice ← ← 看登入失敗次數,已經可以計算登入失敗次數










By SmallKen