安全加密之 PAM

2021-09-20 23:59:03 字數 2128 閱讀 8000

我們在系統中經常要用到各種認證,login登入需要認證,ssh,telnet ,ftp等需要認證,snmp,smtp等也需要認證,總之既然大家都需要認證,那麼找個人統一管理下好不好。pam有個各個認證模組,關於資源限制的,關於使用者賬號的,關於登入時間的,各個模組,當你的服務需要認證時,你只要把你的需求告訴pam,它就會根據/etc/pam.d/下你指定的認證機制來去呼叫/etc/security下各個庫。

各種應用服務只需要提供服務就好,驗證的事情就交給系統和pam來處理,然後告訴你是提供還是拒絕服務。

只要ldd 呼叫了libpam.so 庫檔案的都可以受其控制

graphlra

-->b

[libpam.so]

b-->c

[/lib*/secure/*.so]

c[/lib*/secure/*.so]

-->d

[/lib*/secure/*.conf]

1.使用者執行/usr/bin/passwd 程式,並輸入密碼

2.passwd開始呼叫pam模組,pam模組會搜尋passwd程式的pam相關設定檔案,這個設定檔案一般是在/etc/pam.d/裡邊的與程式同名的檔案,即pam會搜尋/etc/pam.d/passwd此設定檔案

3.經由/etc/pam.d/passwd設定檔案的資料,取用pam所提供的相關模組來進行驗證

4.將驗證結果回傳給passwd這個程式,而passwd這個程式會根據pam回傳的結果決定下乙個動作(重新輸入密碼或者通過驗證)

man -k pam

man pam.conf

/etc/pam.d/下的配置檔案格式

因為其子系統太多,因此預設不存在/etc/pam.conf配置檔案。而是放在各個子配置檔案中。各個應用的pam認證規則配置存放在/etc/pam.d中

回歸正題格式為:

type control module-path module-arguments

type

control

module-path

module-arguments

auth

require

/lib64/secure

***account

xpassword

x-type

x

簡單方式實現:乙個關鍵字實現

require:一票否決,表示本模組必須成功才能通過

requisite:一票否決,同上

sufficient:一票通過,表示本模組返回成功則通過身份認證

include:呼叫其他配置檔案中定義的配置資訊

複雜方式實現: 使用乙個或多個"status=action"

[status1=action1 status2=action2....]

status:檢查結果的返回狀態,success ,default

action:ok,done,bad,die,ignore,reset

ok 模組通過繼續檢查

done 模組通過,返回最後結果給應用

bad 結果失敗,繼續檢查

die 結果失敗,返回失敗結果給應用

ignore 結果忽略,不影響最後結果

reset 忽略已經得到的結果

pam_nologin.so 普通使用者允許登入,如果/etc/nologin檔案存在,非root使用者不能登入,如果用shell是/sbin.nologin 登入時會顯示/etc/nologin檔案內容,並拒絕登入

pam_shells.so 控制登入終端型別,檢查登入使用者shell型別為 /etc/shells中的型別,方可登入

pam_securetty.so 只允許root登入在/etc/securetty列出的安全終端上

pam_limits.so 在使用者級別實現對其可用的資源限制,例如:可開啟的檔案數量,可執行的程序數量,可使用的記憶體空間等。

修改限制的方式

1、ulimit命令,立即生效,單無法儲存,只在當前會話有效

2、配置檔案/etc/scurity/limits.conf,/etc/scurity

/limits.d/*.conf

iOS之安全加密

在專案中當我們提交使用者的隱私資料時,比如 登陸密碼 銀行賬號等,一定要使用post請求提交使用者的這些隱私資料。因為get請求的所有引數都直接暴露在url中。同時請求的url一般會記錄在伺服器的訪問日誌中,伺服器的訪問日誌是黑客攻擊的重點物件之一。僅僅用post請求提交使用者的隱私資料,還是不能完...

資訊保安 PAM模組的研究

在前面的內容中介紹了pam limits pam securetty 以及pam cracklib 這幾個模組,這裡就不再贅述,下面列出部分linuxpam模組 pam access 提供logdaemon 風格的登入控制 etc security access.conf pam chroot 提供...

java安全之加密技術

主要有 對稱加密演算法,基礎加密演算法,非對稱加密演算法。只有乙個金鑰key進行加密解密,可以逆向加解密。古代有名的加密演算法,將加密的資料進行一定的以為,屬於對稱加密,金鑰key 2 int 值 這種加密非常簡單,只需要對相應的明文移位就得到了加密後的密文,如 明文為abc,key 2 移2位 那...