技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類(lèi) >

關(guān)于linux系統(tǒng)密碼策略的設(shè)置

來(lái)源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-06-17 12:08┆點(diǎn)擊:

  由于工作需要最近需要將公司的多臺(tái)linux服務(wù)器進(jìn)行密碼策略的設(shè)置,主要內(nèi)容是增加密碼復(fù)雜度。

  操作步驟如下,不會(huì)的同學(xué)可以參考:

  操作前需要掌握如下幾個(gè)簡(jiǎn)單的知識(shí)點(diǎn):(其實(shí)不掌握也行,不過(guò)學(xué)學(xué)沒(méi)壞處)

  PAM(Pluggable Authentication Modules )是由Sun提出的一種認(rèn)證機(jī)制。它通過(guò)提供一些動(dòng)態(tài)鏈接庫(kù)和一套統(tǒng)一的API,將系統(tǒng)提供的服務(wù) 和該服務(wù)的認(rèn)證方式分開(kāi),使得系統(tǒng)管理員可以靈活地根據(jù)需要給不同的服務(wù)配置不同的認(rèn)證方式而無(wú)需更改服務(wù)程序,同時(shí)也便于向系 統(tǒng)中添加新的認(rèn)證手段。PAM最初是集成在Solaris中,目前已移植到其它系統(tǒng)中,如Linux、SunOS、HP-UX 9.0等。

  PAM的配置是通過(guò)單個(gè)配置文件/etc/pam.conf。RedHat還支持另外一種配置方式,即通過(guò)配置目錄/etc/pam.d/,且這種的優(yōu)先級(jí)要高于單 個(gè)配置文件的方式。

  1、使用配置文件/etc/pam.conf

  該文件是由如下的行所組成的:

  service-name module-type control-flag module-path arguments

  service-name 服務(wù)的名字,比如telnet、login、ftp等,服務(wù)名字“OTHER”代表所有沒(méi)有在該文件中明確配置的其它服務(wù)。

  module-type 模塊類(lèi)型有四種:auth、account、session、password,即對(duì)應(yīng)PAM所支持的四種管理方式。同一個(gè)服務(wù)可以調(diào)用多個(gè) PAM模塊進(jìn)行認(rèn)證,這些模塊構(gòu)成一個(gè)stack。

  control-flag 用來(lái)告訴PAM庫(kù)該如何處理與該服務(wù)相關(guān)的PAM模塊的成功或失敗情況。它有四種可能的 值:required,requisite,sufficient,optional。

  required 表示本模塊必須返回成功才能通過(guò)認(rèn)證,但是如果該模塊返回失敗的話(huà),失敗結(jié)果也不會(huì)立即通知用戶(hù),而是要等到同一stack 中的所有模塊全部執(zhí)行完畢再將失敗結(jié)果返回給應(yīng)用程序??梢哉J(rèn)為是一個(gè)必要條件。

  requisite 與required類(lèi)似,該模塊必須返回成功才能通過(guò)認(rèn)證,但是一旦該模塊返回失敗,將不再執(zhí)行同一stack內(nèi)的任何模塊,而是直 接將控制權(quán)返回給應(yīng)用程序。是一個(gè)必要條件。注:這種只有RedHat支持,Solaris不支持。

  sufficient 表明本模塊返回成功已經(jīng)足以通過(guò)身份認(rèn)證的要求,不必再執(zhí)行同一stack內(nèi)的其它模塊,但是如果本模塊返回失敗的話(huà)可以 忽略??梢哉J(rèn)為是一個(gè)充分條件。

  optional表明本模塊是可選的,它的成功與否一般不會(huì)對(duì)身份認(rèn)證起關(guān)鍵作用,其返回值一般被忽略。

  對(duì)于control-flag,從Linux-PAM-0.63版本起,支持一種新的語(yǔ)法,具體可參看LinuxPAM文檔。

  module-path 用來(lái)指明本模塊對(duì)應(yīng)的程序文件的路徑名,一般采用絕對(duì)路徑,如果沒(méi)有給出絕對(duì)路徑,默認(rèn)該文件在目錄/usr/lib/security下面。

  arguments 是用來(lái)傳遞給該模塊的參數(shù)。一般來(lái)說(shuō)每個(gè)模塊的參數(shù)都不相同,可以由該模塊的開(kāi)發(fā)者自己定義,但是也有以下幾個(gè)共同 的參數(shù):

  debug 該模塊應(yīng)當(dāng)用syslog( )將調(diào)試信息寫(xiě)入到系統(tǒng)日志文件中。

  no_warn 表明該模塊不應(yīng)把警告信息發(fā)送給應(yīng)用程序。

  use_first_pass 表明該模塊不能提示用戶(hù)輸入密碼,而應(yīng)使用前一個(gè)模塊從用戶(hù)那里得到的密碼。

  try_first_pass 表明該模塊首先應(yīng)當(dāng)使用前一個(gè)模塊從用戶(hù)那里得到的密碼,如果該密碼驗(yàn)證不通過(guò),再提示用戶(hù)輸入新的密碼。

  use_mapped_pass 該模塊不能提示用戶(hù)輸入密碼,而是使用映射過(guò)的密碼。

  expose_account 允許該模塊顯示用戶(hù)的帳號(hào)名等信息,一般只能在安全的環(huán)境下使用,因?yàn)樾孤┯脩?hù)名會(huì)對(duì)安全造成一定程度的威脅。

  2、使用配置目錄/etc/pam.d/(只適用于RedHat Linux)

  該目錄下的每個(gè)文件的名字對(duì)應(yīng)服務(wù)名,例如ftp服務(wù)對(duì)應(yīng)文件/etc/pam.d/ftp。如果名為xxxx的服務(wù)所對(duì)應(yīng)的配置文件/etc/pam.d/xxxx不存 在,則該服務(wù)將使用默認(rèn)的配置文件/etc/pam.d/other。每個(gè)文件由如下格式的文本行所構(gòu)成:

  module-type control-flag module-path arguments

  每個(gè)字段的含義和/etc/pam.conf中的相同。

  由于公司使用的是RedHat的linux故此我將使用pam.d這個(gè)配置目錄。密碼復(fù)雜度通過(guò)/etc/pam.d/system-auth這個(gè)文件來(lái)實(shí)現(xiàn)的故此我們先看一下默認(rèn)有什么內(nèi)容然后將這個(gè)文件備份一個(gè):

關(guān)于linux系統(tǒng)密碼策略的設(shè)置 三聯(lián)

  在這個(gè)文件中我們會(huì)用到pam_cracklib.so這個(gè)模塊。pam_cracklib.so是一個(gè)常用并且非常重要的PAM模塊。該模塊主要的作用是對(duì)用戶(hù)密碼的強(qiáng)健性進(jìn)行檢測(cè)。即檢查和限制用戶(hù)自定義密碼的長(zhǎng)度、復(fù)雜度和歷史等。如不滿(mǎn)足上述強(qiáng)度的密碼將拒絕使用。

  pam_cracklib.so比較重要和難于理解的是它的一些參數(shù)和計(jì)數(shù)方法,其常用參數(shù)包括:

  debug:將調(diào)試信息寫(xiě)入日志;