Centos7安全實(shí)踐之用戶密碼管理

概述

本文主要內(nèi)容設(shè)定系統(tǒng)密碼的一般性原則,并按次原則在centos7上實(shí)踐和測(cè)試。

密碼安全

  • 所有密碼都會(huì)以單向哈希的形式保存在可讀的 /etc/passwd 文件中
  • 影子密碼可通過在/etc/shadow 文件中保存密碼哈希值岭粤,該文件只能由 root 用戶讀取

該設(shè)置什么樣的密碼

  • 牢記長(zhǎng)密比短而復(fù)雜的密碼強(qiáng)
  • 可以使用系統(tǒng)自帶的pwmake命令來生成密碼
# pwmake 56   //數(shù)字代表熵值,該值建議不少于56,
eNted4pYHIm!
# pwmake 128
=OKPumT4jOhjolApYzYxbuBOlof

pwmake可以指定最小熵值為56 位,這對(duì)于不常出現(xiàn)暴力破解的系統(tǒng)和服務(wù)密碼抒和,這個(gè)熵值已足夠。對(duì)于攻擊者無法直接訪問哈希密碼文件的運(yùn)用程序彤蔽, 64 位就足以適用于此類運(yùn)用程序摧莽。當(dāng)攻擊者可能獲取直接訪問哈希密碼的權(quán)限,或密碼被用作加密鑰匙時(shí)顿痪,對(duì)于此類情況應(yīng)使用 80 到 128 位镊辕。如果您無法明確指定一個(gè)具體的熵值油够,pwmake 將會(huì)使用默認(rèn)值。創(chuàng)建一個(gè) 128 位的密碼征懈。熵值產(chǎn)生于 /dev/urandom

禁止使用以下類型密碼

  • 使用字典里的單詞石咬,外語(yǔ)單詞,逆序單詞卖哎,或僅使用數(shù)字碌补。
  • 使用少于 10 字符的密碼或密碼短語(yǔ)。
  • 使用鍵盤布局的系列鍵棉饶。
  • 寫下您的密碼。
  • 在密碼中使用個(gè)人信息镇匀,如出生日期照藻、周年紀(jì)念日、家庭成員姓名汗侵、或?qū)櫸锩帧?/li>
  • 在不同的機(jī)器上使用相同的密碼短語(yǔ)或密碼幸缕。

密碼管理原則

  • 設(shè)置一個(gè)強(qiáng)密碼給個(gè)人用戶使用
  • 用戶創(chuàng)建自己的密碼,但要驗(yàn)證密碼是否安全晰韵,并且強(qiáng)制用戶定期更改密碼

一個(gè)完整的實(shí)踐范例

實(shí)踐的目標(biāo)

  • 保證用戶密碼符合強(qiáng)密碼要求(通過pam_pwquality實(shí)現(xiàn))

當(dāng)用戶被要求創(chuàng)建或更改密碼時(shí)发乔,可以使用 passwd 命令行實(shí)用程序,這就是PAM-檢測(cè)軟件 ( 可插入驗(yàn)證模塊(Pluggable Authentication Modules)) 雪猪,可檢查密碼是否過短或是否容易被破解栏尚。這個(gè)檢查過程是由 pam_pwquality.so PAM 模塊執(zhí)行的。pam_pwquality 模塊是根據(jù)一系列規(guī)則只恨,用于檢查密碼的強(qiáng)度译仗。其程序有兩個(gè)步驟:首先,它檢查所提供的密碼是否能在字典中找到官觅。如果不能纵菌,它將繼續(xù)進(jìn)行另外一些額外檢查。pam_pwquality 與 其他 PAM 模塊一起堆疊在/etc/pam.d/passwd 文件下的 密碼部分休涤。而自定義規(guī)則將在 /etc/security/pwquality.conf 配置文件中具體說明咱圆。

  • 鎖定登錄嘗試失敗超過三次的用戶賬戶
  • 限定密碼有效期為90天

操作步驟

1. 保證用戶密碼符合強(qiáng)密碼要求

這個(gè)需要修改兩個(gè)文件

  • /etc/pam.d/passwd
  • /etc/security/pwquality.conf

先在/etc/pam.d/passwd添加以下的內(nèi)容,這樣才能夠使用pam_quality

password    required    pam_pwquality.so retry=3

然后在/etc/security/pwquality.conf中添加以下的內(nèi)容

difok = 5 //新密碼與舊密碼至少有5個(gè)字符不相同
minlen = 10  //強(qiáng)制密碼不少于10位
minclass = 4  //密碼要包含4種類型的字符(大寫、特殊字符功氨、數(shù)字序苏、字母)
maxsequence = 3 //檢測(cè)是否有3個(gè)連續(xù)順序的字符,如:1234,abcd
maxrepeat = 3   //檢測(cè)是否有連續(xù)重復(fù)的3個(gè)字符1111
  • 注意捷凄,這個(gè)文件本身自帶一些默認(rèn)值
  • 且等號(hào)前后要有個(gè)空格杠览,否則無效
  • 由于root 用戶是施行密碼創(chuàng)建規(guī)則的人,盡管有出現(xiàn)警告消息纵势,他也能夠?yàn)樽约夯蚱胀ㄓ脩粼O(shè)置任何不符合規(guī)則的密碼踱阿。

測(cè)試管钳,當(dāng)不滿足4種類型的字符的要求時(shí)

[hyc@testdev1 ~]$ passwd
Changing password for user hyc.
Changing password for hyc.
(current) UNIX password:
New password:
BAD PASSWORD: The password contains less than 4 character 

2. 鎖定登錄嘗試失敗超過三次的用戶賬戶

  • 需要使用pam_faillock模塊
  • 需要修改文件/etc/pam.d/system-auth 文件和/etc/pam.d/password-auth 文件中的 auth 區(qū)段
  • 注意順序
  • 將登錄嘗試失敗的數(shù)據(jù)儲(chǔ)存在 /var/run/faillock 目錄下每位用戶的獨(dú)立文件中。

先修改/etc/pam.d/system-auth 文件和/etc/pam.d/password-auth 文件中的 auth 區(qū)段软舌,在兩文件里分別添加以下的內(nèi)容:

auth        required       pam_faillock.so preauth silent audit deny=3 unlock_time=600
auth        sufficient     pam_unix.so nullok try_first_pass
auth        [default=die]  pam_faillock.so authfail audit deny=3 unlock_time=600

再在兩文件的account區(qū)段分別添加以下的內(nèi)容:

account     required      pam_faillock.so

測(cè)試,當(dāng)連續(xù)3次密碼錯(cuò)誤后才漆,用戶將被鎖定10分鐘,次時(shí)佛点,如果root用戶執(zhí)行以下命令醇滥,將用以下的提示

# su - hyc
Last login: Mon Dec 30 16:26:00 CST 2019 from 192.168.3.65 on pts/2
Last failed login: Mon Dec 30 17:16:21 CST 2019 from 192.168.3.65 on ssh:notty
There were 3 failed login attempts since the last successful login.

#cat /var/run/faillock/hyc   //該文件記錄了登錄失敗的IP
192.168.3.65   192.168.3.65 192.168.3.65 
使用faillock查看登錄失敗的用戶

可以查看用戶自上次成功登錄后,每個(gè)用戶失敗登的情況超营,

[root@testdev1 ~]# faillock
hyc:
When                Type  Source                                           Valid
2019-12-30 17:28:27 RHOST 192.168.3.65                                         V
2019-12-30 17:30:36 RHOST 192.168.3.65                                         V
2019-12-30 17:31:19 RHOST 192.168.3.65                                         V
root:
When                Type  Source                                           Valid


怎樣解除用戶鎖定
  • faillock --user <username> --reset
[root@testdev1 ~]# faillock --user hyc --reset
You have mail in /var/spool/mail/root
[root@testdev1 ~]# faillock
hyc:
When                Type  Source                                           Valid
root:
When                Type  Source                                           Valid
[root@testdev1 ~]#

以上是針對(duì)非root用戶的鸳玩,如果希望對(duì)root也有效,則須在/etc/pam.d/system-auth 文件和 /etc/pam.d/password-aut文件中的pam_faillock 條目里添加 even_deny_root 選項(xiàng):

auth        required      pam_faillock.so preauth silent audit deny=3 even_deny_root unlock_time=600
auth        sufficient    pam_unix.so nullok try_first_pass
auth        [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=600
auth        sufficient    pam_faillock.so authsucc audit deny=3 even_deny_root unlock_time=600

限定密碼有效期

可以使用chage命令來指定期限演闭,格式如下:

chage -M 90 <username>
  • -M 選項(xiàng)指定該密碼有效的最長(zhǎng)天數(shù),要禁用密碼過期功能不跟,通常在 -M 選項(xiàng)后使用值 99999
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市米碰,隨后出現(xiàn)的幾起案子窝革,更是在濱河造成了極大的恐慌,老刑警劉巖吕座,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件虐译,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡吴趴,警方通過查閱死者的電腦和手機(jī)漆诽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來锣枝,“玉大人拴泌,你說我怎么就攤上這事【鳎” “怎么了蚪腐?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)税朴。 經(jīng)常有香客問我回季,道長(zhǎng),這世上最難降的妖魔是什么正林? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任泡一,我火速辦了婚禮,結(jié)果婚禮上觅廓,老公的妹妹穿的比我還像新娘鼻忠。我一直安慰自己,他們只是感情好杈绸,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布帖蔓。 她就那樣靜靜地躺著矮瘟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪塑娇。 梳的紋絲不亂的頭發(fā)上澈侠,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音埋酬,去河邊找鬼哨啃。 笑死,一個(gè)胖子當(dāng)著我的面吹牛写妥,可吹牛的內(nèi)容都是我干的拳球。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼珍特,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼祝峻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起次坡,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎画畅,沒想到半個(gè)月后砸琅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡轴踱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年症脂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淫僻。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡诱篷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出雳灵,到底是詐尸還是另有隱情棕所,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布悯辙,位于F島的核電站琳省,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏躲撰。R本人自食惡果不足惜针贬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拢蛋。 院中可真熱鬧桦他,春花似錦、人聲如沸谆棱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至嗓节,卻和暖如春荧缘,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背拦宣。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工截粗, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鸵隧。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓绸罗,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親豆瘫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子珊蟀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容