羅彩君
(陜西職業(yè)技術學院 計算機科學系,陜西 西安 710100)
Linux是一種開放源代碼的免費正版操作系統(tǒng),基于它的自由性、開放性、安全性、穩(wěn)定性、網(wǎng)絡負載力強、占用硬件資源少等特點,目前采用Linux網(wǎng)絡操作系統(tǒng)作為服務器的用戶日益增多,同時Linux也被廣泛應用于嵌入式開發(fā)、個人工作站和商業(yè)開發(fā)等各個領域,已發(fā)展為當今世界的主流操作系統(tǒng)之一。隨著Internet的快速發(fā)展,網(wǎng)絡本身的安全面臨著重大的挑戰(zhàn),Linux與其它網(wǎng)絡操作系統(tǒng)一樣,也面臨著更多的安全隱患,其系統(tǒng)的安全問題也受到人們的日益關注。分析Linux系統(tǒng)的安全機制,找出它可能存在的安全隱患,采取相應的安全策略、措施是十分必要的。
Linux是一套自由軟件、用戶可以無償?shù)玫剿捌湓创a和大量的相關應用程序,而且可以按照自己的意圖和需求進行修改和補充,無償使用,無限制地傳播。Linux不僅具備功能強大、性能穩(wěn)定的UNIX網(wǎng)絡操作系統(tǒng)的全部優(yōu)點,而且還提供了豐富的應用軟件[1]。Linux的網(wǎng)絡功能、安全性、穩(wěn)定性和應用絕不次于任何商業(yè)化的操作系統(tǒng),現(xiàn)在已有眾多的用戶用它來構建安全、穩(wěn)健的站點,提供各種關鍵業(yè)務的網(wǎng)絡服務。
Linux網(wǎng)絡操作系統(tǒng)提供了用戶賬號、文件系統(tǒng)權限和系統(tǒng)日志文件等基本安全機制[2],如果這些安全機制配置不當,就會使系統(tǒng)存在一定的安全隱患。
1)Linux系統(tǒng)的用戶賬號
在Linux系統(tǒng)中,用戶賬號是用戶的身份標志,它由用戶名和用戶口令組成。系統(tǒng)將輸入的用戶名存放在/etc/passwd文件中,而將輸入的口令以加密的形式存放在/etc/shadow文件中[3]。在正常情況下,這些口令和其他信息由操作系統(tǒng)保護,能夠對其進行訪問的只能是超級用戶(root)和操作系統(tǒng)的一些應用程序。
2)Linux的文件系統(tǒng)權限
Linux文件系統(tǒng)的安全主要是通過設置文件的權限來實現(xiàn)。每一個Linux的文件或目錄,都有3組屬性,分別定義文件或目錄的所有者,用戶組和其他人的使用權限[4]。
3)Linux的日志文件
Linux的日志文件用來記錄整個操作系統(tǒng)使用狀況,作為一個Linux網(wǎng)絡系統(tǒng)管理員要充分使用好/var/log/lastlog、/var/log/secure、/var/log/wtmp幾個日志文件。
隨著Linux操作系統(tǒng)在全世界范圍內(nèi)的廣泛應用,其安全隱患也日益突出。目前,針對Linux網(wǎng)絡系統(tǒng)的攻擊越來越多,主要攻擊方式有拒絕服務攻擊、口令破解攻擊、緩沖區(qū)溢出攻擊、IP欺騙攻擊、網(wǎng)絡監(jiān)聽攻擊、欺騙用戶攻擊、端口掃描攻擊等[5],其攻擊范圍可以從服務拒絕直至完全危害和破壞Linux服務器。
1)拒絕服務攻擊
拒絕服務(DoS)攻擊是指黑客采取具有破壞性的方法阻塞目標網(wǎng)絡的資源,使網(wǎng)絡暫時或永久癱瘓,從而使Linux網(wǎng)絡服務器無法為正常的用戶提供服務[6]。例如,黑客可以利用偽造的源地址或受控的其他地方的多臺計算機同時向目標計算機發(fā)出大量、連續(xù)的TCP/IP請求,從而使目標服務器系統(tǒng)癱瘓。大多數(shù)拒絕服務攻擊導致相對低級的危險,即便是那些可能導致系統(tǒng)重啟的攻擊也僅僅是暫時性的問題。
拒絕服務攻擊包括簡單拒絕服務攻擊、分布式拒絕服務攻擊、DNS分布拒絕服務攻擊和FTP攻擊[7]。由于拒絕服務攻擊工具的泛濫,及所針對的協(xié)議層的缺陷短時無法改變,拒絕服務也就成為了流傳最廣、最難防范的攻擊方式。
2)口令破解攻擊
口令破解攻擊的目的是為了破解用戶的口令,從而可以取得已經(jīng)加密的信息資源??诹畎踩潜Pl(wèi)自己系統(tǒng)安全的第一道防線,但在實際應用過程中,用戶常常忽略他們的密碼,密碼政策很難得到實施。黑客有多種工具可以擊敗技術和社會所保護的密碼,主要包括字典攻擊(Dictionary attack)、混合攻擊(Hybrid attack)、蠻力攻擊(Brute force attack)[8]。例如,黑客可以利用一臺高速計算機,配合一個字典庫,嘗試各種密碼組合,直到最終找到能夠進入系統(tǒng)的密碼,打開網(wǎng)絡資源。
3)緩沖區(qū)溢出攻擊
緩沖區(qū)溢出攻擊是指攻擊者向一個有限空間的緩沖區(qū)拷貝過長的字符串,覆蓋相鄰的存儲單元,這種覆蓋往往會導致程序運行的失敗,甚至是死機或是系統(tǒng)的重啟。緩沖區(qū)溢出漏洞廣泛存在于應用軟件和操作系統(tǒng)中,其危害是非常巨大的。
4)IP欺騙攻擊
IP欺騙攻擊是利用TCP/IP協(xié)議中不檢查返回地址的這個安全漏洞,從而達到攻擊網(wǎng)絡的目的。IP欺騙,就是指偽造他人的IP地址,其實質就是讓一臺計算機來扮演另一臺計算機。IP欺騙是利用主機之間正常信任關系來發(fā)動的,所謂信任關系就是網(wǎng)絡上的兩臺計算機P1和P2,P2可以利用遠程登錄工具,無需口令驗證就可以登錄到P1主機上,假如攻擊者能冒充P2的IP地址,就可以利用遠程登錄工具登錄P1,而不需要任何口令的驗證。
5)網(wǎng)絡監(jiān)聽攻擊
網(wǎng)絡監(jiān)聽也是黑客們常用的一種方法,當成功地登錄到一臺網(wǎng)絡上的主機,并取得了這臺主機的超級用戶控制權之后,黑客就可以利用網(wǎng)絡監(jiān)聽收集敏感數(shù)據(jù)或者認證信息,以便日后奪取網(wǎng)絡中其他主機的控制權。
6)欺騙用戶攻擊
欺騙用戶攻擊是指網(wǎng)絡黑客偽裝成網(wǎng)絡公司或計算機服務商的工程技術人員,向用戶發(fā)出呼叫,并在適當?shù)臅r候要求用戶輸入口令,有時黑客會向用戶發(fā)送郵件,要求用戶給他系統(tǒng)升級的口令。這是用戶較難對付的一種攻擊方式,一旦用戶口令失密,黑客就可以利用該用戶的賬號進入系統(tǒng)。
7)端口掃描攻擊
端口掃描是通過發(fā)送特定類型的TCP/UDP報文給所要掃描的目標主機的全部或特定端口,誘發(fā)目標主機回復響應報文,分析返回的響應報文來推斷目標主機端口的狀態(tài)等信息[9]。利用端口掃描工具黑客能找出目標主機上各種各樣的漏洞,并利用這些漏洞對系統(tǒng)實施攻擊。
Linux是一種公開源碼的操作系統(tǒng),要想在技術日益發(fā)展、紛繁蕪雜的網(wǎng)絡環(huán)境中保證Linux系統(tǒng)的網(wǎng)絡安全性,系統(tǒng)管理員一定要有安全防范意識,對系統(tǒng)采取一定的安全措施,這樣才能提高Linux系統(tǒng)的網(wǎng)絡安全性。下面主要從Linux系統(tǒng)的用戶管理、文件管理、預防攻擊、數(shù)據(jù)備份等方面給出Linux系統(tǒng)的網(wǎng)絡安全解決策略。
1)確保root賬號的安全
root賬號是Linux系統(tǒng)中享有特權的賬號,具有管理員的權限。root賬號是不受任何限制和制約的,因此,使用root賬號的時候,要非常小心,以免造成誤操作。通常情況下,不要使用root賬號登錄,系統(tǒng)管理員輕易不要在別人的計算機上用root登錄自己的服務器。
2)設置用戶賬號的安全等級
在Linux系統(tǒng)上每個賬號可以被賦予不同的權限,在建立一個新用戶ID時,系統(tǒng)管理員應該根據(jù)需要賦予該賬號不同的權限,并且歸并到不同的用戶組中。?除了一些重要的用戶外,建議屏蔽掉其他用戶的telnet權限,只給ftp權限,這樣可以防止一些人利用其他賬號登錄到系統(tǒng)上。此外,Linux系統(tǒng)會自動把允許進入或不允許進入的結果記錄到/rar/log/secure文件中,系統(tǒng)管理員可以據(jù)此查出可疑的進入記錄。
3)確保用戶口令的安全
對于網(wǎng)絡系統(tǒng)而言,口令是比較容易出問題的,作為系統(tǒng)管理員應告訴用戶在設置口令時要使用安全口令,并適當增加口令的長度。系統(tǒng)管理員要保護好/etc/passwd和/etc/shadow這兩個文件的安全,不讓無關人員獲得這兩個文件,這樣黑客利用John等程序對/etc/passwd和/etc/shadow文件進行字典攻擊獲取用戶口令的企圖就無法進行[10]。系統(tǒng)管理員要定期對本系統(tǒng)的/etc/passwd和/etc/shadow文件進行模擬字典攻擊,一旦發(fā)現(xiàn)有不安全的用戶口令,要強制用戶立即修改。
4)刪除不必要的賬號和組號
Linux提供了許多默認賬號,賬號越多,系統(tǒng)就越容易受到攻擊??梢杂靡韵旅顏韯h除sync、shutdown、halt、news、games、adm、lp、mail、operator、uucp等不必要的賬號。
#userdel用戶名
用以下命令刪除adm、lp、mail、news、games、dip等不必要的組號。
#groupdel用戶名
1)加密重要的文件
在Linux系統(tǒng)中,將重要的文件進行加密。使用#gPg—gen—key產(chǎn)生密鑰對,將公鑰發(fā)布,以便其他用戶下載該公鑰加密發(fā)回文件,收到加密文件后,用配對的私鑰解密為明文。
2)設置文件系統(tǒng)的訪問權限
Linux文件系統(tǒng)的安全主要是通過設置文件的權限來實現(xiàn)。使用chown或chgrp命令正確設置文件的所有權或用戶組關系[11]。使得文件的不同用戶(文件主、組用戶和其它用戶)只能對必需的文件具有必須的訪問權限(讀、寫和可執(zhí)行),提高文件訪問的安全性。
1)設置防火墻
防火墻的主要功能是實現(xiàn)兩個或多個網(wǎng)絡間透明訪問,阻止非授權用戶進人系統(tǒng)。同時,防火墻也能使被保護網(wǎng)的入口點盡可能少的暴露出來,從而有效地減少外部網(wǎng)對被保護網(wǎng)的非授權訪問和惡意攻擊,并保護系統(tǒng)。因此,防火墻在主機安全中有非常重要的作用,一個配置適當?shù)姆阑饓Σ粌H是系統(tǒng)有效應對外部攻擊的第一道防線,也是最重要的一道防線,它可以彌補由于設置不當或軟件存在漏洞而引發(fā)的安全問題。在Linux系統(tǒng)中,常采用系統(tǒng)自帶的Iptables完成防火墻的配置,利用防火墻能有效的防御IP地址欺騙、特洛伊木馬攻擊、口令探尋攻擊、Internet蠕蟲、郵件攻擊等。
2)關閉不必要的服務
Linux系統(tǒng)在安裝時包含了較多網(wǎng)絡服務,有時會出現(xiàn)嚴重的安全問題,用戶應當關閉不需要的服務。Linux中的大部分網(wǎng)絡服務都是在/etc/inetd.conf文件中設定,它保存了系統(tǒng)提供Internet服務的數(shù)據(jù)庫,通過這個文件,可以關閉系統(tǒng)中不需要的某項服務,使它們更為安全的運行。
3)禁止系統(tǒng)對ping命令的反應
TCP協(xié)議本身有很多的弱點,黑客可以利用一些技術把傳輸正常數(shù)據(jù)包的通道用來偷偷地傳送數(shù)據(jù),將系統(tǒng)設置為對ping請求沒有反應,能很好的避免黑客利用其漏洞攻擊用戶,可將計算機的網(wǎng)絡安全風險降到最低。
4)禁止提供finger服務
在Linux系統(tǒng)下,使用finger命令,可以顯示本地或遠程系統(tǒng)中目前已登錄用戶的詳細信息,黑客可以利用這些信息,增大侵入系統(tǒng)的機會。為了系統(tǒng)的安全,建議禁止提供finger服務,即從/usr/bin下刪除finger命令[12]。
5)合理利用Linux的日志文件
Linux的日志文件用來記錄整個操作系統(tǒng)使用狀況,作為一個Linux系統(tǒng)管理員要充分用好日志文件。/var/log/secu re文件記錄登入系統(tǒng)存取數(shù)據(jù)的文件,/var/log/wtmp文件記錄當前和歷史上登錄到系統(tǒng)的用戶的登錄時間、地點和注銷時間等信息,/var/log/messages文件記錄系統(tǒng)發(fā)生的所有錯誤信息(或重要信息)。
6)定期對Linux網(wǎng)絡進行安全檢查
Linux網(wǎng)絡系統(tǒng)的運轉是動態(tài)變化的,因此,對它的安全管理也是變化的。作為Linux網(wǎng)絡系統(tǒng)的管理員,在為系統(tǒng)設置了安全防范策略后,應定期對系統(tǒng)進行安全檢查,并嘗試對自己管理的服務器進行攻擊,如果發(fā)現(xiàn)安全機制中的漏洞應立即采取措施補救,不給黑客以可乘之機。
7)預防病毒入侵
雖然目前在Linux系統(tǒng)上并未出現(xiàn)廣泛傳播的病毒,但隨著Linux的廣泛應用,各種針對它的病毒也紛至沓來。系統(tǒng)管理員應及時了解病毒預告及預防病毒的技術和發(fā)展,以防止系統(tǒng)受到病毒的攻擊。
為了防止不能預料的系統(tǒng)故障,或用戶不小心的非法操作,必須對系統(tǒng)進行安全備份。除了應對全系統(tǒng)進行每月一次的備份外,還應該對修改過的數(shù)據(jù)進行每周一次的備份。同時應該將修改過的重要的系統(tǒng)文件存放在不同的服務器上,以便在系統(tǒng)萬一崩潰時,可以及時將系統(tǒng)恢復到最佳狀態(tài)。
采用以上的網(wǎng)絡安全策略,雖然可以使Linux系統(tǒng)的網(wǎng)絡安全性大大提高,但不能完全杜絕黑客入侵。隨著Linux系統(tǒng)的發(fā)展,對Linux系統(tǒng)的攻擊方式也在不斷改變,因此Linux網(wǎng)絡安全工作需要跟隨技術和管理的發(fā)展而更新,應隨時關注安全技術的發(fā)展,不斷提高安全意識與安全防范技能,制定合理有效的安全策略,定期對系統(tǒng)進行安全檢查,發(fā)現(xiàn)漏洞要立即采取措施,保證Linux系統(tǒng)的安全性。
[1]胡耀民,厲偉.Linux系統(tǒng)及網(wǎng)絡管理[M].北京:人民郵電出版社,2012.
[2]陳勇勛.Linux網(wǎng)絡安全技術與實現(xiàn)[M].北京:清華大學出版社,2012.
[3]李洋.淺析Linux安全管理技巧[J].職業(yè)技術,2012(2):118.LI Yang.Analysis of security management skills based on Linux[J].Vocational Technology,2012(2):118.
[4]易著梁,鄧志龍.Linux網(wǎng)絡管理[M].北京:人民郵電出版社,2010.
[5]曾斯.Linux操作系統(tǒng)下的安全性研究[J].福建電腦,2010(11):78-79.ZENG Si.Security research based on Linux operating system[J].Fujian Computer,2010(11):78-79.
[6]萬為軍.淺談Linux系統(tǒng)網(wǎng)絡安全[J].中國科技信息,2011(11):107.WAN Wei-jun.Analysis of network security based on Linux System[J].China Science and Technology Information,2011(11):107.
[7]閻映炳,劉雪潔.Linux系統(tǒng)與網(wǎng)絡管理教程[M].北京:電子工業(yè)出版社,2010.
[8]范魯娜.基于Linux操作系統(tǒng)的網(wǎng)絡服務器安全管理[J].科技創(chuàng)新導報,2011(10):17.FAN Lu-na.Security management of network server based on Linux operating system[J].Science and Technology Innovation Herald,2011(10):17.
[9]李洋.Linux安全技術內(nèi)幕[M].北京:清華大學出版社,2010.
[10]李文風.淺析Linux操作系統(tǒng)的安全策略[J].信息與電腦,2011(4):8-10.LI Wen-feng.Analysis of security policies based on Linux operating system[J].China Computer&Communication,2011(4):8-10.
[11]韓曉紅.淺析Linux操作系統(tǒng)的網(wǎng)絡安全及防范策略[J].電腦知識與技術,2011,13(7):3014-3016.HAN Xiao-hong.Analysis of network security and prevention strategies based on Linux operating system[J].Computer Knowledge and Technology,2011,13(7):3014-3016.
[12]楊牧.基于Linux網(wǎng)絡操作系統(tǒng)的安全策略[J].網(wǎng)絡安全技術與應用,2010(2):19-20.YANG Mu.Security policies based on Linux network operating system[J]. Network Security Technology &Application,2010(2):19-20.