基于Linux系統(tǒng)的網(wǎng)絡(luò)安全策略
1 引言
隨著Internet/Intranet網(wǎng)絡(luò)的日益普及,采用Linux網(wǎng)絡(luò)操作系統(tǒng)作為服務(wù)器的用戶也越來越多,這一方面是因?yàn)長(zhǎng)inux是開放源代碼的免費(fèi)正版軟件,另一方面也是因?yàn)檩^之微軟的Windows NT網(wǎng)絡(luò)操作系統(tǒng)而言,Linux系統(tǒng)具有更好的穩(wěn)定性、效率性和安全性。在Internet/Intranet的大量應(yīng)用中,網(wǎng)絡(luò)本身的安全面臨著重大的挑戰(zhàn),隨之而來的信息安全問題也日益突出。以美國(guó)為例,據(jù)美國(guó)聯(lián)邦調(diào)查局(FBI)公布的統(tǒng)計(jì)數(shù)據(jù),美國(guó)每年因網(wǎng)絡(luò)安全問題所造成的經(jīng)濟(jì)損失高達(dá)75億美元,而全球平均每20秒鐘就發(fā)生一起Internet計(jì)算機(jī)黑客侵入事件。
一般認(rèn)為,計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)的安全威脅主要來自黑客攻擊和計(jì)算機(jī)病毒2個(gè)方面。那么黑客攻擊為什么能夠經(jīng)常得逞呢?主要原因是很多人,尤其是很多網(wǎng)絡(luò)管理員沒有起碼的網(wǎng)絡(luò)安全防范意識(shí),沒有針對(duì)所用的網(wǎng)絡(luò)操作系統(tǒng),采取有效的安全策略和安全機(jī)制,給黑客以可乘之機(jī)。在我國(guó),由于網(wǎng)絡(luò)安全研究起步較晚,因此網(wǎng)絡(luò)安全技術(shù)和網(wǎng)絡(luò)安全人才還有待整體的提高和發(fā)展,本文希望就這一問題進(jìn)行有益的分析和探討。
我們知道,網(wǎng)絡(luò)操作系統(tǒng)是用于管理計(jì)算機(jī)網(wǎng)絡(luò)中的各種軟硬件資源,實(shí)現(xiàn)資源共享,并為整個(gè)網(wǎng)絡(luò)中的用戶提供服務(wù),保證網(wǎng)絡(luò)系統(tǒng)正常運(yùn)行的一種系統(tǒng)軟件。如何確保網(wǎng)絡(luò)操作系統(tǒng)的安全,是網(wǎng)絡(luò)安全的根本所在。只有網(wǎng)絡(luò)操作系統(tǒng)安全可靠,才能保證整個(gè)網(wǎng)絡(luò)的安全。因此,詳細(xì)分析Linux系統(tǒng)的安全機(jī)制,找出它可能存在的安全隱患,給出相應(yīng)的安全策略和保護(hù)措施是十分必要的。
2 Linux網(wǎng)絡(luò)操作系統(tǒng)的基本安全機(jī)制
Linux網(wǎng)絡(luò)操作系統(tǒng)提供了用戶帳號(hào)、文件系統(tǒng)權(quán)限和系統(tǒng)日志文件等基本安全機(jī)制,如果這些安全機(jī)制配置不當(dāng),就會(huì)使系統(tǒng)存在一定的安全隱患。因此,網(wǎng)絡(luò)系統(tǒng)管理員必須小心地設(shè)置這些安全機(jī)制。
2.1 Linux系統(tǒng)的用戶帳號(hào)
在Linux系統(tǒng)中,用戶帳號(hào)是用戶的身份標(biāo)志,它由用戶名和用戶口令組成。在Linux系統(tǒng)中,系統(tǒng)將輸入的用戶名存放在/etc/passwd文件中,而將輸入的口令以加密的形式存放在/etc/shadow文件中。在正常情況下,這些口令和其他信息由操作系統(tǒng)保護(hù),能夠?qū)ζ溥M(jìn)行訪問的只能是超級(jí)用戶(root)和操作系統(tǒng)的一些應(yīng)用程序。但是如果配置不當(dāng)或在一些系統(tǒng)運(yùn)行出錯(cuò)的情況下,這些信息可以被普通用戶得到。進(jìn)而,不懷好意的用戶就可以使用一類被稱為“口令破解”的工具去得到加密前的口令。
2.2 Linux的文件系統(tǒng)權(quán)限
Linux文件系統(tǒng)的安全主要是通過設(shè)置文件的權(quán)限來實(shí)現(xiàn)的。每一個(gè)Linux的文件或目錄,都有3組屬性,分別定義文件或目錄的所有者,用戶組和其他人的使用權(quán)限(只讀、可寫、可執(zhí)行、允許SUID、允許SGID等)。特別注意,權(quán)限為SUID和SGID的可執(zhí)行文件,在程序運(yùn)行過程中,會(huì)給進(jìn)程賦予所有者的權(quán)限,如果被黑客發(fā)現(xiàn)并利用就會(huì)給系統(tǒng)造成危害。
2.3 合理利用Linux的日志文件
Linux的日志文件用來記錄整個(gè)操作系統(tǒng)使用狀況。作為一個(gè)Linux網(wǎng)絡(luò)系統(tǒng)管理員要充分用好以下幾個(gè)日志文件。
2.3.1 /var/log/lastlog文件
記錄最后進(jìn)入系統(tǒng)的用戶的信息,包括登錄的時(shí)間、登錄是否成功等信息。這樣用戶登錄后只要用lastlog命令查看一下/var/log/lastlog文件中記錄的所用帳號(hào)的最后登錄時(shí)間,再與自己的用機(jī)記錄對(duì)比一下就可以發(fā)現(xiàn)該帳號(hào)是否被黑客盜用。
2.3.2 /var/log/secure文件
記錄系統(tǒng)自開通以來所有用戶的登錄時(shí)間和地點(diǎn),可以給系統(tǒng)管理員提供更多的參考。
2.3.3 /var/log/wtmp文件
記錄當(dāng)前和歷史上登錄到系統(tǒng)的用戶的登錄時(shí)間、地點(diǎn)和注銷時(shí)間等信息。可以用last命令查看,若想清除系統(tǒng)登錄信息,只需刪除這個(gè)文件,系統(tǒng)會(huì)生成新的登錄信息。
3 Linux網(wǎng)絡(luò)系統(tǒng)可能受到的攻擊和安全防范策略
Linux操作系統(tǒng)是一種公開源碼的操作系統(tǒng),因此比較容易受到來自底層的攻擊,系統(tǒng)管理員一定要有安全防范意識(shí),對(duì)系統(tǒng)采取一定的安全措施,這樣才能提高Linux系統(tǒng)的安全性。對(duì)于系統(tǒng)管理員來講特別是要搞清楚對(duì)Linux網(wǎng)絡(luò)系統(tǒng)可能的攻擊方法,并采取必要的措施保護(hù)自己的系統(tǒng)。
3.1 Linux網(wǎng)絡(luò)系統(tǒng)可能受到的攻擊類型
3.1.1 “拒絕服務(wù)”攻擊
所謂“拒絕服務(wù)”攻擊是指黑客采取具有破壞性的方法阻塞目標(biāo)網(wǎng)絡(luò)的資源,使網(wǎng)絡(luò)暫時(shí)或永久癱瘓,從而使Linux網(wǎng)絡(luò)服務(wù)器無法為正常的用戶提供服務(wù)。例如黑客可以利用偽造的源地址或受控的其他地方的多臺(tái)計(jì)算機(jī)同時(shí)向目標(biāo)計(jì)算機(jī)發(fā)出大量、連續(xù)的TCP/IP請(qǐng)求,從而使目標(biāo)服務(wù)器系統(tǒng)癱瘓。
3.1.2 “口令破解”攻擊
口令安全是保衛(wèi)自己系統(tǒng)安全的第一道防線?!翱诹钇平狻惫舻哪康氖菫榱似平庥脩舻目诹睿瑥亩梢匀〉靡呀?jīng)加密的信息資源。例如黑客可以利用一臺(tái)高速計(jì)算機(jī),配合一個(gè)字典庫,嘗試各種口令組合,直到最終找到能夠進(jìn)入系統(tǒng)的口令,打開網(wǎng)絡(luò)資源。
3.1.3 “欺騙用戶”攻擊
“欺騙用戶”攻擊是指網(wǎng)絡(luò)黑客偽裝成網(wǎng)絡(luò)公司或計(jì)算機(jī)服務(wù)商的工程技術(shù)人員,向用戶發(fā)出呼叫,并在適當(dāng)?shù)臅r(shí)候要求用戶輸入口令,這是用戶最難對(duì)付的一種攻擊方式,一旦用戶口令失密,黑客就可以利用該用戶的帳號(hào)進(jìn)入系統(tǒng)。
3.1.4 “掃描程序和網(wǎng)絡(luò)監(jiān)聽”攻擊
許多網(wǎng)絡(luò)入侵是從掃描開始的,利用掃描工具黑客能找出目標(biāo)主機(jī)上各種各樣的漏洞,并利用之對(duì)系統(tǒng)實(shí)施攻擊。
網(wǎng)絡(luò)監(jiān)聽也是黑客們常用的一種方法,當(dāng)成功地登錄到一臺(tái)網(wǎng)絡(luò)上的主機(jī),并取得了這臺(tái)主機(jī)的超級(jí)用戶控制權(quán)之后,黑客可以利用網(wǎng)絡(luò)監(jiān)聽收集敏感數(shù)據(jù)或者認(rèn)證信息,以便日后奪取網(wǎng)絡(luò)中其他主機(jī)的控制權(quán)。
3.2 Linux網(wǎng)絡(luò)安全防范策略
縱觀網(wǎng)絡(luò)的發(fā)展歷史,可以看出,對(duì)網(wǎng)絡(luò)的攻擊可能來自非法用戶,也可能來自合法的用戶。因此作為L(zhǎng)inux網(wǎng)絡(luò)系統(tǒng)的管理員,既要時(shí)刻警惕來自外部的黑客攻擊,又要加強(qiáng)對(duì)內(nèi)部網(wǎng)絡(luò)用戶的管理和教育,具體可以采用以下的安全策略。
3.2.1 仔細(xì)設(shè)置每個(gè)內(nèi)部用戶的權(quán)限
為了保護(hù)Linux網(wǎng)絡(luò)系統(tǒng)的資源,在給內(nèi)部網(wǎng)絡(luò)用戶開設(shè)帳號(hào)時(shí),要仔細(xì)設(shè)置每個(gè)內(nèi)部用戶的權(quán)限,一般應(yīng)遵循“最小權(quán)限”原則,也就是僅給每個(gè)用戶授予完成他們特定任務(wù)所必須的服務(wù)器訪問權(quán)限。這樣做會(huì)大大加重系統(tǒng)管理員的管理工作量,但為了整個(gè)網(wǎng)絡(luò)系統(tǒng)的安全還是應(yīng)該堅(jiān)持這個(gè)原則。
確保用戶口令文件/etc/shadow的安全
對(duì)于網(wǎng)絡(luò)系統(tǒng)而言,口令是比較容易出問題的地方,作為系統(tǒng)管理員應(yīng)告訴用戶在設(shè)置口令時(shí)要使用安全口令(在口令序列中使用非字母,非數(shù)字等特殊字符)并適當(dāng)增加口令的長(zhǎng)度(大于6個(gè)字符)。系統(tǒng)管理員要保護(hù)好/etc/passwd和/etc/shadow這兩個(gè)文件的安全,不讓無關(guān)的人員獲得這兩個(gè)文件,這樣黑客利用John等程序?qū)?etc/passwd和/etc/shadow文件進(jìn)行了字典攻擊獲取用戶口令的企圖就無法進(jìn)行。系統(tǒng)管理員要定期用John等程序?qū)Ρ鞠到y(tǒng)的/etc/passwd和/etc/shadow文件進(jìn)行模擬字典攻擊,一旦發(fā)現(xiàn)有不安全的用戶口令,要強(qiáng)制用戶立即修改。
3.2.3 加強(qiáng)對(duì)系統(tǒng)運(yùn)行的監(jiān)控和記錄
Linux網(wǎng)絡(luò)系統(tǒng)管理員,應(yīng)對(duì)整個(gè)網(wǎng)絡(luò)系統(tǒng)的運(yùn)行狀況進(jìn)行監(jiān)控和記錄,這樣通過分析記錄數(shù)據(jù),可以發(fā)現(xiàn)可疑的網(wǎng)絡(luò)活動(dòng),并采取措施預(yù)先阻止今后可能發(fā)生的入侵行為。如果進(jìn)攻行為已經(jīng)實(shí)施,則可以利用記錄數(shù)據(jù)跟蹤和識(shí)別侵入系統(tǒng)的黑客。
3.2.4 合理劃分子網(wǎng)和設(shè)置防火墻
如果內(nèi)部網(wǎng)絡(luò)要進(jìn)入Internet,必須在內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)的接口處設(shè)置防火墻,以確保內(nèi)部網(wǎng)絡(luò)中的數(shù)據(jù)安全。對(duì)于內(nèi)部網(wǎng)絡(luò)本身,為了便于管理,合理分配IP地址資源,應(yīng)該將內(nèi)部網(wǎng)絡(luò)劃分為多個(gè)子網(wǎng),這樣做也可以阻止或延緩黑客對(duì)整個(gè)內(nèi)部網(wǎng)絡(luò)的入侵。
3.2.5 定期對(duì)Linux網(wǎng)絡(luò)進(jìn)行安全檢查
Linux網(wǎng)絡(luò)系統(tǒng)的運(yùn)轉(zhuǎn)是動(dòng)態(tài)變化的,因此對(duì)它的安全管理也是變化的,沒有固定的模式,作為L(zhǎng)inux網(wǎng)絡(luò)系統(tǒng)的管理員,在為系統(tǒng)設(shè)置了安全防范策略后,應(yīng)定期對(duì)系統(tǒng)進(jìn)行安全檢查,并嘗試對(duì)自己管理的服務(wù)器進(jìn)行攻擊,如果發(fā)現(xiàn)安全機(jī)制中的漏洞應(yīng)立即采取措施補(bǔ)救,不給黑客以可乘之機(jī)。
3.2.6 制定適當(dāng)?shù)臄?shù)據(jù)備份計(jì)劃確保系統(tǒng)萬無一失
沒有一種操作系統(tǒng)的運(yùn)轉(zhuǎn)是百分之百可靠的,也沒有一種安全策略是萬無一失的,因此作為L(zhǎng)inux系統(tǒng)管理員,必須為系統(tǒng)制定適當(dāng)?shù)臄?shù)據(jù)備份計(jì)劃,充分利用磁帶機(jī)、光盤刻錄機(jī)、雙機(jī)熱備份等技術(shù)手段為系統(tǒng)保存數(shù)據(jù)備份,使系統(tǒng)一旦遭到破壞或黑客攻擊而發(fā)生癱瘓時(shí),能迅速恢復(fù)工作,把損失減少到最小。
4 加強(qiáng)對(duì)Linux網(wǎng)絡(luò)服務(wù)器的管理,合理使用各種工具
4.1 利用記錄工具,記錄對(duì)Linux系統(tǒng)的訪問
Linux系統(tǒng)管理員可以利用前面所述的記錄文件和記錄工具記錄事件,可以每天查看或掃描記錄文件,這些文件記錄了系統(tǒng)運(yùn)行的所有信息。如果需要,還可以把高優(yōu)先級(jí)的事件提取出來傳送給相關(guān)人員處理,如果發(fā)現(xiàn)異??梢粤⒓床扇〈胧?。
4.2 慎用Telnet服務(wù)
在Linux下,用Telnet進(jìn)行遠(yuǎn)程登錄時(shí),用戶名和用戶密碼是明文傳輸?shù)模@就有可能被在網(wǎng)上監(jiān)聽的其他用戶截