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

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

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

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

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

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

  操作前需要掌握如下幾個簡單的知識點:(其實不掌握也行,不過學(xué)學(xué)沒壞處)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  use_mapped_pass 該模塊不能提示用戶輸入密碼,而是使用映射過的密碼。

  expose_account 允許該模塊顯示用戶的帳號名等信息,一般只能在安全的環(huán)境下使用,因為泄漏用戶名會對安全造成一定程度的威脅。

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

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

  module-type control-flag module-path arguments

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

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

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

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

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

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