歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

如何保障Linux用戶安全

  作者:曹江華     Linux應用范圍的日益擴展,使得其使用安全性越來越受到關注。安全性是一個復雜和廣泛的問題,此處我們主要關注Linux用戶的賬戶安全,特別是Linux系統管理員如何保障用戶的安全。       口令安全      Linux系統中的/etc/passwd文件含有全部系統需要知道的每個用戶的信息(加密口令的密文也可能存於/etc/shadow文件中)。/etc/passwd中包含有用戶的登錄名、經過加密的口令、用戶號、用戶組號、用戶注釋、用戶主目錄和用戶所用的Shell程序。其中,用戶號(UID)和用戶組號(GID)用於Linux系統惟一標識用戶和同組用戶,以及用戶的訪問權限。一個好的口令應當至少有6個字符,最好不要取用個人信息(如生日、名字、反向拼寫的登錄名),普通的英語單詞也不好(因為用字典攻擊法容易破解)。口令最好含有一些非字母字符(如數字、標點符號、控制字符等),並且要好記,不能寫在紙上或計算機中的文件裡。選擇口令的一個好方法是將兩個不相關的詞用一個數字或控制字符相連,並截斷為8個字符。當然,如果你能記住8位亂碼自然更好。不應在不同機器中使用同一個口令,特別是在不同級別的用戶上使用同一口令。不要將口令存儲於終端功能鍵或Modem的字符串存儲器中。用戶應定期改變口令,推薦3個月改變一次。系統管理員可以強制用戶定期修改口令。為防止眼明手快的人得到口令,在輸入口令時應確認身邊無人。       文件和文件夾的安全      umask設置用戶文件和目錄的文件創建缺省屏蔽值,若將此命令放入.profile文件就可控制該用戶後續所建文件的存取許可。umask命令與chmod命令的作用正好相反,它告訴系統在創建文件時不給予存取許可。     1.不要讓文件或目錄被他人讀寫。     如果不信任本組用戶,umask設置為022。確保自己的.profile他人不可讀寫;暫存目錄最好不要存放重要文件;home目錄任何人不可寫; uUCp傳輸的文件應該加密,並盡快轉移到自己的目錄中。     2.若不想要其他用戶讀文件或目錄,就要使其不允許任何人讀。     umask設置為006/007。若不允許同組用戶存取自己的文件和目錄,umask設置為077;暫存文件按當前umask設置。存放重要數據到暫存文件的程序,就被寫成能確保暫存文件其他用戶不可讀。這樣,就可確保別的用戶不可讀home目錄。       拷貝和移動文件的安全      用cp命令拷貝文件時,若目的文件不存在,則將同時拷貝源文件的存取許可,包括Suid和Sgid許可。新拷貝的文件屬拷貝用戶所有,故拷貝別人的文件時應小心,不要被其他用戶的Suid程序破壞文件安全。     用mv命令移動文件時,新移的文件存取許可與原文件相同,mv僅改變文件名。只要用戶有目錄的寫和搜索許可,就可移走該目錄中某人的Suid程序,且不改變存取許可。若目錄許可設置不正確,則用戶的Suid程序可能被移到不能修改和刪除的目錄中,從而出現安全漏洞。     cpio命令用於將目錄結構拷貝到一個普通文件中,然後再用cpio命令將該普通文件轉成目錄結構。小心使用該命令,因為它能覆蓋不在當前目錄結構中的文件,用t選項可首先列出要被拷貝的文件。       不要離開登錄的終端      這個問題看起來簡單,但卻是最容易忽視的問題,哪怕只是幾分鐘的疏忽,也會給系統造成危害。       文件加密的安全      crypt命令可提供給用戶加密文件。它使用一個關鍵詞將標准輸入的信息編碼變為不可讀的雜亂字符串,送到標准輸出設備。再次使用該命令,用同一關鍵詞作用於加密後的文件,可恢復文件內容。     一般來說,文件加密後應刪除原始文件,只留下加密後的版本,且不能忘記加密關鍵詞。vi命令一般都有加密功能,用vi -x命令可編輯加密後的文件。加密關鍵詞的選取規則與口令的選取規則相同。     由於crypt程序可能被做成特洛伊木馬,故不宜用口令做為關鍵詞。最好在加密前用pack或compress命令對文件進行壓縮,然後再加密。       CU的問題      CU命令能使用戶從一個Linux系統登錄到另一個Linux系統。此時,在遠地系統還必須輸入“~”後回車,以斷開CU和遠地系統的連接。     CU也有安全問題。如果本機安全性弱於遠地機,不提倡用CU去登錄遠地機,以免由於本地機不安全而影響較安全的遠地機。由於CU的老版本處理“~”的方法不完善,從安全性強的系統調用,會使安全性弱的系統的用戶使用強系統用戶的CU,傳送強系統的/etc/passwd文件。       暫存文件和目錄的安全      Linux系統中暫存目錄為/tmp和/usr/tmp,如果用這些目錄存放暫存文件,別的用戶可能會破壞這些文件。使用暫存文件最好將文件屏蔽值定義為007。保險的方法是建立自己的暫存文件和目錄$Home/Mp,不要將重要文件存放於公共的暫存目錄。       UUCP文件傳輸和網絡安全      UUCP命令用於將文件從一個Linux系統傳送到另一個Linux系統。通過UUCP傳送的文件,通常存於/usr/spool/uucppublic/login目錄中,Login是用戶的登錄名,該目錄存取許可為777。通過網絡傳輸並存放於此目錄的文件屬於UUCP所有,文件存取許可為666和777。用戶應當將通過UUCP傳送的文件加密,並盡快移到自己的目錄中。其它網絡將文件傳送到用戶home目錄下的RJC目錄中。該目錄對其他人是可寫、可搜索的,但不一定是可讀的,因而用戶的RJC目錄的存取許可方式應為733,允許程序在其中建立文件。同樣,傳送的文件也應加密並盡快移到自己的目錄中。       Suid/Sgid的安全      盡量不寫Suid/Sgid程序。in為現有文件建立一個鏈,即建立一個引用同一文件的新名字。如目的文件已經存在,則該文件被刪除而代之以新的鏈;或存在的目的文件不允許用戶寫,則請求用戶確認是否刪除該文件,因為只允許在同一文件系統內建鏈。若要刪除一個Suid文件,就要確認文件的鏈接數,只有一個鏈才能確保該文件被刪除。若Suid文件已有多個鏈,一種方法是改變其存取許可方式,這將同時修改所有鏈的存取許可;也可以Chmod000文件名,這不僅取消了文件的Suid和Sgid許可,同時也取消了文件的全部鏈。要想找到誰與自己Suid程序建立了鏈,不要立刻刪除該程序,系統管理員可用Ncheck命令找到該程序的其他鏈。       智能終端的安全      由於智能終端有Send Enter換碼序列,因此告訴終端當前系統就像是用戶敲入的一樣。這是一種危險的能力,其他人可用Write命令發送信息給本用戶終端。禁止其他用戶發送信息的方法是使用Mesgn命令。Mesgn不允許其他用戶發信息,Mesgy允許其他用戶發信息。 即使如此仍有換碼序列的問題存在,任何一個用戶用Mail命令發送同樣一組換碼序列,不同的要用!rm-r*替換rm-r*。       其他安全問題      除了信任的用戶外,不要運行其他用戶的程序。在自己的Path中,將系統目錄放在前面。用Ctrl+D或Exit退出後,在斷開與系統的連接前看到login:提示後再離開,以免在用戶沒注銷時他人進入。定時使用ls -a .命令列出當前目錄中的全部文件,包括以“.”開頭的文件,查看所有文件的存取許可方式和所有者。任何不屬於自己的文件都應懷疑和追究。     以上這些是我作為Linux系統管理員對保持用戶賬戶安全的一些建議。更重要的是要建立安全意識,了解用戶。系統管理員越熟悉自己的用戶和用戶工作習慣,就越能快速發現不尋常的事件,而不尋常的事件就意味著系統安全問題。避免用戶賬戶不安全事故的最基本方法是預防和定期的安全檢查,包括使用嗅探器。




Copyright © Linux教程網 All Rights Reserved