一 引言
Linux是一個多用戶,多任務的操作系統,由于它穩定、可靠,且系統內核代碼的開源性,使得Linux被廣泛用于網絡服務器操作系統,Linux系統可搭建多種服務器:Web網站服務器、FTP服務器和DNS服務器等,其系統的安全問題也受到人們的日益關注。但是,在近年來的信息安全等級保護測評中發現,很多Linux服務器的安全策略并不完善,部分企業網絡管理員以Linux系統服務器安全性高為理由忽視了對服務器的管理,造成了影響系統正常運行的安全隱患。
本文以使用安裝CentOS為基礎系統的Linux服務器作討論,從身份鑒別、訪問控制、安全審計、入侵防范與惡意代碼防范、資源控制等不同方面,提出為Linux服務器以滿足《信息安全技術—信息系統安全等級保護基本要求》(GB/T 22239-2008)中三級信息系統(S3A3G3)的要求為目標,使Linux服務器應能夠在統一安全策略下防護系統免受來自外部有組織的團體、擁有較為豐富資源的威脅源發起的惡意攻擊以及其他相當危害程度的威脅所造成的主要資源損害,能夠發現安全漏洞和安全事件,在系統遭到損害后,能夠較快恢復絕大部分功能。文章闡述了在信息安全等級保護主機安全測評中的具體測評方法,并提出了對Linux服務器安全策略的配置建議。
服務器的測評主要包括身份鑒別、訪問控制、安全審計、入侵防范、惡意代碼防范、資源控制等方面的內容。
二 身份鑒別
為計算機系統的安全起見,只有經過授權的合法用戶才能訪問服務器。身份鑒別即服務器需要用戶以一種安全的方式提交自己的身份證實,然后由服務器確定用戶的身份是否屬實的過程。身份鑒別的機制大大的提高了服務器的安全性,主要防止了身份欺詐。所以,核實服務器系統的身份鑒別功能在測評中顯得尤為重要。身份鑒別包括對用戶的身份標識和鑒別,系統的密碼策略、登錄控制功能,身份的標識、密碼口令的復雜度,登錄失敗的處理、遠程管理的傳輸模式、用戶名的唯一性等。
(1)查看/etc/shadow中的相關參數,其中九個欄位分別代表:賬號名稱、加密密碼、密碼更動日期、密碼最小可變動日期、密碼最大需變動日期、密碼過期前警告日數、密碼失效天數、帳號失效日、保留位。我們關注第5位密碼最大需變動日期即密碼可存在的最長天數,默認配置為99999,但建議3個月更換一次即90天。/etc/login.defs中也有對登錄密碼最小長度限制的配置(PASS_MIN_LEN)。
(2)查看/ete/pam.d/system-auth中pam_cracklib.so的內容,可以用來檢驗密碼的強度。包括密碼是否在字典中,密碼輸入數次失敗就斷掉連接等功能。
(3)管理員為方便管理服務器常常開啟了遠程管理的功能,由于telnet與rsh模式使用明文傳輸,文件在互聯網上傳輸極不安全,所以最好使用更安全的SSH方式來管理服務器。新版本的CentOS默認開啟了SSH功能,通過使用netstattunlp指令可查看網絡連線的服務,檢查sshd程序是否在監聽,或查看sshd_config文檔中的相關配置。以root身份對服務器進行遠程管理是危險的,應禁止root賬戶的遠程管理。當然,最安全的方法是關閉遠程管理的功能。
三 訪問控制
訪問控制是安全防范和保護的主要策略,它不僅應用于網絡層面,同樣也適用于主機層面,它的主要任務是保證系統資源不被非授權的用戶使用和訪問,使用訪問控制的目的在于通過限制用戶對特定資源的訪問保護系統資源。通過對訪問控制的要求,使不同的服務器訪問者擁有不同的服務,防止了用戶越權使用的可能。訪問控制主要涉及到文件權限,默認共享的問題。需要分別對系統的訪問控制功能、管理用戶的角色分配、操作系統和數據庫系統管理員的權限分離、默認用戶的訪問權限、賬戶的清理等做出要求。
(1)查看/ete/passwd中的相關參數,其中七個欄位分別代表賬號名稱、密碼、UID、GID、用戶全名、家目錄、shell類型,UID只有0與非0兩種,非0則是一般賬號。一般賬號又分為系統賬號(1~499)即可登入者帳號(大于500),具有root權限的帳號UID、GID均為0,UID為0的賬戶應只有一個。若賬戶密碼一欄為“::”則表示密碼為空,通過此項可檢查出系統是否存在默認賬戶、多余的共享的賬戶。
(2)用戶、用戶組對系統重要文件的訪問權限可通過ls~l指令查看。對系統重要文件,使用getfaclfilename指令,系統會列出此文件對于文件擁有者、文件所屬組成員、其他用戶的不同權限。使用net share指令可查看系統開啟了哪些共享。網絡管理員可通過對用戶群組的管理確定不同用戶的訪問策略。
四 安全審計
安全審計通過關注系統和網絡日志文件、目錄和文件中不期望的改變、程序執行中的不期望行為、物理形式的入侵信息等,用以檢查和防止虛假數據和欺騙行為,是保障計算機系統本地安全和網絡安全的重要技術。通過對審計信息的分析可以為計算機系統的脆弱性評估、責任認定、損失評估、系統恢復提供關鍵性信息。因此安全審計的覆蓋范圍必須要到每個操作系統用戶和數據庫用戶。包括審計范圍、審計的事件、審計記錄格式、審計報表的生成幾個方面。
(1)系統登錄日志保存在syslogd、klogd文件中,我們也可以通過查詢/var/log/messages(記錄系統發生錯誤的信息)、/var/log/secure(所有需要輸入帳號密碼的軟件,login、gdm、su、sudo、ssh等)、/var/log/wtmp,/var/log/faillog(成功和失敗登陸者信息)來查看系統是否完整記錄重要系統日志。審計記錄一般只有root權限的用戶才可以讀取,所以一般滿足不被破壞的要求。
(2)審計記錄還應定期生成報表,使用aureport或者CentOS使用自帶的logwatch分析工具即可,logwateh還可以定期發送審計記錄email給root管理員。
五 入侵防范、惡意代碼防范
要維護系統安全,只具備安全系統還不夠,服務器必須進行主動監視,以檢查是否發生了入侵和攻擊。因此一套成熟的主機監控機制能夠有效的避免、發現、阻斷惡意攻擊事件。為防止木馬、蠕蟲等病毒軟件的破壞,安裝殺毒軟件并及時更新病毒庫可以抵御惡意代碼的攻擊。遵循最小安裝原則,僅開啟需要的服務,安裝需要的組件和程序,可以極大的降低系統遭受攻擊的可能性。及時更新系統補丁,可以避免遭受由系統漏洞帶來的風險。
(1)CentOS采用yum組件進行自動更新,可使用yum list指令查看目前yum所管理的所有的套件名稱與版本,也可查看/var/cache/yum里存放的下載過的文件,以此判斷系統補丁是否得到及時更新,或通過#rpm-qa/grep patch查看補丁的安裝情況。主流的Linux發行版本通常每月數次發布系統相關的補丁。
(2)Linux系統可使用組件netfilter/iptable配置本機的防火墻。netfilter/iptable信息包過濾系統是一種功能強大的工具,管理員可添加、編輯和刪除為包過濾作決定的一些規則。改進后的防火墻對大流量的網絡環境有很好的負載能力,具有占用CPU使用率低,內存消耗小,網絡吞吐量大的特點。
(3)系統所有的服務狀態可使用service-status-all來查看,或者用netstat-tunlp指令來查看目前系統開啟的網絡服務,并可以檢測到主機名稱、服務名稱和端口號等,避免系統存在不需要的服務或網絡連接。一些組件如git、finger、talk、ytalk、ucd-snmp-utils、ftp、echo、shell、login、r、ntalk、pop-2、sendmail、imapd、pop3d等,則是系統不必須要的,需要移除。常見的必須存在的系統服務如表1:
六 資源控制
系統資源是指CPU、儲存空間、傳輸帶寬等軟硬件資源。通過設定終端接入方式、網絡地址范圍等條件限制終端登錄,可以極大的節省系統資源,保證了系統的可用性,同時也提高了系統的安全性。如果系統管理員在離開系統之前忘記注銷管理員賬戶,那么可能存在被惡意用戶利用或被其他非授權用戶誤用的可能性,從而對系統帶來不可控的安全隱患。
(1)查看/etc/hosts.allow與/etc/hosts.deny文件可知系統允許與拒絕登錄用戶的IP地址或網段。同樣在這兩個文件中可以寫入詳細到終端接人方式的具體規則。
(2)使用ulimit-a指令查看對每個用戶使用系統資源的限制,如最大內存使用限制?墒褂玫淖畲驝PU時間等。此項配置可以避免多用戶同時連線,過度使用系統資源,防止本地DOS攻擊。
(3)查看/etc/profile文件中加入TMOUT的值,確定用戶登錄超時系統自動注銷的時長,確保系統對登陸超時有正確的處理方式。
(4)用top指令查看服務器的CPU、內存、網絡等資源的使用情況,避免系統資源過度使用造成系統服務不可用。任何占用50%以上CPU資源的進程都可能有故障。通過syslog配置文件可以通過郵件或短信方式通知管理員系統資源已達到報警閾值。
七 小結
雖然本文提出了用于信息安全等級保護測評中對Linux系統服務器的若干測評方法,但是沒有一種固定的測評方法是適用于現實中所有的Linux系統服務器的,測評與具體的產品信息息息相關,可能存在個別不能普適的方法,更重要的是在測評中需要測評人員要根據現場的實際情況做出合理的判斷,后期整理時根據全局網絡的綜合配置做出統一的評判,這樣測評工作才能做到更加準確。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/