国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

Linux Shadow-Password-HOWTO - 2. 為何shadow你的pa

2024-07-26 00:30:53
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
大部分目前 linux 發(fā)行版本預(yù)設(shè)值并未包含Shadow Suite 安裝。這些版本包括 Slackware 2.3, Slackware 3.0 和其他受歡迎的發(fā)行版本。主要原因之一是在原始Shadow Suite版權(quán)聲明中并未很清楚的描述該軟體是否需使用者付費(fèi)。 Linux 使用 GNU 版權(quán)通常允續(xù)使用者可免費(fèi)且任意使用相關(guān)套件。 


Shadow Suite現(xiàn)在維護(hù)人員 Marek Michalkiewicz  已經(jīng)可以從在 BSD 樣式允需再使用版權(quán)之原始作者那接收原始碼。 目前版權(quán)發(fā)行已解決,因此可以預(yù)期在未來(lái)版本之預(yù)設(shè)值將包括 passWord shadowing。 即使如此,你仍需要自行安裝。 


如果你的版本是從 CD-ROM 安裝。你可能發(fā)現(xiàn)即使目前版本并未有Shadow Suite 安裝,但你仍然可以在該片 CD-ROM 找到你需要安裝的Shadow Suite。 


然而,所有Shadow Suite 3.3.1, 3.3.1-2 版本和 shadow-mk 伴隨簽入(login)程式和其他suid root程式均有安全上問(wèn)題,因此不應(yīng)該使用太久。 


所有必要檔案均可以透過(guò)匿名 FTP 站或網(wǎng)站找到。 

在沒(méi)有安裝Shadow Suite的 Linux 系統(tǒng),包括密碼的帳號(hào)使用者資訊通常儲(chǔ)存在 /etc/passwd 檔。儲(chǔ)存的密碼為 加密(encrypted)格式。 然而,如果你問(wèn)一個(gè)密碼專(zhuān)家,他/她將告訴你真正的密碼檔只是編碼(encoded)而不是加密格式,因?yàn)楫?dāng)使用 crypt(3) 時(shí),文字檔倍設(shè)為 null 且密碼是鍵值(key)。 因此,接下來(lái)我將在這篇文件中使用 編碼。 


使用在密碼欄位編碼的演算法於技術(shù)上是使用one way hash function。這是一個(gè)在單一方向計(jì)算簡(jiǎn)單但逆向計(jì)算非常困難的演算法。關(guān)於這正確的演算法可以在 2.4 節(jié)或於 crypt(3) 操作手冊(cè)找到。 


當(dāng)使用者挑選或指定一個(gè)密碼,系統(tǒng)將隨機(jī)產(chǎn)生一個(gè)值,叫做salt,將密碼進(jìn)行編碼。 這表示任何特定的密碼可以 4096 中不同方法儲(chǔ)存。 salt 值將儲(chǔ)存被編碼的密碼 。 

當(dāng)使用者簽入或提供一個(gè)密碼, salt 首先接收欲儲(chǔ)存編碼密碼。然後這提供密碼會(huì)和 salt 值一起編碼,且比較已經(jīng)編碼密碼。如果有 match ,該使用者通過(guò)權(quán)限檢查。 


隨機(jī)編碼和復(fù)原原始密碼是有計(jì)算復(fù)雜度的(但不是不可能的)。然而,在某些系統(tǒng)很多使用者的密碼都設(shè)為一般文字(或是一般文字的簡(jiǎn)單變化) 


系統(tǒng)駭客知道這件事,且將簡(jiǎn)單的加密文字和一般使用4096 salt 值密碼之目錄。然後他們將比較在資料庫(kù)之 /etc/passwd 檔之編碼密碼,只要他們找到一個(gè)比對(duì),他們可以找到一個(gè)帳號(hào)之密碼。這和dictionary attack有關(guān),且用於未經(jīng)許可存取系統(tǒng)取得和展開(kāi)常用的方法之一。 


如果你想過(guò)一個(gè) 8 碼的密碼編碼成 4096 * 13 碼的字串,那麼一個(gè)用在描述 400,000 一般文字、名字、密碼和簡(jiǎn)單變化的字典將需要 4GB 硬碟存取空間。 駭客需要做的只是分類(lèi)字串跟檢查比對(duì)結(jié)果。 自從 4GB 硬碟可以以美金 1000.00 以下買(mǎi)到後,對(duì)大多數(shù)系統(tǒng)駭客的意義可想而知 。 

如果駭客首先發(fā)現(xiàn)你的 /etc/passwd 檔,他們只需要將真正包含在 /etc/passwd 檔 salt 值的字典編碼,這方法可由擁有486級(jí)電腦或幾個(gè)有幾百 MB 硬碟空間的十來(lái)歲的小孩適用。 


即使沒(méi)有很大的磁碟空間,像 crack(1) 的工具程式通常可以在足夠使用者系統(tǒng)中至少破解一對(duì)密碼(假設(shè)系統(tǒng)使用者倍允許挑選他們想要的密碼)。 


/etc/passwd 檔也包括一些相關(guān)資訊,像使用者 ID 和群組 ID所使用的系統(tǒng)程式;因此 /etc/passwd 檔 必須 保持全世界可讀性. 如果你改變 /etc/passwd 檔以致於沒(méi)有人可以讀取,你將發(fā)現(xiàn)的第一件事是 ls -l 命令將取代名稱(chēng)而顯示使用者 ID 。 

Shadow Suite 透過(guò)將密碼存至另一個(gè)檔(通常是 /etc/shadow 檔)來(lái)解決該問(wèn)題。 /etc/shadow 檔對(duì)任何人設(shè)定可讀檔,只有 root 權(quán)限可以讀寫(xiě) /etc/shadow 檔。某些程式(像 xlock)不需要改變密碼,只需要確認(rèn)密碼即可。這些程式可以以 suid root 執(zhí)行或者你可以設(shè)定一個(gè)群組 shadow 用來(lái)唯讀 /etc/shadow 檔,然後這些程式可以執(zhí)行 sgid shadow。 

透過(guò)移動(dòng)密碼至 /etc/shadow 檔,我們可以有力的備有駭客從存取編碼密碼到執(zhí)行 dictionary attack 的證據(jù)。 

除此之外, Shadow Suite 新增許多特色: 

設(shè)定檔於設(shè)定為簽入時(shí)預(yù)設(shè)(/etc/login.defs) 
新增、修改和刪除使用者帳號(hào)群組之工具程式 
密碼壽命計(jì)算及到期日 
帳號(hào)到期日跟鎖死 
隱藏群組密碼 (可選擇的) 
兩倍長(zhǎng)度密碼 (16 字元密碼) [不建議使用] 
針對(duì)使用者密碼選擇有較好的控制 
可撥接密碼 
備用有效權(quán)限程式 [不建議使用] 
安裝 Shadow Suite 貢獻(xiàn)為有更安全系統(tǒng),但是還有其他方法可以改善 Linux 系統(tǒng)的安全,且最終將有一系列的 Linux 安全 HOWTO's 將討論其他安全基準(zhǔn)和相關(guān)文件版本. 


針對(duì)目前其他 Linux 安全文件資訊,請(qǐng)參照網(wǎng)址: Linux Security home page.



2.1 為何您不要 shadow 你的 passwd 檔 
有一些狀況跟設(shè)定運(yùn)用在安裝 Shadow Suite 將 不是 好主意:  There are a few circumstances and configurations in which installing the Shadow Suite would NOT be a good idea: 

主機(jī)沒(méi)有包含使用者帳號(hào)。 
主機(jī)是在 LAN 上跑且使用網(wǎng)路資訊服務(wù)(Network Information Services, NIS)得到或供應(yīng)使用者名稱(chēng)和密給網(wǎng)路上的其他機(jī)器使用(事實(shí)上這還是可以執(zhí)行,但是實(shí)際上并不能增加任何安全)。 
機(jī)器是使用終端主機(jī)來(lái)驗(yàn)證使用者經(jīng)由 NFS(Network File System), NIS 或某些其他方法。 
機(jī)器跑其他軟體驗(yàn)證使用者且沒(méi)有任何 shadow 版本或原始碼可獲得。 


2.2 格式化 /etc/passwd 檔 
一個(gè) non-shadowed /etc/passwd 檔格式如下所示: 

username:passwd:UID:GID:full_name:directory:shell

其中 
username
使用者(簽入)名稱(chēng) 

passwd
編碼密碼 

UID
使用者編號(hào) 

GID
預(yù)設(shè)存組編號(hào) 

full_name
使用者全名 - 事實(shí)上這個(gè)欄位稱(chēng)作 GECOS (General Electric ComPRehensive Operating System) 欄位且可以?xún)?chǔ)存全名外的資訊。Shadow commands and manual pages refer to this field as the comment field. 

directory
使用者根目錄 (絕對(duì)路徑) 

shell
使用者簽入的環(huán)境 (絕對(duì)路徑) 

舉例說(shuō)明: 
username:Npge08pfz4wuk:503:100:Full Name:/home/username:/bin/sh

 中,Np 是 salt 且 ge08pfz4wuk 是編碼密碼。 已編碼的 salt/password 就像 kbeMVnZM0oL7I 且這兩個(gè)字串是一樣的密碼。對(duì)相同密碼可能有 4096 種可能的編碼。(本□例的密碼是 "passwaor",這是比較 不好 的密碼)。 

只要 shadow suite 已經(jīng)安裝, /etc/passwd 檔將被替代成: 

username:x:503:100:Full Name:/home/username:/bin/sh

本□例之第二欄位 x 現(xiàn)在只是一個(gè) place holder。 /etc/passwd檔的格式并未真的改變,只是不再包含 編碼密碼。這表示任何程式可以讀取 /etc/passwd 檔,但并不真的需要確認(rèn)密碼是不是正確地運(yùn)作。 

這些密碼現(xiàn)在被重新放在 shadow 檔(通常是在 /etc/shadow 檔)。 


2.3 格式化 shadow 檔 
/etc/shadow 檔包括下列資訊: 

username:passwd:last:may:must:warn:expire:disable:reserved

其中 
username
使用者名稱(chēng) 

passwd
編碼密碼 

last
密碼上次更動(dòng)日期,以從1970年1月1日算起的天數(shù)代表 

may
密碼改變前天數(shù) 

must
密碼最常使用天數(shù) 

warn
代表期限前幾天就事先警告使用者 

expire
超過(guò)密碼過(guò)期天數(shù)後,就關(guān)閉該帳號(hào) 

disable
帳號(hào)關(guān)閉,以從1970年1月1日算起的天數(shù)代表 

reserved
預(yù)備欄位 

依照之前□例將變成: 
username:Npge08pfz4wuk:9479:0:10000::::


2.4 回顧 crypt(3). 
從 crypt(3) 使用者文件得到: 

"crypt 是密碼加密方程式。 It is based on the Data Encryption Standard algorithm with variations intended (among other things) to discourage use of hardware implementations of a key search. 

[The] key 是使用者輸入的密碼。 [編碼字串全是 NULLs] 

[The] salt 是從 [a-zA-Z0-9./] 集合中選出的兩個(gè)位元字串。該字串是用於擾亂在 4096 種不同方法之一個(gè)演算法。 

透過(guò)得到 key 的每個(gè)位元的最低 7 bit[s],可以建立 56-bit key 。 這56-bit key 是用在重復(fù)加密一個(gè)常數(shù)字串(通常是包含所有靈的字串)。 傳回值指到加密密碼是一連串可印出之13個(gè) ASCII 字元(最前面的一兩個(gè)字元表示 salt 本身)。 透過(guò)每次的呼叫可將傳回直指到靜態(tài)資料。 


警告訊息: Key space 包括 2**56 即等於 7.2e16 可能的值。與用重大的平行電腦將 Key space 極盡的搜尋是可能。像 crack(1) 軟體用來(lái)搜尋部分的由人產(chǎn)生之密碼的 key space 是可獲得的。因此,密碼的選擇至少應(yīng)該避免使用一般字及名字。一個(gè)用來(lái)檢查解開(kāi)密碼選擇的 passwd(1) 程式使用是值得推薦的。 


DES 演算法本身有一些使 crypt(3) 在任何其他密碼權(quán)限區(qū)隔介面很差選擇的使用方面劇變。如果你計(jì)畫(huà)使用 crypt(3) 介面來(lái)加密計(jì)畫(huà),以下描述千萬(wàn)別這麼作:得要一本加密好書(shū)和廣泛獲得 DES 程式庫(kù) ." 一起使用。 

大多 Shadow Suites 包括 16 位元的密碼長(zhǎng)度兩倍之原始碼。 在 des 專(zhuān)家建議避免使用當(dāng)開(kāi)始對(duì)較常密碼先簡(jiǎn)單的編碼左半然後右半。由於 crypt 運(yùn)作方法,這將造成 較差的 安全編碼密碼。除此之外,使用者有可能記住 16 位元密碼是一件比較差的事情。 


目前有允許權(quán)限理論用以取代某些更安全和支援較長(zhǎng)密碼(例如 md5 演算法)且保有和 crypt 方法相容的發(fā)展工作正在進(jìn)行。 


如果你正在尋找一本加密的好書(shū),建議如下: 

        "Applied Cryptography: Protocols, Algorithms, and Source Code in C"
        by Bruce Schneier 
        ISBN: 0-471-59756-2




--------------------------------------------------------------------------------
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 远安县| 惠来县| 江阴市| 疏勒县| 清原| 马关县| 盐城市| 肥西县| 望都县| 洪泽县| 闽清县| 海南省| 习水县| 彭山县| 新田县| 亳州市| 红安县| 平阴县| 阜平县| 思南县| 平山县| 璧山县| 新乡市| 乌鲁木齐市| 蒙城县| 平原县| 红安县| 东源县| 承德县| 太仆寺旗| 鹿邑县| 枣庄市| 林州市| 长沙市| 遂昌县| 桐庐县| 彰化市| 商丘市| 敦煌市| 巴彦县| 扶沟县|