自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

用PAM認(rèn)證加強(qiáng)Linux服務(wù)器安全

系統(tǒng) Linux
PAM(Pluggable Authentication Modules)即可插拔式認(rèn)證模塊,它是一種高效而且靈活便利的用戶級(jí)別的認(rèn)證方式,它也是當(dāng)前Linux服務(wù)器普遍使用的認(rèn)證方式。

PAM(Pluggable Authentication Modules)即可插拔式認(rèn)證模塊,它是一種高效而且靈活便利的用戶級(jí)別的認(rèn)證方式,它也是當(dāng)前Linux服務(wù)器普遍使用的認(rèn)證方式。當(dāng)然,在不同版本的Linux統(tǒng)中部署PAM認(rèn)證是有所不同的,本文將以RHEL4版本為例進(jìn)行解析。

1.部署PAM認(rèn)證的必要性

我們知道一臺(tái)Linux服務(wù)器會(huì)開許多不同的服務(wù),這些服務(wù)中很多服務(wù)本身并沒有認(rèn)證功能,只是把認(rèn)證交給用戶名及密碼。如果這樣的話,那么所有服務(wù)都用Linux系統(tǒng)的用戶名及密碼來認(rèn)證,對(duì)于服務(wù)器來說是很危險(xiǎn)的。比如一臺(tái)服務(wù)器開著FTP、SMTP、SSH等服務(wù),那么新建一個(gè)用戶默認(rèn)就享有對(duì)以上的服務(wù)的操作權(quán)限,那么如果一個(gè)用戶的帳號(hào)密碼泄露會(huì)涉及到多個(gè)服務(wù)。因此,不管是PC還是服務(wù)器在類Linux系統(tǒng)中部署PAM認(rèn)證是非常必要的。通過新型的認(rèn)證模塊——PAM就能解決認(rèn)證方面的不足,加強(qiáng)Linux系統(tǒng)安全。

2.PAM認(rèn)證的方式

PAM認(rèn)證一般遵循這樣的順序:Service(服務(wù))→PAM(配置文件)→PAM_*.so。PAM認(rèn)證首先要確定那一項(xiàng)服務(wù),然后加載相應(yīng)的PAM的配置文件(位于/etc/PAM.d下),最后調(diào)用認(rèn)證文件(位于/lib/security下)進(jìn)行安全認(rèn)證。通常情況下,在Linux系統(tǒng)安裝完成后會(huì)在/etc/PAM.d路徑下為我們提供了一些默認(rèn)的配置文件。另外,大家要知道/lib/security目錄是認(rèn)證文件的默認(rèn)存放位置。/etc/PAM.d路徑下的默認(rèn)配置文件是我們進(jìn)行PAM配置的模板,通常情況下我們根據(jù)安全需要對(duì)于進(jìn)行修改或者添加相應(yīng)的項(xiàng)即可。(圖1)

3.PAM認(rèn)證的構(gòu)成

客觀地說PAM認(rèn)證還是比較復(fù)雜的,簡(jiǎn)單地講它包括四種常見認(rèn)證類型(module type):即auth認(rèn)證管理、account用戶管理、password密碼認(rèn)證管理、session會(huì)話管理。以/etc/PAM.d/login為例,我們可以看到它的配置文件,區(qū)域1中的auth、account、password、session等都是認(rèn)證類型。區(qū)域2中的required、 requisite 、sufficient 、optional是認(rèn)證的流程控制。最后面的區(qū)域3就是認(rèn)證的PAM文件了。(圖2)

3.PAM認(rèn)證的構(gòu)成

客觀地說PAM認(rèn)證還是比較復(fù)雜的,簡(jiǎn)單地講它包括四種常見認(rèn)證類型(module type):即auth認(rèn)證管理、account用戶管理、password密碼認(rèn)證管理、session會(huì)話管理。以/etc/PAM.d/login為例,我們可以看到它的配置文件,區(qū)域1中的auth、account、password、session等都是認(rèn)證類型。區(qū)域2中的required、 requisite 、sufficient 、optional是認(rèn)證的流程控制。最后面的區(qū)域3就是認(rèn)證的PAM文件了。(圖2)

  

用PAM認(rèn)證加強(qiáng)Linux服務(wù)器安全

4.PAM認(rèn)證的流程

為了便于大家深入了解PAM認(rèn)證的流程,我們以驗(yàn)證用戶登錄的PAM-login為例進(jìn)行說明。PAM認(rèn)證流程是從行首驗(yàn)證到行尾,逐條認(rèn)證。比如用戶登錄服務(wù)器,共有十條auth類型認(rèn)證,假設(shè)第一條認(rèn)證失敗,一般情況后九條也必須要認(rèn)證。為什么就一般情況呢?其實(shí)還有非一般情況。那么這個(gè)用戶動(dòng)作成功與否是要看auth認(rèn)證后面的區(qū)域2是怎么處理的。在圖2中看到處理字段有required和optional,其中required代表認(rèn)證必須通過,也就是說,無論成功多少條語句,只要失敗一條,那么認(rèn)證就失敗。在圖2中看到的區(qū)域3就是認(rèn)證的模塊了,第二行中的“PAM_securetty.so”就是這個(gè)文件。在RHEL中,認(rèn)證多是用相對(duì)路徑。

#p#

5.PAM認(rèn)證測(cè)試

PAM_securetty.so是一個(gè)認(rèn)證模塊文件,該認(rèn)證模塊只對(duì)root用戶有效,當(dāng)root登錄系統(tǒng)時(shí),會(huì)查看有沒有安全終端,安全終端就是/etc/securetty文件里的東西,比如你運(yùn)行“W”命令看到TTY下面的東西就是安全終端。如果有安全終端就通過認(rèn)證,否則失敗。有些管理員為了安全,不讓root用戶直接登錄,他會(huì)把/etc/securetty文件清代空,這就保證了在有root密碼時(shí),也不能夠在本地登錄。

為了以下的實(shí)驗(yàn)方便,能看出效果來,我們把“auth required PAM_securetty.so”這條認(rèn)證加入SSH服務(wù)的PAM模塊誰文件里(/etc/PAM.d/sshd)的第一行,目的就是讓SSH服務(wù)應(yīng)用這條認(rèn)證。大家可在控制臺(tái)窗口中執(zhí)行“vi etc/PAM.d/sshd”然后添加這條認(rèn)證語句。同樣的道理,如果把這條語句加到login文件(默認(rèn)這條認(rèn)證是被注銷掉的,我們?nèi)∠懊娴?就可以了),控制的是從本地控制臺(tái)登錄,同樣的話如果把這條語句加入到sshd文件內(nèi),那么它將控制的是從遠(yuǎn)程登錄服務(wù)器22端口的過程。(圖3)

下面我們?cè)囍鳶SH登錄系統(tǒng)看看效果,在控制臺(tái)中執(zhí)行命令“ssh -l root localhost”,可以看到無論我們的root用戶的密碼正確與否都無法通過SSH遠(yuǎn)程登錄到系統(tǒng),可見上面的認(rèn)證已經(jīng)生效。在一般情況下,為了服務(wù)器的安全,大家通過PAM認(rèn)證拒絕root遠(yuǎn)程登錄系統(tǒng)?!?圖4)

用PAM認(rèn)證加強(qiáng)Linux服務(wù)器安全

6.PAM認(rèn)證的處理方式

了解了認(rèn)證類型的工作方式,我們還應(yīng)該深入的理解認(rèn)證的處理方式,在圖2中看到,它的認(rèn)證處理方式是required,表示這一模塊的認(rèn)證是必須成功的,但如果失敗,認(rèn)證過程不會(huì)即刻終止,PAM將繼續(xù)下一個(gè)同類型認(rèn)證。上面“PAM_securetty.so”認(rèn)證失敗了,但認(rèn)證并沒有結(jié)束,認(rèn)證的“指針”還在向下走。如圖4中所示,在root用戶SSH登錄認(rèn)證失敗的前提下還提示用戶輸入密碼,雖然認(rèn)證不可能成功。

處理過程中除了required,還有requisite、sufficient和optional,我們?cè)賮砜纯磖equisite的效果。還用SSH服務(wù)為例,把/etc/PAM.d/sshd文件第一行中的“auth required PAM_securetty.so”改成“auth requisite PAM_securetty.so”。再次嘗試登錄,發(fā)現(xiàn)和圖4沒有什么差別,也是輸入3次密碼后被拒絕了。但是細(xì)心的讀者如果一邊看文章一邊嘗試著實(shí)驗(yàn)的話,你會(huì)發(fā)現(xiàn)當(dāng)你在輸入密碼時(shí),用required反應(yīng)的速度要慢一些,并且在系統(tǒng)日志中是沒有記錄的,認(rèn)證同樣是失敗的。這說明required和requisite類似的地方是認(rèn)證必須通過,而不同的是如果失敗,認(rèn)證過程將立即終止,不會(huì)去認(rèn)證下面的條目。(圖5) 

用PAM認(rèn)證加強(qiáng)Linux服務(wù)器安全

7.限制root登錄控制臺(tái)

我們修改用/etc/PAM.d/login來限制root登錄控制臺(tái),打開login文件刪除第二行中的#,取消對(duì)“auth required PAM_securetty.so”的注銷。然后我們本地登錄服務(wù)器,通過測(cè)試我們發(fā)現(xiàn)當(dāng)用required時(shí),你在輸入root及密碼后,你得到了一個(gè)拒絕信息,用requisite時(shí),當(dāng)你輸入root回車時(shí)同樣會(huì)得到拒絕信息登錄失敗,這是由剛才的認(rèn)證方式觸發(fā)的。

8.PAM認(rèn)證可選模塊

在PAM認(rèn)證中,sufficient表示如果認(rèn)證成功,那么對(duì)這一類型的模塊認(rèn)證是充足的了,其他的同類模塊將不會(huì)再檢驗(yàn),當(dāng)認(rèn)證失敗,它會(huì)進(jìn)行下一條認(rèn)證,如果下面同類型的認(rèn)證成功,結(jié)果依然成功。optional表示這一模塊認(rèn)證是可選的,也不會(huì)對(duì)認(rèn)證成功或失敗產(chǎn)生影響,這個(gè)就比較危險(xiǎn)了。比如我們?cè)?etc/PAM.d/sshd文件內(nèi)加入“auth required/lib/security/PAM_listfile.so item=user sense=allow file=/etc/sshusers onerr=succeed”其含義是只允許出現(xiàn)在/etc/sshuser文件內(nèi)的用戶遠(yuǎn)程登錄。然后我們執(zhí)行命令“ssh -l root localhost”,當(dāng)sshusers文件沒有root用戶時(shí)候,登錄失敗,很明顯他被PAM模塊拒絕了。那么我們改一下認(rèn)證文件,將required改成sufficient,嘗試再次登錄,結(jié)果成功登錄。

總結(jié):PAM認(rèn)證是Linux服務(wù)器系統(tǒng)最主要的安全認(rèn)證模式,掌握PAM認(rèn)證對(duì)于加強(qiáng)系統(tǒng)安全非常重要。本文結(jié)合理論與實(shí)踐對(duì)PAM認(rèn)證做了一定的分析,實(shí)際上關(guān)于PAM認(rèn)證是一個(gè)大課題,希望以后有機(jī)會(huì)和大家進(jìn)一步分享基于PAM認(rèn)證的Linux系統(tǒng)安全技巧和經(jīng)驗(yàn)。

【編輯推薦】

  1. 簡(jiǎn)略講解對(duì)Linux服務(wù)器的四種入侵級(jí)別
  2. 攻防有道 剖析對(duì)Linux服務(wù)器的攻擊
  3. Linux服務(wù)器平臺(tái)的安全保護(hù)
責(zé)任編輯:趙寧寧 來源: IT專家網(wǎng)
相關(guān)推薦

2010-05-17 15:38:57

IIS服務(wù)器

2009-03-08 13:55:47

2010-02-25 14:22:19

2018-01-31 11:20:48

2011-09-09 09:35:28

2010-09-01 22:12:53

2014-09-03 11:26:11

2017-12-04 10:03:45

2012-12-18 16:22:36

2011-02-21 10:31:24

2011-03-21 15:45:55

ClusterSSH管Linux服務(wù)器

2010-12-17 09:22:01

Linux服務(wù)器性能監(jiān)控Munin

2017-03-29 15:12:43

2010-08-06 15:44:11

Linux服務(wù)器

2011-03-23 15:30:53

2009-07-04 14:37:12

2012-05-08 13:59:23

2017-01-05 13:41:56

2018-08-07 14:49:55

2018-09-06 10:16:39

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)