許多剛接觸Linux系統(tǒng)的網(wǎng)絡(luò)管理員發(fā)現(xiàn),他們很難由指向點擊式的安全配置界面轉(zhuǎn)換到另一種基于編輯復(fù)雜而難以捉摸的文本文件的界面。多數(shù)管理員充分認(rèn)識到他們需要手工設(shè)置阻礙和障礙,以阻止可能的黑客攻擊,從而保護(hù)公司數(shù)據(jù)的安全。只是在他們并不熟悉的Linux領(lǐng)域內(nèi),他們不確定自己的方向是否正確,或該從何開始。
這就是本文的目的所在。它列出一些簡易的步驟,幫助管理員保障Linux系統(tǒng)的安全,并顯著降低他們面臨的風(fēng)險。本教程列出了七個這樣的步驟,但您也可以在Linux手冊和討論論壇中發(fā)現(xiàn)更多內(nèi)容。
保護(hù)根賬戶
Linux系統(tǒng)上的根賬戶(或超級用戶賬戶)就像是滾石演唱會上的后臺通行證一樣——它允許您訪問系統(tǒng)中的所有內(nèi)容。因此,值得采取額外的步驟對它加以保護(hù)。首先,用密碼命令給這個賬戶設(shè)置一個難以猜測的密碼,并定期進(jìn)行修改,而且這個密碼應(yīng)僅限于公司內(nèi)的幾個主要人物(理想情況下,只需兩個人)知曉。
然后,對/etc/securetty文件進(jìn)行編輯,限定能夠進(jìn)行根訪問的終端。為避免用戶讓根終端“開放”,可設(shè)置TMOUT當(dāng)?shù)刈兞繛榉腔顒痈卿浽O(shè)置一個使用時間;并將HISTFILESIZE當(dāng)?shù)刈兞吭O(shè)為0,保證根命令記錄文件(其中可能包含機(jī)密信息)處于禁止?fàn)顟B(tài)。最后,制訂一個強(qiáng)制性政策,即使用這個賬戶只能執(zhí)行特殊的管理任務(wù);并阻止用戶默認(rèn)以根用戶服務(wù)登錄。
提示:關(guān)閉這些漏洞后,再要求每一個普通用戶必須為賬戶設(shè)立一個密碼,并保證密碼不是容易識別的啟示性密碼,如生日、用戶名或字典上可查到的單詞。
安裝一個防火墻
防火墻幫助您過濾進(jìn)出服務(wù)器的數(shù)據(jù)包,并確保只有那些與預(yù)定義的規(guī)則相匹配的數(shù)據(jù)包才能訪問系統(tǒng)。有許多針對Linux的優(yōu)秀防火墻,而且防火墻代碼甚至可直接編譯到系統(tǒng)內(nèi)核中。首先應(yīng)用ipchains或iptables命令為進(jìn)出網(wǎng)絡(luò)的數(shù)據(jù)包定義輸入、輸出和轉(zhuǎn)寄規(guī)則??梢愿鶕?jù)IP地址、網(wǎng)絡(luò)界面、端口、協(xié)議或這些屬性的組合制訂規(guī)則。這些規(guī)則還規(guī)定匹配時應(yīng)采取何種行為(接受、拒絕、轉(zhuǎn)寄)。規(guī)則設(shè)定完畢后,再對防火墻進(jìn)行詳細(xì)檢測,保證沒有漏洞存在。安全的防火墻是您抵御分布式拒絕服務(wù)(DDoS)攻擊這類常見攻擊的第一道防線。
使用OpenSSH處理網(wǎng)絡(luò)事務(wù)
在網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)安全是客戶-服務(wù)器構(gòu)架所要處理的一個重要問題。如果網(wǎng)絡(luò)事務(wù)以純文本的形式進(jìn)行,黑客就可能“嗅出”網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù),從而獲取機(jī)密信息。您可以用OpenSSH之類的安全殼應(yīng)用程序為傳輸?shù)臄?shù)據(jù)建立一條“加密”通道,關(guān)閉這個漏洞。以這種形式對連接進(jìn)行加密,未授權(quán)用戶就很難閱讀在網(wǎng)絡(luò)主機(jī)間傳輸?shù)臄?shù)據(jù)。
禁用不必要的服務(wù)
大多數(shù)Linux系統(tǒng)安裝后,各種不同的服務(wù)都被激活,如FTP、telnet、UUCP、ntalk等等。多數(shù)情況下,我們很少用到這些服務(wù)。讓它們處于活動狀態(tài)就像是把窗戶打開讓盜賊有機(jī)會溜進(jìn)來一樣。您可以在/etc/inetd.conf或/etc/xinetd.conf文件中取消這些服務(wù),然后重啟inetd或xinetd后臺程序,從而禁用它們。另外,一些服務(wù)(如數(shù)據(jù)庫服務(wù)器)可能在開機(jī)過程中默認(rèn)啟動,您可以通過編輯/etc/rc.d/*目錄等級禁用這些服務(wù)。許多有經(jīng)驗的管理員禁用了所有系統(tǒng)服務(wù),只留下SSH通信端口。
使用垃圾郵件和反病毒過濾器
垃圾郵件和病毒干擾用戶,有時可能會造成嚴(yán)重的網(wǎng)絡(luò)故障。Linux有極強(qiáng)的抗病毒能力,但運行Windows的客戶計算機(jī)可能更易受病毒攻擊。因此,在郵件服務(wù)器上安裝一個垃圾郵件和病毒過濾器,以“阻止”可疑信息并降低連鎖崩潰的風(fēng)險,會是一個不錯的主意。
首先安裝SpamAssassin這個應(yīng)用各種技術(shù)識別并標(biāo)注垃圾郵件的一流開源工具,該程序支持基于用戶的白名單與灰名單,提高了精確度。接下來,根據(jù)常規(guī)表達(dá)式安裝用戶級過濾,這個工具可對收件箱接收的郵件進(jìn)行自動過濾。最后再安裝Clam Anti-Virus,這個免費的反病毒工具整合Sendmail和SpamAssassin,并支持電子郵件附件的來件掃描。
安裝一個入侵檢測系統(tǒng)
入侵檢測系統(tǒng)(IDS)是一些幫助您了解網(wǎng)絡(luò)改變的早期預(yù)警系統(tǒng)。它們能夠準(zhǔn)確識別(并證實)入侵系統(tǒng)的企圖,當(dāng)然要以增加資源消耗與錯誤線索為代價。您可以試用兩種相當(dāng)知名的IDS:tripwire,它跟蹤文件簽名來檢測修改;snort,它使用基于規(guī)則的指示執(zhí)行實時的信息包分析,搜索并識別對系統(tǒng)的探測或攻擊企圖。這兩個系統(tǒng)都能夠生成電子郵件警報(以及其它行為),當(dāng)您懷疑您的網(wǎng)絡(luò)受到安全威脅而又需要確實的證據(jù)時,可以用到它們。
定期進(jìn)行安全檢查
要保障網(wǎng)絡(luò)的安全,這最后一個步驟可能是最為重要的。這時,您扮演一個反派的角色,努力攻破您在前面六個步驟是建立的防御。這樣做可以直接客觀地對系統(tǒng)的安全性進(jìn)行評估,并確定您應(yīng)該修復(fù)的潛在缺陷。
有許多工具可幫助您進(jìn)行這種檢查:您可以嘗試用Crack和John the Ripper之類的密碼破解器破譯您的密碼文件;或使用nmap或netstat來尋找開放的端口;還可以使用tcpdump探測網(wǎng)絡(luò);另外,您還可以利用您所安裝的程序(網(wǎng)絡(luò)服務(wù)器、防火墻、Samba)上的公開漏洞,看看能否找到進(jìn)入的方法。如果您設(shè)法找到了突破障礙的辦法,其他人同樣也能做到,您應(yīng)立即采取行動關(guān)閉這些漏洞。
保護(hù)Linux系統(tǒng)是一項長期的任務(wù),完成上述步驟并不表示您可以高枕無憂。訪問Linux安全論壇了解更多安全提示,同時主動監(jiān)控并更新系統(tǒng)安全措施。