摘要:隨著互聯網的飛速發展,網絡安全逐漸成為一個潛在的巨大問題。網絡安全性是一個涉及面很廣泛的問題,但先進的技術是網絡安全與保密的根本保證。本文以目前網上服務器大多采用的UNIX系統為對象,對它的安全問題進行探討和研究。
關鍵詞:網絡;計算機;系統;安全
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)14-20855-02
目前網上的服務器仍然是以UNIX的系統為主,雖然它有很多的優點,但是它的安全問題還是值得我們探討和重視。
1 口令安全
UNIX系統中的/etc/passwd文件含有全部系統需要知道的關于每個用戶的信息,有用戶的登錄名,經過加密的口令,用戶號,用戶組號,用戶注釋,用戶主目錄和用戶所用的shell程序。其中用戶號(UID)和用戶組號(GID)用于UNIX系統唯一地標識用戶和同組用戶及用戶的訪問權限。
/etc/passwd中存放的加密的口令用于用戶登錄時輸入的口令經計算后相比較,符合則允許登錄,否則拒絕用戶登錄。
一個好的口令應當至少有6個字符長,不要取用個人信息(如生日,名字,反向拼寫的登錄名,房間中可見的東西),普通的英語單詞也不好(因為可用字典攻擊法),口令中最好有一些非字母(如數字,標點符號,控制字符等),還要好記一些,不能寫在紙上或計算機中的文件中,選擇口令的一個好方法是將兩個不相關的詞用一個數字或控制字符相連,并截斷為8個字符。當然,如果你能記住8位亂碼自然更好。
不應使用同一個口令在不同機器中使用,特別是在不同級別的用戶上使用同一口令,會引起全盤崩潰。
用戶應定期改變口令,至少6個月要改變一次,系統管理員可以強制用戶定期做口令修改。
為防止眼明手快的人竊取口令,在輸入口令時應確認無人在身邊。
2 文件許可權
文件屬性決定了文件的被訪問權限,即誰能存取或執行該文件。用ls-l可以列出詳細的文件信息,如:-rwxrwxrwx 1 pat cs440 70 Jul 28 21:12 zombin 包括了文件許可,文件聯結數,文件所有者名,文件相關組名,文件長度,上次存取日期和文件名。
在許可權限的執行許可位置上,可能是其它字母,s,S,t,T。s和S可出現在所有者和同組用戶許可模式位置上,與特殊的許可有關,后面將要討論,t和T可出現在其他用戶的許可模式位置上,與\"粘貼位\"有關而與安全無關。小寫字母(x,s,t)表示執行許可為允許,負號或大寫字母(-,S或T)表示執行許可為不允許。
改變許可方式可使用chmod命令,并以新許可方式和該文件名為參數。新許可方式以3位8進制數給出,r為4,w為2,x為1。如rwxr-xr--為754。
chmod也有其它方式的參數可直接對某組參數修改,在此不再多說,詳見UNIX系統的聯機手冊。
文件許可權可用于防止偶然性地重寫或刪除一個重要文件(即使是屬主自己)!改變文件的屬主和組名可用chown和chgrp,但修改后原屬主和組員就無法修改回來了。
3 目錄許可
在UNIX系統中,目錄也是一個文件,用ls-l列出時,目錄文件的屬性前面帶一個d,目錄許可也類似于文件許可,用ls列目錄要有讀許可,在目錄中增刪文件要有寫許可,進入目錄或將該目錄作路徑分量時要有執行許可,故要使用任一個文件,必須有該文件及找到該文件的路徑上所有目錄分量的相應許可。僅當要打開一個文件時,文件的許可才開始起作用,而rm,mv只要有目錄的搜索和寫許可,不需文件的許可,這一點應注意。
4 umask命令
umask設置用戶文件和目錄的文件創建缺省屏蔽值,若將此命令放入.profile文件,就可控制該用戶后續所建文件的存取許可。umask命令與chmod命令的作用正好相反,它告訴系統在創建文件時不給予什么存取許可。
5 設置用戶ID和同組用戶ID許可
用戶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命令將全部取消這些許可。
6 cp mv ln和cpio命令
cp拷貝文件時,若目的文件不存在則將同時拷貝源文件的存取許可,包括SUID和SGID許可。新拷貝的文件屬拷貝的用戶所有,故拷貝另人的文件時應小心,不要被其他用戶的SUID程序破壞自己的文件安全。
mv移文件時,新移的文件存取許可與原文件相同,mv僅改變文件名。只要用戶有目錄的寫和搜索許可,就可移走該目錄中某人的SUID程序且不改變其存取許可。若目錄許可設置不正確,則用戶的SUID程序可被移到一個他不能修改和刪除的目錄中,將出現安全漏洞。
ln為現有文件建立一個鏈,即建立一個引用同一文件的新名字。如目的文件已經存在,則該文件被刪除而代之以新的鏈,或存在的目的文件不允許用戶寫它,則請求用戶確認是否刪除該文件,只允許在同一文件系統內建鏈。若要刪除一個SUID文件,就要確認文件的鏈接數,只有一個鏈才能確保該文件被刪除。若SUID文件已有多個鏈,一種方法是改變其存取許可方式,將同時修改所有鏈的存取許可,也可以chmod 000文件名,不僅取消了文件的SUID和SGID許可,而且也取消了文件的全部鏈。要想找到誰與自己的SUID程序建立了鏈,不要立刻刪除該程序,系統管理員可用ncheck命令找到該程序的其它鏈。
cpio命令用于將目錄結構拷貝到一個普通文件中, 而后可再用cpio命令將該普通文件轉成目錄結構。用-i選項時,cpio從標準輸入設備讀文件和目錄名表,并將其內容按檔案格式拷貝到標準輸出設備,使用-o選項時,cpio從標準輸入設備讀取先已建好的檔案,重建目錄結構。
cpio的安全約定如下:
(1)檔案文件存放每個文件的信息,包括文件所有者,小組用戶,最后修改時間,最后存取時間,文件存取許可方式;
(2)現存文件與cpio檔案中的文件同名時,若現存文件比檔案中的文件更新,這些文件將不被重寫;
(3)如果用修改選項U,則同名的現存的文件將被重寫。可能會發生一件很奇怪的事:如被重寫的文件原與另一個文件建了鏈,文件被重寫后鏈并不斷開,換言之,該文件的鏈將保持, 因此,該文件的所有鏈實際指向從檔案中提取出來的文件,運行cpio無條件地重寫現存文件以及改變鏈的指向;
(4)cpio檔案中可含的全路徑名或父目錄名給出的文件。
7 su和newgrp命令
(1)su命令:可不必注銷戶頭而將另一用戶又登錄進入系統,作為另一用戶工作。它將啟動一新的shell并將有效和實際的UID和GID設置給另一用戶。因此必須嚴格將root口令保密。
(2)newgrp命令:與su相似,用于修改當前所處的組名。
8 文件加密
crypt命令可提供給用戶以加密文件,使用一個關鍵詞將標準輸入的信息編碼為不可讀的雜亂字符串,送到標準輸出設備。再次使用此命令,用同一關鍵詞作用于加密后的文件,可恢復文件內容。
一般來說,在文件加密后,應刪除原始文件,只留下加密后的版本,且不能忘記加密關鍵詞。
在vi中一般都有加密功能,用vi-x命令可編輯加密后的文件。關于加密關鍵詞的選取規則與口令的選取規則相同。
9 其它安全問題
9.1 用戶的.profile文件
由于用戶的HOME目錄下的。profile文件在用戶登錄時就被執行。若該文件對其他人是可寫的則系統的任何用戶都能修改此文件,使其按自己的要求工作。這樣可能使得其他用戶具有該用戶相同的權限。
9.2 特洛伊木馬
在UNIX系統安全中,用特洛伊木馬來代表和種程序,這種程序在完成某種具有明顯意圖的功能時,還破壞用戶的安全。如果PATH設置為先搜索系統目錄,則受特絡依木馬的攻擊會大大減少。如模似的crypt程序。
9.3 誘騙
類似于特洛伊木馬,模似一些東西使用戶泄漏一些信息,不同的是,它由某人執行,等待無警覺的用戶來上當。如模似的login。
9.4 計算機病毒
計算機病毒通過把其它程序變成病毒從而傳染系統的,可以迅速地擴散,特別是系統管理員的粗心大意,作為root運行一個被感染的程序時。實驗表明,一個病毒可在一個小時內(平均少于30分鐘)取得root權限。
9.5 要離開自己已登錄的終端
除非能對終端上鎖,否則一定要注銷戶頭。
參考文獻:
[1] Leary, Mark F., CPP,安全管理在線,《LAN的保護計劃》.
[2] Engelschall, Ralf. Web技術,《Web站點的負載均衡》,1998.5.
[3] (美)畢曉普(Bishop,M.). 《Computer Security: Art and Scienc》. 2005-5-1.