Plurk FaceBook Twitter 收進你的MyShare個人書籤 MyShare
  顯示內嵌語法

【旗標技術通訊電子報】第99期 2001.3.30


*****************************************************************
※本期書摘:了解 /etc/shadow 檔
※下期書摘:乙太網路的介紹
*****************************************************************
※新書訊息

PC DIY Norton 網路安全大師 2001 玩家實戰 320 元

Dreamweaver/Fireworks 4 網頁特效萬花筒(附 CD)(全彩印刷) 490 元

*****************************************************************
※本期書摘:了解 /etc/shadow 檔
*****************************************************************

shadow 檔的擁有者是 root, 而且只有 root 具有讀取的權力。在建立了
這個 shadow 檔之後, 它會將原來 passwd 檔內的資料 (包含加密後的密
碼) 複製一份。而原來 passwd 檔內密碼欄位中的內容會被換成 "x", 如
果現在再檢視 passwd 檔, 的確會發現每一個帳號的密碼都變成了 "x"
。爾後系統需要密碼時, 都會直接從 /etc/shadow 檔尋找。要將一般標
準密碼檔轉換成 shadow 檔, 需要 3 個工具程式來作處理。首先利用
pwck 來進行製作 shadow 檔的準備工作, 它會先檢查 passwd 檔內有無
不正確格式的密碼, 因為格式不正確的密碼會造成接下來的步驟失敗, 更
糟的情況可能會使轉換程序進入無窮迴圈, 停不下來。當 pwck 完成檢查
工作後, 便可執行 pwconv 來建立 shadow 檔。如果需要修改密碼檔的內
容時, 可以用pwunconv 將 shadow 還原成標準系統的 passwd 檔, 然後
再進行修改。

Shadow 檔在內容上與 passwd 檔有許多相似之處, 記錄的結構也都差不
多, 前兩個欄位的意義跟 passwd 檔一模一樣。但是 shadow 檔在設計的
考量上, 還附加了其他的安全資訊。

請參考一下表 1-2, 這是一個典型 shadow 檔的內容。

表 1-2 shadow 檔內容

root:1iDYwrOmhmEBU:10792:0::7:7::
bin:*:10547:0::7:7::
daemon:*:10547:0::7:7::
adm:*:10547:0::7:7::
lp:*:10547:0::7:7::
sync:*:10547:0::7:7::
shutdown:U:10811:0:-1:7:7:-1:134531940
halt:*:10547:0::7:7::
mail:*:10547:0::7:7::
news:*:10547:0::7:7::
uucp:*:10547:0::7:7::
operator:*:10547:0::7:7::
games:*:10547:0::7:7::
gopher:*:10547:0::7:7::
ftp:*:10547:0::7:7::
man:*:10547:0::7:7::
majordom:*:10547:0::7:7::
postgres:*:10547:0::7:7::
mysql:*:10547:0::7:7::
silvia:1iDYwrOmhmEBU:10792:0:30:7:-1::
nobody:*:10547:0::7:7::
david:1iDYwrOmhmEBU:10792:0::7:7::

解析 /etc/shadow 檔

在 shadow 檔中, 第一個欄位內容是與 passwd 檔內一模一樣的項目,
也就是使用者名稱。

第二個欄位包含了加密過的密碼, Caldera OpenLinux允許 shadow 檔
內加密的密碼可以是 13 到 24 個字元, 不過系統使用的加密程式加密
出來的還是如同前面所說的 13 個字元, 加密程式會產生的字元包含了
英文字母的大小寫、0 到 9 的數字、"." 、以及 "/" 等, 總共有 64
個可選用的字元, 這些字元為該欄位的法定有效字元。

不過用來進行加密初始化的 salt, 其數值可能的有效組合則有 4096 種
(因為 salt 是由密碼中取前兩個字元所組合而成, 而 64╳64 = 4096)
。這個 "金鑰空間" (key space) 若是以長度為 56 位元的 DES (Data
Encryption Standard) 加密金鑰(enscryption key) 來算, 就是 2 的
56 次方, 將近有 72057590000000000 個。這數字看起來很大, 但事實
上用電腦去計算出所有可能的金鑰, 並不需要花費太多的時間。在本書
尚未出版之前, 於某一個挑戰 DES 的競賽中, 有一台電腦在一天之內就
把用 56 位元 DES 加密的密碼給破解出來。然而, 若要以這麼驚人的速
度破解密碼, 是必須靠人力加以輔助的。因此, 確保密碼安全的不二法
門, 就是只有 root 才能握有密碼檔 (shadow) 的存取權限。

第三個中記載的是密碼時效資訊 (password aging information), 也就
是密碼被更改時距離 1970 年 1 月 1 號的天數。

第四個欄位記載著該使用者至少須要經過幾天才能變更密碼, 使用者在
期限之前無法修改密碼。

第五個欄位記載著密碼變更後的有效期限, 如果數值為正, 則表示使用
者在第一次登入後幾天必須再度變更密碼, 屆時會強制使用者變更密碼


第六個欄位是與第五個欄位相關的更進一步資訊, 其中記載著還有幾天
使用者將會收到需要變更密碼的通知, 可提醒使用者及早選擇安全易記
的新密碼。

第七個欄位也是記錄與第五個欄位相關的資訊, 其中的資訊是表示幾天
後這個帳號將停止使用。該使用者若沒有在規定天數的期限內登入並更
新密碼, 那麼將會使得密碼過期, 接著該帳號就會被停用。

第八個欄位是用來記錄該帳號停止使用的天數。
最後一個欄位保留不使用。

最後的提醒

在繼續往下看之前, 有件事必須要提醒您注意:在 passwd 和 shadow
檔內可能會存在類似下面這樣的欄位:

+:x:0:0:::

或是

+:*:0:0::-1:-1::

這些形式的紀錄, 可能會出現在 passwd 或 shadow 檔的最後面。如果
系統未使用 NIS (Network Information Service), 最好把這幾筆記錄
刪掉。假設您真的覺得非用 NIS 不可的話, 應該要瞭解它是個相當沒有
安全保障的協定, 在系統認證方面也不夠充分。NIS+ 是比較好的方式,
但是現今的 Linux 尚未提供 NIS+ 伺服器的功能。執行 NIS 將昇高系
統安全上的風險, 有關 NIS 錯綜複雜的安全問題, 有興趣的讀者請參閱
其他探討 NIS 的專書。

******************************************************************
以上內容摘自『Linux 網路安全百寶箱』
安人玉、江安中、黃子綱、廖伸豐 編譯
書號:F8828  定價:650 元
******************************************************************
想索取前幾期的電子報內容請至易達網網站下載
http://lib.edirect168.com/enews/enews.asp?CH=87

本電子報內容未經授權請勿轉載
版權所有人:旗標出版股份有限公司


好書能增進知識、提高學習效率
卓越的品質是旗標的信念與堅持
http://www.flag.com.tw
═<易達網電子報發報中心>═══════════════════

˙欲訂閱或取消易達網電子報: http://www.edirect168.com/enewsv2/
˙收報、退報有問題,請洽易達網客服信箱: mailto:cs@service.edirect168.com
˙歡迎申請易達網免費電子信箱: http://www.edirect168.com
˙易達網電子報發報中心: mailto:news@service.edirect168.com
˙您想要登廣告: http://www.edirect168.com/html/ad.htm
˙本電子報文章與其相關連結由電子報報主提供,易達網負責發送。

════════════════ 作自己的媒體,唱自己的歌 ══