Sun 企業辯證機制使用指南

密碼管理

在安裝 SEAM 之後,您就有了兩個密碼﹕您普通的 Solaris 密碼,以及一個 Kerberos 密碼。您可以將這兩個密碼設定為相同的,也可以讓它們互不相同。

login 的非 Kerberos 化指令通常會透過 PAM 來設定以與 Kerberos 及 UNIX 一起辯證。如果您擁有不同的密碼,就必須同時提供兩個密碼才能以正確的辯證登入。不過如果兩個密碼相同,您輸入的第一個 UNIX 密碼也會被 Kerberos 所接受。

可惜的是,使用相同的密碼會產生安全上的顧慮。也就是說,如果某人發現了您的 Kerberos 密碼,那麼您的 UNIX 密碼也就不再是秘密了。不過 UNIX 和 Kerberos 都使用相同的密碼還是要比一個沒有 Kerberos 的網站來得安全,因為 Kerberos 環境中的密碼都不是透過網路傳送的。通常您的網站會包括一個為您決定密碼選項的政策。

您的 Kerberos 密碼就是 Kerberos 唯一用來確認您身份的方法。如果某人發現了您的 Kerberos 密碼,Kerberos 的安全防護就失去意義,因為該人可以假裝成您 - 送出來自 "您" 的電子郵件,讀取、編輯、或刪除您的檔案,或是以您的身份來登入其他主機 - 而且沒有人會知道。因此,您必須謹慎選擇一個好的密碼並加以善加保管。如果您必須將您帳號的存取權限賦予他人,您可以透過 Kerberos 而不需要洩露您的密碼(請參見 "賦予您帳號的存取權限")。您永遠都不能將您的密碼告知他人,甚至是您的系統管理員也不行。此外,您必須經常更換您的密碼,特別是在您懷疑可能有人發現的時候。

選擇一個密碼的建議

您的密碼可以包括幾乎所有您能夠鍵入的字元(主要的不同在於控制鍵以及 Return 鍵)。一個好的密碼必須要好記,但又不讓人輕易猜得到。不好的密碼包括﹕

一個好的密碼至少要有八個字元。此外,密碼應該包括大小寫字母的字元、數字、及標點符號等的混合。下列範例在沒被本手冊採用時應該屬於好的密碼選擇﹕


小心 - 小心 -

請勿使用這些範例。手冊中出現的密碼是侵入者會最先嘗試的。


更換您的密碼

您可以有兩種更換您 Kerberos 密碼的方法﹕

在您更換您的密碼之後,變更要花一點時間才會傳播到整個系統(特別是在大型網路之上)。視您系統的設定而定,可能要花到幾分鐘到幾個小時或甚至更久。如果您必須在更換您的密碼之後馬上取得一張新的 Kerberos 許可證,請先試用您的新密碼。如果新密碼無效,再試著使用舊的密碼。

Kerberos V5 允許系統管理員指定可供每位使用者使用的密碼條件。此種條件是由為每位使用者所定的政策(或是一個預設的政策)來定義的 - 請參見 "管理政策" 中有關政策的詳細說明。例如,假設 jennifer 的政策(譬如說是 jenpol)規定密碼至少要有八個字母,還要包括至少兩種字元類型。那麼 kpasswd 就會拒絕接受 "sloth" 作為一個密碼﹕


%kpasswd
kpasswd: Changing password for jennifer@ENG.ACME.COM. 
Old password:<jennifer 輸入她現存的密碼>
kpasswd: jennifer@ENG.ACME.COM's password is controlled by the policy jenpol which requires a minimum of 8 characters from at least 2 classes  (the five classes are lowercase, uppercase, numbers, punctuation, and all other characters). New password: 

<jennifer 輸入 'sloth'> New password (again):
<jennifer 重新輸入 'sloth'>
kpasswd: New password is too short. 
Please choose a password which is at least 4 characters long. 

jennifer 在這__使用 "slothrop49" 來作為密碼。'slothrop49' 符合條件,因為它的長度超過八個字母,而且包含兩種不同的字元(數字和小寫字母)﹕


% kpasswd
kpasswd: Changing password for jennifer@ENG.ACME.COM. 
Old password:<jennifer 輸入她現存的密碼>
kpasswd: jennifer@ENG.ACME.COM's password is controlled by the policy jenpol 
which requires a minimum of 8 characters from at least 2 classes  
(the five classes are lowercase, uppercase, numbers, punctuation, and all other characters). 
New password:  
<jennifer 輸入 'slothrop49'>
New password (again):  
<jennifer 重新輸入 'slothrop49'>Kerberos password changed.

範例 - 更換您的密碼

下列範例說明 davidpasswd 指令來更換他的 UNIX 及 Kerberos 密碼。


% passwd
passwd: Changing password for david 	
Enter login (NIS+) password: <輸入目前的 UNIX 密碼>	
New password:                        
< 輸入新的 UNIX 密碼>
Re-enter password:                   <確認新的 UNIX 密碼>
	Old KRB5 password:                   < 輸入目前的 Kerberos 密碼>	
New KRB5 password:                   <e輸入新的 Kerberos 密碼	Re-enter new KRB5 password:          <確認新的 Kerberos 密碼>

在上面的範例中,passwd 會要求 UNIX 及 Kerberos 兩個密碼,不過如果 PAM 模組中設定了 try_first_pass 的話,Kerberos 密碼就會自動被設定為和 UNIX 密碼相同。(即為預設的設置)。這時,david 必須使用 kpasswd 來將他的 Kerberos 密碼設定為其他的密碼,如下所示。

此範例說明他只以 kpasswd 來變更他的 Kerberos 密碼﹕


% kpasswd
kpasswd: Changing password for david@ENG.ACME.COM. 
Old password:<輸入目前的 Kerberos 密碼>
New password:           
< 輸入新的 Kerberos 密碼>  
New password (again): <確認新的 Kerberos 密碼>  
Kerberos password changed.

在此範例中,david 要更換 Kerberos 主管 david/admin(並非有效的 UNIX 使用者)的密碼。他必須使用 kpasswd 來更換密碼。


% kpasswd david/admin
kpasswd:  Changing password for david/admin. 
Old password:		<輸入目前的 Kerberos 密碼>        
New password:			<輸入新的 Kerberos 密碼>
New password (again):	<確認新的 Kerberos 密碼>
Kerberos password changed.

賦予您帳號的存取權限

如果您必須賦予某人登入您帳號(以您的身份)的存取權限,您可以透過 Kerberos 進行而不需要洩露您的密碼,只需要在您主目錄中放入 .k5login 檔案即可。一個 .k5login 檔案是一份與您想賦予存取權限的每一個人對應的一或多位 Kerberos 主管的清單。(每位主管都必須出現在分別的一行。)

假設使用者 david 在他的主目錄中保留了一個 .k5login 檔案,看起來如下﹕


jennifer@ENG.ACME.COM
 joe@ACME.ORG  

此檔案規定只要使用者 jenniferjoe 已在各自的範疇擁有 Kerberos 許可證,他們就可以成為 david 的身份。例如,jennifer 可以利用他的身份來 rlogin 登入 david 的機器 (boston),而不需要提供他的密碼﹕

圖 6-1 使用 .k5login 檔案

Graphic

(假如 david 的主目錄已經裝載了 NFS,而且使用另一個(第三個)機器的 Kerberos V5 協定的話,那麼 jennifer 就必須有一張可轉遞許可證才能存取他的主目錄。請參見 "如何建立一張許可證" 中使用可轉遞許可證的範例說明。)

如果您將要登入網路上的其他機器,您就必須在那些機器的 .k5login 檔案中包括您自己的 Kerberos 主管在內。

使用一個 .k5login 檔案比把您的密碼告知他人要來得安全﹕

普遍使用 .k5login 檔案的方法是將它置於 root 的主目錄之下,以將該部機器的 root 存取權限賦予所列的 Kerberos 主管。這樣一來,系統管理員可以成為本機的 root,或是以 root 的身份遠端登入,而不需要洩露其 root 密碼,也沒有任何人需要透過網路來鍵入 root 密碼。

範例 - 使用 .k5login 檔案

假設 jennifer 決定要以 root 的身份來登入機器 boston.acme.com。由於她在 boston.acme.comroot 主目錄的 .k5login 檔案中有一個主管名稱項目,因此她就不需要鍵入她自己的密碼﹕


% rlogin boston.acme.com -l root -x
This rlogin session is using DES encryption for all data transmissions.  
Last login: Thu Jun 20 16:20:50 from daffodil  
SunOS Release 5.7 (GENERIC) #2: Tue Nov 14 18:09:31 EST 1998  
boston[root]%