Unix系統的安全策略
Unix系統的安全策略之口令安全
Unix系統中的/etc/passwd文件含有全部系統需要知道的關于每個用戶的信息(加密后的口令也可能存于/etc/shadow文件中)。/etc/passwd中包含用戶的登錄名、經過加密的口令、用戶號、用戶組號、用戶注釋、用戶主目錄以及用戶所用的shell程序。
其中用戶號(UID)和用戶組號(GID) 用于Unix系統惟一標識用戶和同組用戶及用戶的訪問權限。/etc/passwd中存放的是加密后的口令,用戶在登錄時需要輸入的口令經計算后與/etc/passwd對應部分相比較,符合則允許登錄,否則拒絕用戶登錄。用戶可用passwd命令修改自己的口令, 但不能直接修改/etc/passwd中的口令部份。
一個好的口令應當至少有6個字符長,不要用個人信息做口令(如生日、名字、反向拼寫的登錄名、房間中可見的物品等),普通的英語單詞也不好(因為可用字典攻擊法),口令中最好有一些非字母(如數字、標點符號、控制字符等),還要好記一些, 不能寫在紙上或計算機里的文件中。選擇口令的一個推薦方法是將兩個不相關的詞用一個數字或控制字符相連,并截斷為8個字符。當然,如果能記住8位亂碼自然更好。
不應使用同一個口令在不同機器中使用,特別是不同級別的用戶使用同一口令,可能導致安全隱患。用戶應定期改變口令,至少6個月要改變一次,系統管理員可以強制用戶定期做口令修改。為防止別人竊取口令,在輸入口令時應注意保密。
Unix系統的安全策略之文件和目錄訪問許可
文件屬性決定了文件的被訪問權限,即誰能存取或執行該文件。用“ls -l”可以列出詳細的文件信息,如:
-rwxrwxrwx 1 pat cs440 70 Jul 28 21:12 zombin
上述信息中包括了文件許可、文件鏈接數、文件所有者名、文件相關組名、文件長度、上次存取日期和文件名。
其中文件許可分為四部分: 第一個rwx表示文件屬主的訪問權限; 第二個rwx表示文件同組用戶的訪問權限; 第三個rwx表示其他用戶的訪問權限。若某種許可被限制則相應的字母換為“-”。
在許可權限的執行許可位置上,可能是其他字母,如s,S,t,T。s和S可出現在所有者和同組用戶許可模式位置上,與特殊的許可有關。t和T可出現在其他用戶的許可模式位置上,與“粘貼位”有關而與安全無關。小寫字母(x,s,t)表示執行許可為允許,負號或大寫字母(-,S或T)表示執行許可為不允許。改變許可方式可使用chmod命令,并以新許可方式和該文件名為參數。新許可方式以3位8進制數給出。
chmod也有其他方式的參數可直接對某組參數修改,在此不再贅述,詳見Unix系統的聯機手冊。
文件許可權可用于防止偶然地重寫或刪除一個重要文件。改變文件的屬主和組名可用chown和chgrp,但修改后原屬主和組員就無法修改回來了。
另外,用戶ID許可(SUID)設置和同組用戶ID許可(SGID)設置可作用于可執行的目標文件(只有可執行文件才有意義)。當一個進程執行時就被賦于4個編號,以標識該進程隸屬于誰,分別為實際和有效的UID、實際和有效的GID。有效的UID和GID一般和實際的UID和GID相同,有效的UID和GID用于系統確定該進程對于文件的存取許可。
設置可執行文件的SUID許可將改變上述情況,當設置了SUID時,進程的有效UID為該可執行文件的所有者的有效UID,而不是執行該程序的用戶的有效UID,因此, 由該程序創建的進程和文件都有與該程序所有者相同的存取許可。這樣,程序的所有者將可通過程序的控制在有限的范圍內向用戶發表不允許被公眾訪問的信息。
同樣,SGID設置有效的GID。可用“chmod u+s文件名”和“chmod u-s 文件名”來設置和取消SUID設置;用“chmod g+s 文件名”和“chmod g-s 文件名”來設置和取消SGID設置。當文件設置了SUID和SGID后,使用chown和chgrp命令將全部取消這些許可。
在Unix系統中,目錄也是一個文件,用“ls -l”列出時,目錄文件的屬性前帶“d”。目錄許可也類似于文件許可,用ls列目錄要有讀許可,在目錄中增刪文件要有寫許可,進入目錄或將該目錄作為路徑分量時要有執行許可,因此要使用任一個文件,必須有該文件及找到該文件的路徑上所有目錄分量的相應許可。
僅當要打開一個文件時,文件的許可才開始起作用,而rm、mv只要有目錄的搜索和寫許可, 就不需要文件的許可,這一點應注意。
UNIX系統會針對進攻策略采取了相應的防范措施,比如將口令與用戶信息分開存放,限制用戶登錄的嘗試次數等。希望大家多多掌握。
【編輯推薦】