如何做才能確定作業系統的安全?這雖然是一個老生常談的問題,但是,還是有很多網絡管理者不知道什麼才是最恰當的回答。究其原因,不是他們不知道如何去做,而是沒有形成一種解決系統安全問題的思路。
實際上,保障系統安全最好就是依次按“制定系統部署計劃”—“安裝系統”—“系統安全加強”—“系統監控和維護”這四個階段的方式來部署一個系統,而不論你使用的是Windows系統還是基于Linux核心的系統。
第一個階段,制定系統部署計劃
在你決定要部署某個系統時,首先要做的,就是根據部署的目标,為将要進行的系統部署工作制定一個詳細的計劃。它将作為你整個系統部署過程當中的指導方針。這個階段也是整個系統部署過程中最重要的一個環節,它的好壞直接影響到整個系統部署的成功與否。
系統部署計劃通常包括以下的内容:
1.
系統部署的目的。就是指确定要部署的這個系統是做什麼用途的。例如,用來做WEB伺服器、電子郵局伺服器、***檢測系統、資料備份伺服器,還是隻用來做普通的桌面系統等。
2.
系統類型。就是指使用哪種類型的作業系統及版本。這是根據系統部署目标來定的。
3.
系統安全目标。它也是根據系統部署的目的來确定的,不同的系統部署目的會有不同的安全防範目标。有時,安全目标還與你自身的經濟條件有關,你不得不在可以承受的風險大小和可承受的成本投入之間做一個平衡的決策。由于系統面對的安全威脅是各種各樣的,是以,你應當針對系統所面臨的每種安全威脅,制定一個獨立的安全防範目标,然後将這些目标有機的結合起來構成一個完整的安全目标系統。就目前安全威脅形勢來說,你要制定防止******、******、病毒感染、網頁***、網絡釣魚、社會工程***和實體***這七個主要系統安全威脅要達到的安全目标。
4.
每個安全目标的安全政策。就是指使用什麼樣的安全方法可以達到這些目标,以及如何具體操作,使用什麼樣的技術和方案及産品等。
5.
系統部署具體實施的開始和結束時間,以及具體的實施人員等都應當記錄在案。
第二階段,安裝系統
當系統部署計劃制定好後,就可以根據所制定的計劃,開始着手進行具體的實施。系統部署具體實施的第一步就是進行系統的安裝。系統安裝是保障系統安全的一個重要環節,不可以輕視。系統如何安裝,安裝過程進行什麼樣的操作,都要根據制定的計劃當中的系統部署目的和安全目标來進行操作的。對于系統的安裝方式,可以通過安裝CD、硬碟或網絡的方式進行安裝。為了安全,一般使用安裝CD和硬碟安裝的方式進行,網絡安裝隻能用于區域網路内部方式進行。對于Windows作業系統來說,其桌面版本和伺服器版本的安全過程大體相差不大,在安裝過程中,使用者能幹涉的地方也很少,大部分按預設方式安裝就可以了。而基于Linux核心的作業系統在安裝過程中就可以給使用者很大的選擇權。使用者在安裝Linux核心的系統時,會被提示設定防火牆級别、網絡、root使用者密碼、系統引導器(現在一般指GRUB)的密碼設定及普通使用者的密碼設定等,以及可以由使用者自行指定是否安裝X11系統和其它程式、服務、庫和軟體等。有些基于Linux核心的發行版本還允許使用者設定磁盤的LVM方式及加密,以及磁盤RAID的設定,是否啟用SELinux等等。總的來說,在系統安裝時,要根據系統部署的目的(例如是作為桌面系統還是伺服器),以及安全目标來仔細定置每一個安裝步驟。
第三階段,系統安全加強
一旦系統及所有的硬體驅動全部安裝完善後,在新部署的系統連入網際網路絡之前,還應當對它進行全面的安全加強工作。将一台沒有進行安全加強的系統布置到網際網路的邊界上,就如同一座沒有安鎖的房子一樣不安全,被***隻存在時間長短的問題。系統安全加強也是系統部署過程中最重要的一環,系統安全加強的成功與否直接關系到系統抵擋各種安全威脅的效果。是以,系統安全加強,一般以最大的安全性為首要目标,同時以保障系統所必需提供的服務的可通路性為最基本的原則。
對系統進行安全加強,首先你得明白目前系統存在什麼樣的風險,這樣你才能知道要加強系統的哪些方面。這個任務可以通過一些系統漏洞檢測工具來完成。在Windows系統平台下,常用的可信的系統漏洞檢測工具就是微軟基準安全分析器(MBSA),其它的Windows系統下的漏洞檢測軟體還有SuperScan、Winfingerprint、Metasploit和360安全衛士等。在基于Linux核心的系統中,比較好用的主機漏洞檢測軟體有Nmap 、Nessus、Linux Security Auditing Tool (LSAT)和SATAN等。
系統漏洞檢測工具在對系統做過全面的體檢後,會生成一個可讀的系統漏洞報告,報告的内容包括系統需要打的更新檔個數、開放的危險端口、啟動了的存在危險的服務及存在弱密碼的管理者賬号等等。這時你就應當根據系統漏洞報告,采取相應的安全措施來修補這些漏洞。
通常,一個新安裝的系統,系統的更新檔是應當首先要更新的。在Windows平台下,你可以使用Windows更新程式,或者使用360安全衛士等軟體來更新系統更新檔。在Linux核心的系統平台下,可以直接通過更新編譯最新的核心版本的方式來更新Linux核心更新檔。至于其它軟體和X11更新檔的更新,每一種Linux核心發行版本都不相同,以Fedora core 7為例,就可以通過RPM安裝程式或紅帽更新計劃來進行。系統更新檔的更新還可以通過自動方式來進行,這能減少系統管理者的日常工作量。在Windows平台下可以通過搭建WSUS(Windows Server Update Services)服務,而基于Linux核心的系統可以通過編寫Shell腳本,然後通過Crontab來自動執行。
至于其它的系統加強方面,可以根據系統檢測報告來分步進行,例如系統服務及端口的設定,使用者權限的設定,系統稽核和日志記錄,資源共享方式等。對于系統中必需使用的網絡應用程式,一定要安裝最新的版本,一般就能修補以往此軟體存在的漏洞。你還可以使用其它相同功能的安全性高的軟體來進行網絡應用,例如使用SSL ***進行遠端連接配接,使用數字簽名進行電子郵件發送等。
系統安全加強的方式還可以使用其它第三方的安全軟體來完成,例如單機版防火牆、防毒軟體、垃圾郵件過濾軟體等。同時,對系統進行安全加強也可以按照階層化安全防範的方式來進行,根據可能存在威脅,一層層進行相應的防護,以此來保障當某層安全防範被突破後,還有另一層安全措施在防範,這樣能在最大限度地保證系統的安全。
在進行系統安全加強過程中需要特别注意的是,在應用的每一種安全軟體或方法的同時,還要確定這種安全軟體或方法本身是安全的。還有就是要明白,能将系統安全風險降低到我們能承受的最低水準就可以了,一味追求絕對安全是不可取的。
第四階段,系統監控與維護
對系統進行安全加強以後,并不意味着在新系統的使用過程當中,就可以高枕無憂了。你還應當在系統的使用過程當中,不斷地對系統進行監控,這樣才能及時發現系統正面臨的問題,并對它進行恰當的維護。這是因為,随着***者技術水準的不斷提高,就會有新的系統及應用程式的安全漏洞被發現,同時會出現更多進階的網絡***工具,所有的這些,都不可能将系統隻進行一次安全加強,就可以解決現在及将來的安全威脅問題的。更何況,系統的操作者的某些操作行為,也會帶來一些意想不到的威脅。是以,你還應當在計算機投入使用後的整個使用生命周期當中,都應當對它進行不斷的監控,并對存在的實時的安全問題做出相應的調整。
在Windows系統中,你可以通過“任務管理器”來了解正在運作的任務和程序,還可以通過“系統資訊”中的“正在運作的任務”來更加詳細地了解現在運作的任務的程序名、PID、所處的位置和程式名稱及它們所加載的子產品等等。還可以通過使用icesword、procexp、autoruns和360安全衛士等軟體來檢視哪些不能在“任務管理器”中顯示的程序。你還可以使用Filemon和Regmon這兩個程式來對系統檔案和系統資料庫進行監控,來發現系統檔案和系統資料庫的改變。現在一些新版本的防毒軟體和應用層防火牆也已經具有程序行為監控的功能了。例如Tiny Firewall等。在Windows系統下,你還可以通過“系統資訊”中的“系統檔案驗證程式”來驗證一些重要系統的數字簽名,它會将已經被修改的系統檔案顯示出來,并顯示出修改的時間。這種方式,可以用來檢測是否系統的DLL檔案被***或病毒注入了。而Windows系統中網絡連接配接狀況的監控,你可以使用如Wireshark等嗅探軟體來分析,還可以使用ManageEngine_OpUtils軟體來進行。
在基于Linux核心的系統中,顯示系統程序的指令有ps和top,顯示登入使用者的指令有last和who,顯示網絡連接配接情況的指令有netstat和nbtstat。其中還有許多可以用來顯示系統資訊的目錄,如/proc/sys目錄。同樣,在在Linux系統下,你可以使用Bastille unix來檢測和加強Linux系統。
你還可以通過每個系統的系統日志檔案及應用程式的日志檔案,來分析得到系統及應用程式的運作狀況,并發現可能已經存在的威脅。在Windows系統下,可以通過“控制台”—“管理工具”中的“事件檢視器”來檢視應用程式和系統的日志及使用者稽核記錄。在Linux系統下,可以通過直接用VI打開/var/log/目錄下的相應日志檔案進行檢視,還可以通過logwatch來監視日志檔案,使用logcheck來檢查日志檔案。