真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Linux服務(wù)器安全策略配置-PAM身份驗(yàn)證模塊(二)-創(chuàng)新互聯(lián)

○ 本文導(dǎo)航

企業(yè)建站必須是能夠以充分展現(xiàn)企業(yè)形象為主要目的,是企業(yè)文化與產(chǎn)品對外擴(kuò)展宣傳的重要窗口,一個合格的網(wǎng)站不僅僅能為公司帶來巨大的互聯(lián)網(wǎng)上的收集和信息發(fā)布平臺,成都創(chuàng)新互聯(lián)公司面向各種領(lǐng)域:成都封陽臺網(wǎng)站設(shè)計、成都全網(wǎng)營銷推廣解決方案、網(wǎng)站設(shè)計等建站排名服務(wù)。

關(guān)于PAM

PAM身份驗(yàn)證配置文件

PAM配置文件語法格式

PAM模塊接口

PAM控制標(biāo)志

PAM配置方法

PAM身份驗(yàn)證安全配置實(shí)例

 - 強(qiáng)制使用強(qiáng)密碼(用戶密碼安全配置)

 - 用戶SSH登錄失敗嘗試次數(shù)超出限制后鎖定賬戶(帳戶鎖定/解鎖和時間設(shè)置)

 - 允許普通用戶使用sudo而不是su(限制普通用戶登錄到root用戶)

 - 禁止直接使用root用戶通過SSH登錄

pwgen復(fù)雜密碼隨機(jī)生成工具

關(guān)于PAM

Linux-PAM (Pluggable Authentication Modules for Linux)可插拔認(rèn)證模塊。Linux-PAM是一套適用于Linux的身份驗(yàn)證共享庫系統(tǒng),它為系統(tǒng)中的應(yīng)用程序或服務(wù)提供動態(tài)身份驗(yàn)證模塊支持。在Linux中,PAM是可動態(tài)配置的,本地系統(tǒng)管理員可以自由選擇應(yīng)用程序如何對用戶進(jìn)行身份驗(yàn)證。PAM應(yīng)用在許多程序與服務(wù)上,比如登錄程序(login、su)的PAM身份驗(yàn)證(口令認(rèn)證、限制登錄),passwd強(qiáng)制密碼,用戶進(jìn)程實(shí)時管理,向用戶分配系統(tǒng)資源等。

PAM的主要特征是認(rèn)證的性質(zhì)是可動態(tài)配置的。PAM的核心部分是庫(libpam)和PAM模塊的集合,它們是位于文件夾/lib/security/中的動態(tài)鏈接庫(.so)文件,以及位于/etc/pam.d/目錄中(或者是/etc/pam.conf配置文件)的各個PAM模塊配置文件。/etc/pam.d/目錄中定義了各種程序和服務(wù)的PAM配置文件,其中system-auth文件是PAM模塊的重要配置文件,它主要負(fù)責(zé)用戶登錄系統(tǒng)的身份認(rèn)證工作,不僅如此,其他的應(yīng)用程序或服務(wù)可以通過include接口來調(diào)用它(該文件是system-auth-ac的軟鏈接)。此外password-auth配置文件也是與身份驗(yàn)證相關(guān)的重要配置文件,比如用戶的遠(yuǎn)程登錄驗(yàn)證(SSH登錄)就通過它調(diào)用。而在Ubuntu、SuSE Linux等發(fā)行版中,PAM主要配置文件是common-auth、common-account、common-password、common-session這四個文件,所有的應(yīng)用程序和服務(wù)的主要PAM配置都可以通過它們來調(diào)用。

使用如下命令判斷程序是否使用了PAM:

root@HMing ~ # ldd /usr/bin/passwd | grep libpam

libpam_misc.so.0 => /lib64/libpam_misc.so.0 (0x00007fb74f748000)

libpam.so.0 => /lib64/libpam.so.0 (0x00007fb74eb45000)

如看到有類似的輸出,說明該程序使用了PAM,沒有輸出,則沒有使用。

PAM身份驗(yàn)證配置文件

/etc/pam.d/目錄包含應(yīng)用程序的PAM配置文件。例如,login程序?qū)⑵涑绦?服務(wù)名稱定義為login,與之對應(yīng)的PAM配置文件為/etc/pam.d/login。

PAM配置文件語法格式

每個PAM配置文件都包含一組指令,用于定義模塊以及控制標(biāo)志和參數(shù)。每條指令都有一個簡單的語法,用于標(biāo)識模塊的目的(接口)和模塊的配置設(shè)置,語法格式如下:

module_interface      control_flag      module_name  module_arguments

如在/etc/pam.d/password-auth-ac配置文件中(CentOS),其中一行PAM模塊接口定義如下

Linux服務(wù)器安全策略配置-PAM身份驗(yàn)證模塊(二)

PAM模塊接口(模塊管理組)

PAM為認(rèn)證任務(wù)提供四種類型可用的模塊接口,它們分別提供不同的認(rèn)證服務(wù):

auth- 認(rèn)證模塊接口,如驗(yàn)證用戶身份、檢查密碼是否可以通過,并設(shè)置用戶憑據(jù)
account- 賬戶模塊接口,檢查指定賬戶是否滿足當(dāng)前驗(yàn)證條件,如用戶是否有權(quán)訪問所請求的服務(wù),檢查賬戶是否到期
password- 密碼模塊接口,用于更改用戶密碼,以及強(qiáng)制使用強(qiáng)密碼配置
session- 會話模塊接口,用于管理和配置用戶會話。會話在用戶成功認(rèn)證之后啟動生效

單個PAM庫模塊可以提供給任何或所有模塊接口使用。例如,pam_unix.so提供給四個模塊接口使用。

PAM控制標(biāo)志

所有的PAM模塊被調(diào)用時都會返回成功或者失敗的結(jié)果,每個PAM模塊中由多個對應(yīng)的控制標(biāo)志決定結(jié)果是否通過或失敗。每一個控制標(biāo)志對應(yīng)一個處理結(jié)果,PAM庫將這些通過/失敗的結(jié)果整合為一個整體的通過/失敗結(jié)果,然后將結(jié)果返回給應(yīng)用程序。模塊可以按特定的順序堆疊??刂茦?biāo)志是實(shí)現(xiàn)用戶在對某一個特定的應(yīng)用程序或服務(wù)身份驗(yàn)證的具體實(shí)現(xiàn)細(xì)節(jié)。該控制標(biāo)志是PAM配置文件中的第二個字段,PAM控制標(biāo)志如下:

> required- 模塊結(jié)果必須成功才能繼續(xù)認(rèn)證,如果在此處測試失敗,則繼續(xù)測試引用在該模塊接口的下一個模塊,直到所有的模塊測試完成,才將結(jié)果通知給用戶。
> requisite- 模塊結(jié)果必須成功才能繼續(xù)認(rèn)證,如果在此處測試失敗,則會立即將失敗結(jié)果通知給用戶。
> sufficient- 模塊結(jié)果如果測試失敗,將被忽略。如果sufficient模塊測試成功,并且之前的required模塊沒有發(fā)生故障,PAM會向應(yīng)用程序返回通過的結(jié)果,不會再調(diào)用堆棧中其他模塊。
> optional- 該模塊返回的通過/失敗結(jié)果被忽略。當(dāng)沒有其他模塊被引用時,標(biāo)記為optional模塊并且成功驗(yàn)證時該模塊才是必須的。該模塊被調(diào)用來執(zhí)行一些操作,并不影響模塊堆棧的結(jié)果。
> include- 與其他控制標(biāo)志不同,include與模塊結(jié)果的處理方式無關(guān)。該標(biāo)志用于直接引用其他PAM模塊的配置參數(shù)

PAM配置方法

所有的PAM配置方法都在man手冊中有說明,比如要查找某個程序支持PAM模塊的配置,可以使用man 加模塊名(去掉.so)查找說明,如# man pam_unix。(模塊名可以在目錄/lib/security/或/lib64/security/中找到。)

PAM身份驗(yàn)證安全配置實(shí)例

一、強(qiáng)制使用強(qiáng)密碼(用戶密碼安全配置)

PAM配置文件:/etc/pam.d/system-auth-ac

模塊名稱:pam_cracklib(僅適用于password模塊接口)

模塊參數(shù):

minlen=12    密碼字符長度不少于12位(默認(rèn)為9)

lcredit=-1    至少包含1個小寫字母

ucredit=-1    至少包含1個大寫字母

dcredit=-1    至少包含1個數(shù)字

ocredit=-1    至少包含1個特殊字符

retry=3     配置密碼時,提示3次用戶密碼錯誤輸入

difok=6     配置密碼時,新密碼中至少6個字符與舊密碼不同(默認(rèn)為5)

其他常用參數(shù):

reject_username   新密碼中不能包含與用戶名稱相同的字段

maxrepeat=N     拒絕包含超過N個連續(xù)字符的密碼,默認(rèn)值為0表示此檢查已禁用

maxsequence=N    拒絕包含大于N的單調(diào)字符序列的密碼,例如’1234’或’fedcb’,默認(rèn)情況下即使沒有這個參數(shù)配置,一般大多數(shù)這樣的密碼都不會通過,除非序列只是密碼的一小部分

maxcla***epeat=N  拒絕包含相同類別的N個以上連續(xù)字符的密碼。默認(rèn)值為0表示此檢查已禁用。

use_authtok     強(qiáng)制使用先前的密碼,不提示用戶輸入新密碼(不允許用戶修改密碼)

模塊名稱:pam_unix (適用于account,auth, password和session模塊接口)

模塊參數(shù):

remember=N    保存每個用戶使用過的N個密碼,強(qiáng)制密碼不能跟歷史密碼重復(fù)

其他常見參數(shù):

sha512      當(dāng)用戶下一次更改密碼時,使用SHA256算法進(jìn)行加密

md5       當(dāng)用戶更改密碼時,使用MD5算法對其進(jìn)行加密。

try_first_pass  在提示用戶輸入密碼之前,模塊首先嘗試先前的密碼,以測試是否滿足該模塊的需求。

use_first_pass  該模塊強(qiáng)制使用先前的密碼(不允許用戶修改密碼),如果密碼為空或者密碼不對,用戶將被拒絕訪問

shadow      用戶保護(hù)密碼

nullok      默認(rèn)不允許空密碼訪問服務(wù)

use_authtok   強(qiáng)制使用先前的密碼,不提示用戶輸入新密碼(不允許用戶修改密碼)

例 修改配置/etc/pam.d/system-auth-ac文件,在password模塊接口行修改或添加配置參數(shù)如下:

password    requisite     pam_cracklib.so try_first_pass retry=3 type= reject_username minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 difok=6

修改后的/etc/pam.d/system-auth-ac配置文件如下圖所示

Linux服務(wù)器安全策略配置-PAM身份驗(yàn)證模塊(二)

需要注意的是,我在這里展示的是在RHEL/CentOS下的配置,passwd程序的PAM配置文件涉及主配置文件/etc/pam.d/passwd和/etc/pam.d/system-auth-ac(也可以是/etc/pam.d/password-auth-ac),其中/etc/pam.d/passwd配置文件默認(rèn)只包含了/etc/pam.d/system-auth-ac配置文件,因此對于以上PAM身份驗(yàn)證密碼模塊配置,只修改/配置該文件即可?;蛘咴赨buntu中,配置文件包括:/etc/pam.d/common-password、/etc/pam.d/common-account、/etc/pam.d/common-auth、/etc/pam.d/common-session。

測試PAM配置:

登錄(su)普通用戶使用passwd程序更新密碼,如果輸入的密碼不符合要求,將不能修改

root@HMing ~ # su - hm      #登錄到hm用戶 hm@HMing ~ $ passwd         #修改密碼 Changing password for user hm. Changing password for hm. (current) UNIX password:    #提示輸入舊密碼 New password:               #提示輸入新密碼,如果不滿足要求,將會提示相關(guān)錯誤信息 Password unchanged New password:  BAD PASSWORD: is too simple New password:               #當(dāng)輸入的密碼滿足要求時,才提示再次輸入 Retype new password:  passwd: all authentication tokens updated successfully.

二、用戶SSH登錄失敗嘗試次數(shù)超出限制后鎖定賬戶(帳戶鎖定/解鎖和時間設(shè)置)

為了進(jìn)一步提高安全性,可以指定超過失敗登錄嘗試次數(shù)后鎖定用戶。用戶賬戶可以被解鎖(可以由root用戶主動解鎖),或者在設(shè)定的時間后自動解鎖。如在三次失敗的登錄嘗試后鎖定用戶十分鐘。需要在/etc/pam.d/password-auth-ac(或者在/etc/pam.d/sshd)文件添加以下參數(shù):

auth        required      pam_tally2.so deny=3 unlock_time=600 onerr=succeed file=/var/log/tallylog

在Ubuntu、SuSE Linux中,需要修改/etc/pam.d/common-auth配置文件

另外,使用PAM還可以限制在console控制臺上登錄,需要修改/etc/pam.d/system-auth配置文件(或者/etc/pam.d/login),添加如上auth配置字段即可。

一旦用戶失敗登錄嘗試次數(shù)達(dá)到3次,該帳戶立刻被鎖定,除非root用戶解鎖。root用戶下使用如下命令解鎖用戶:

# pam_tally2 -u username -r --reset

查看用戶登錄失敗信息:

# pam_tally2 -u username

如果要在3次失敗登錄嘗試后永久鎖定用戶,那么需要刪除unlock_time字段,除非root用戶解鎖該賬戶,否則將永久鎖定。

pam_tally/pam_tally2模塊參數(shù):

全局選項(xiàng)

onerr=[succeed|fail]

file=/path/to/log  失敗登錄日志文件,默認(rèn)為/var/log/tallylog

audit        如果登錄的用戶沒有找到,則將用戶名信息記錄到系統(tǒng)日志中

silent        不打印相關(guān)的信息

no_log_info     不通過syslog記錄日志信息

AUTH選項(xiàng)

deny=n        失敗登錄次數(shù)超過n次后拒絕訪問

lock_time=n     失敗登錄后鎖定的時間(秒數(shù))

unlock_time=n    超出失敗登錄次數(shù)限制后,解鎖的時間

no_lock_time     不在日志文件/var/log/faillog 中記錄.fail_locktime字段

magic_root      root用戶(uid=0)調(diào)用該模塊時,計數(shù)器不會遞增

even_deny_root    root用戶失敗登錄次數(shù)超過deny=n次后拒絕訪問

root_unlock_time=n  與even_deny_root相對應(yīng)的選項(xiàng),如果配置該選項(xiàng),則root用戶在登錄失敗次數(shù)超出限制后被鎖定指定時間

三、允許普通用戶使用sudo而不是su(限制普通用戶登錄到root用戶)

Linux系統(tǒng)上默認(rèn)存在一個wheel組,用于限制普通用戶通過su登錄到root用戶,只有屬于wheel組的用戶成員才能使用su。但是在默認(rèn)情況下,系統(tǒng)并沒有啟用這個功能,我們可以通過PAM啟用它,或者修改為指定的組/用戶使用su,當(dāng)然指定為什么組可以按照要求而定。該配置通過pam_wheel模塊指定。

首先啟用whell組,使得只屬于wheel組的用戶可以使用su命令

需要在/etc/pam.d/su配置文件添加以下配置:

auth            required        pam_wheel.so use_uid

需要注意應(yīng)該將這一行參數(shù)添加在/etc/pam.d/su文件的首部,否則PAM模塊可能會跳過該項(xiàng)檢查。配置完之后,我們就可以將需要用su權(quán)限的用戶添加到wheel組中,如下:

# usermod -a -G wheel username

其次,如果你不想使用wheel組,而是使用其他的組代替,比如指定組名為myadmingroup的組擁有su的權(quán)限,需要這么做:

auth            required        pam_wheel.so use_uid group=myadmingroup

最后配置指定用戶擁有sudo權(quán)限,要知道我們的目的是盡量少使用root身份的權(quán)限,sudo可以讓用戶僅僅在需要調(diào)用root用戶權(quán)限的情況下調(diào)用。我們可以指定特定的組/用戶使用sudo(不需要root密碼)調(diào)用root權(quán)限。visudo打開配置文件:

hmm   ALL=(ALL)    NOPASSWD: ALL  #允許hmm用戶通過sudo執(zhí)行任何命令(不需要輸入密碼)

%wheel  ALL=(ALL)   ALL       #允許wheel組成員使用sudo執(zhí)行任何命令(需要輸入密碼)

四、禁止直接使用root用戶通過SSH登錄

在/etc/pam.d/password-auth-ac或者/etc/pam.d/sshd配置文件中添加以下配置(該配置禁止SSH的口令認(rèn)證,但仍然可以使用SSH密鑰登錄)

auth        required      pam_securetty.so

此外還可以配置/etc/securetty 文件禁止root用戶通過所有tty終端登錄系統(tǒng)

# cp /etc/securetty /etc/securetty.saved # echo "" >/etc/securetty

五、pwgen復(fù)雜密碼隨機(jī)生成工具

pwgen是一個在Linux隨機(jī)生成密碼的工具,在CnetOS6下安裝:

# rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm # yum install pwgen

使用pwgen命令隨機(jī)生成字符長度為12的密碼

# pwgen -s 12 -c -n -y

-n  至少包含一個數(shù)字

-c  至少包含一個大寫字母

-y  至少包含一個特殊字符

-s  完全隨機(jī)生成密碼

Linux服務(wù)器安全策略配置-PAM身份驗(yàn)證模塊(二)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)站題目:Linux服務(wù)器安全策略配置-PAM身份驗(yàn)證模塊(二)-創(chuàng)新互聯(lián)
文章鏈接:http://weahome.cn/article/eiddd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部