Linux應(yīng)用范圍的日益擴(kuò)展,使得其使用安全性越來(lái)越受到關(guān)注。安全性是一個(gè)復(fù)雜和廣泛的問(wèn)題,此處我們主要關(guān)注Linux用戶(hù)的賬戶(hù)安全,特別是Linux系統(tǒng)管理員如何保障用戶(hù)的安全。
口令安全
Linux系統(tǒng)中的/etc/passwd文件含有全部系統(tǒng)需要知道的每個(gè)用戶(hù)的信息(加密口令的密文也可能存于/etc/shadow文件中)。/etc/passwd中包含有用戶(hù)的登錄名、經(jīng)過(guò)加密的口令、用戶(hù)號(hào)、用戶(hù)組號(hào)、用戶(hù)注釋、用戶(hù)主目錄和用戶(hù)所用的Shell程序。其中,用戶(hù)號(hào)(UID)和用戶(hù)組號(hào)(GID)用于Linux系統(tǒng)惟一標(biāo)識(shí)用戶(hù)和同組用戶(hù),以及用戶(hù)的訪問(wèn)權(quán)限。一個(gè)好的口令應(yīng)當(dāng)至少有6個(gè)字符,最好不要取用個(gè)人信息(如生日、名字、反向拼寫(xiě)的登錄名),普通的英語(yǔ)單詞也不好(因?yàn)橛米值涔舴ㄈ菀灼平猓?诹钭詈煤幸恍┓亲帜缸址ㄈ鐢?shù)字、標(biāo)點(diǎn)符號(hào)、控制字符等),并且要好記,不能寫(xiě)在紙上或計(jì)算機(jī)中的文件里。選擇口令的一個(gè)好方法是將兩個(gè)不相關(guān)的詞用一個(gè)數(shù)字或控制字符相連,并截?cái)酁?個(gè)字符。當(dāng)然,如果你能記住8位亂碼自然更好。不應(yīng)在不同機(jī)器中使用同一個(gè)口令,特別是在不同級(jí)別的用戶(hù)上使用同一口令。不要將口令存儲(chǔ)于終端功能鍵或Modem的字符串存儲(chǔ)器中。用戶(hù)應(yīng)定期改變口令,推薦3個(gè)月改變一次。系統(tǒng)管理員可以強(qiáng)制用戶(hù)定期修改口令。為防止眼明手快的人得到口令,在輸入口令時(shí)應(yīng)確認(rèn)身邊無(wú)人。
文件和文件夾的安全
umask設(shè)置用戶(hù)文件和目錄的文件創(chuàng)建缺省屏蔽值,若將此命令放入.profile文件就可控制該用戶(hù)后續(xù)所建文件的存取許可。umask命令與chmod命令的作用正好相反,它告訴系統(tǒng)在創(chuàng)建文件時(shí)不給予存取許可。
1.不要讓文件或目錄被他人讀寫(xiě)。
如果不信任本組用戶(hù),umask設(shè)置為022。確保自己的.profile他人不可讀寫(xiě);暫存目錄最好不要存放重要文件;home目錄任何人不可寫(xiě); uucp傳輸?shù)奈募?yīng)該加密,并盡快轉(zhuǎn)移到自己的目錄中。
2.若不想要其他用戶(hù)讀文件或目錄,就要使其不允許任何人讀。
umask設(shè)置為006/007。若不允許同組用戶(hù)存取自己的文件和目錄,umask設(shè)置為077;暫存文件按當(dāng)前umask設(shè)置。存放重要數(shù)據(jù)到暫存文件的程序,就被寫(xiě)成能確保暫存文件其他用戶(hù)不可讀。這樣,就可確保別的用戶(hù)不可讀home目錄。
拷貝和移動(dòng)文件的安全
用cp命令拷貝文件時(shí),若目的文件不存在,則將同時(shí)拷貝源文件的存取許可,包括Suid和Sgid許可。新拷貝的文件屬拷貝用戶(hù)所有,故拷貝別人的文件時(shí)應(yīng)小心,不要被其他用戶(hù)的Suid程序破壞文件安全。
用mv命令移動(dòng)文件時(shí),新移的文件存取許可與原文件相同,mv僅改變文件名。只要用戶(hù)有目錄的寫(xiě)和搜索許可,就可移走該目錄中某人的Suid程序,且不改變存取許可。若目錄許可設(shè)置不正確,則用戶(hù)的Suid程序可能被移到不能修改和刪除的目錄中,從而出現(xiàn)安全漏洞。
cpio命令用于將目錄結(jié)構(gòu)拷貝到一個(gè)普通文件中,然后再用cpio命令將該普通文件轉(zhuǎn)成目錄結(jié)構(gòu)。小心使用該命令,因?yàn)樗芨采w不在當(dāng)前目錄結(jié)構(gòu)中的文件,用t選項(xiàng)可首先列出要被拷貝的文件。
不要離開(kāi)登錄的終端
這個(gè)問(wèn)題看起來(lái)簡(jiǎn)單,但卻是最容易忽視的問(wèn)題,哪怕只是幾分鐘的疏忽,也會(huì)給系統(tǒng)造成危害。
文件加密的安全
crypt命令可提供給用戶(hù)加密文件。它使用一個(gè)關(guān)鍵詞將標(biāo)準(zhǔn)輸入的信息編碼變?yōu)椴豢勺x的雜亂字符串,送到標(biāo)準(zhǔn)輸出設(shè)備。再次使用該命令,用同一關(guān)鍵詞作用于加密后的文件,可恢復(fù)文件內(nèi)容。
一般來(lái)說(shuō),文件加密后應(yīng)刪除原始文件,只留下加密后的版本,且不能忘記加密關(guān)鍵詞。vi命令一般都有加密功能,用vi -x命令可編輯加密后的文件。加密關(guān)鍵詞的選取規(guī)則與口令的選取規(guī)則相同。
由于crypt程序可能被做成特洛伊木馬,故不宜用口令做為關(guān)鍵詞。最好在加密前用pack或compress命令對(duì)文件進(jìn)行壓縮,然后再加密。