歡迎您光臨本站 註冊首頁

十大企業級Linux伺服器安全防護要點

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  

隨著開源系統Linux的盛行,其在大中型企業的應用也在逐漸普及,很多企業的應用服務都是構築在其之上,例如Web服務、資料庫服務、集群服務等等。因此,Linux的安全性就成為了企業構築安全應用的一個基礎,是重中之重,如何對其進行安全防護是企業需要解決的一個基礎性問題,基於此,本文將給出十大企業級Linux伺服器安全防護的要點。

  1、強化:密碼管理

設定登錄密碼是一項非常重要的安全措施,如果用戶的密碼設定不合適,就很容易被破譯,尤其是擁有超級用戶使用許可權的用戶,如果沒有良好的密碼,將給系統造成很大的安全漏洞。

目前密碼破解程序大多採用字典攻擊以及暴力攻擊手段,而其中用戶密碼設定不當,則極易受到字典攻擊的威脅。很多用戶喜歡用自己的英文名、生日或者賬戶等信息來設定密碼,這樣,黑客可能通過字典攻擊或者是社會工程的手段來破解密碼。所以建議用戶在設定密碼的過程中,應盡量使用非字典中出現的組合字元,並且採用數字與字元相結合、大小寫相結合的密碼設置方式,增加密碼被黑客破解的難度。而且,也可以使用定期修改密碼、使密碼定期作廢的方式,來保護自己的登錄密碼。

在多用戶系統中,如果強迫每個用戶選擇不易猜出的密碼,將大大提高系統的安全性。但如果passwd程序無法強迫每個上機用戶使用恰當的密碼,要確保密碼的安全度,就只能依靠密碼破解程序了。實際上,密碼破解程序是黑客工具箱中的一種工具,它將常用的密碼或者是英文字典中所有可能用來作密碼的字都用程序加密成密碼字,然後將其與Linux系統的/etc/passwd密碼文件或/etc/shadow影子文件相比較,如果發現有吻合的密碼,就可以求得明碼了。在網路上可以找到很多密碼破解程序,比較有名的程序是crack和john the ripper.用戶可以自己先執行密碼破解程序,找出容易被黑客破解的密碼,先行改正總比被黑客破解要有利。

2、限定:網路服務管理

早期的Linux版本中,每一個不同的網路服務都有一個服務程序(守護進程,Daemon)在後台運行,後來的版本用統一的/etc/inetd伺服器程序擔此重任。Inetd是Internetdaemon的縮寫,它同時監視多個網路埠,一旦接收到外界傳來的連接信息,就執行相應的TCP或UDP網路服務。由於受inetd的統一指揮,因此Linux中的大部分TCP或UDP服務都是在/etc/inetd.conf文件中設定。所以取消不必要服務的第一步就是檢查/etc/inetd.conf文件,在不要的服務前加上「#」號。

一般來說,除了http、smtp、telnet和ftp之外,其他服務都應該取消,諸如簡單文件傳輸協議tftp、網路郵件存儲及接收所用的imap/ipop傳輸協議、尋找和搜索資料用的gopher以及用於時間同步的daytime和time等。還有一些報告系統狀態的服務,如finger、efinger、systat和netstat等,雖然對系統查錯和尋找用戶非常有用,但也給黑客提供了方便之門。例如,黑客可以利用finger服務查找用戶的電話、使用目錄以及其他重要信息。因此,很多Linux系統將這些服務全部取消或部分取消,以增強系統的安全性。Inetd除了利用/etc/inetd.conf設置系統服務項之外,還利用/etc/services文件查找各項服務所使用的埠。因此,用戶必須仔細檢查該文件中各埠的設定,以免有安全上的漏洞。

在後繼的Linux版本中(比如Red Hat Linux7.2之後),取而代之的是採用xinetd進行網路服務的管理。

當然,具體取消哪些服務不能一概而論,需要根據實際的應用情況來定,但是系統管理員需要做到心中有數,因為一旦系統出現安全問題,才能做到有步驟、有條不紊地進行查漏和補救工作,這點比較重要。

  3、嚴格審計:系統登錄用戶管理

在進入Linux系統之前,所有用戶都需要登錄,也就是說,用戶需要輸入用戶賬號和密碼,只有它們通過系統驗證之後,用戶才能進入系統。

與其他Unix操作系統一樣,Linux一般將密碼加密之後,存放在/etc/passwd文件中。Linux系統上的所有用戶都可以讀到/etc/passwd文件,雖然文件中保存的密碼已經經過加密,但仍然不太安全。因為一般的用戶可以利用現成的密碼破譯工具,以窮舉法猜測出密碼。比較安全的方法是設定影子文件/etc/shadow,只允許有特殊許可權的用戶閱讀該文件。

在Linux系統中,如果要採用影子文件,必須將所有的公用程序重新編譯,才能支持影子文件。這種方法比較麻煩,比較簡便的方法是採用插入式驗證模塊(PAM)。很多Linux系統都帶有Linux的工具程序PAM,它是一種身份驗證機制,可以用來動態地改變身份驗證的方法和要求,而不要求重新編譯其他公用程序。這是因為PAM採用封閉包的方式,將所有與身份驗證有關的邏輯全部隱藏在模塊內,因此它是採用影子檔案的最佳幫手。

此外,PAM還有很多安全功能:它可以將傳統的DES加密方法改寫為其他功能更強的加密方法,以確保用戶密碼不會輕易地遭人破譯;它可以設定每個用戶使用電腦資源的上限;它甚至可以設定用戶的上機時間和地點。

Linux系統管理人員只需花費幾小時去安裝和設定PAM,就能大大提高Linux系統的安全性,把很多攻擊阻擋在系統之外。

  4、設定:用戶賬號安全等級管理

除密碼之外,用戶賬號也有安全等級,這是因為在Linux上每個賬號可以被賦予不同的許可權,因此在建立一個新用戶ID時,系統管理員應該根據需要賦予該賬號不同的許可權,並且歸併到不同的用戶組中。

在Linux系統中的部分文件中,可以設定允許上機和不允許上機人員的名單。其中,允許上機人員名單在/etc/hosts.allow中設置,不允許上機人員名單在/etc/hosts.deny中設置。此外,Linux將自動把允許進入或不允許進入的結果記錄到/var/log/secure文件中,系統管理員可以據此查出可疑的進入記錄。

每個賬號ID應該有專人負責。在企業中,如果負責某個ID的職員離職,管理員應立即從系統中刪除該賬號。很多入侵事件都是借用了那些很久不用的賬號。

在用戶賬號之中,黑客最喜歡具有root許可權的賬號,這種超級用戶有權修改或刪除各種系統設置,可以在系統中暢行無阻。因此,在給任何賬號賦予root許可權之前,都必須仔細考慮。

Linux系統中的/etc/securetty文件包含了一組能夠以root賬號登錄的終端機名稱。例如,在RedHatLinux系統中,該文件的初始值僅允許本地虛擬控制台(rtys)以root許可權登錄,而不允許遠程用戶以root許可權登錄。最好不要修改該文件,如果一定要從遠程登錄為root許可權,最好是先以普通賬號登錄,然後利用su命令升級為超級用戶。

5、謹慎使用:「r系列」遠程程序管理

在Linux系統中有一系列r字頭的公用程序,比如rlogin,rcp等等。它們非常容易被黑客用來入侵我們的系統,因而非常危險,因此絕對不要將root賬號開放給這些公用程序。由於這些公用程序都是用。rhosts文件或者hosts.equiv文件核准進入的,因此一定要確保root賬號不包括在這些文件之內。

由於r等遠程指令是黑客們用來攻擊系統的較好途徑,因此很多安全工具都是針對這一安全漏洞而設計的。例如,PAM工具就可以用來將r字頭公用程序有效地禁止掉,它在/etc/pam.d/rlogin文件中加上登錄必須先核准的指令,使整個系統的用戶都不能使用自己home目錄下的。rhosts文件。

6、限制:root用戶許可權管理

Root一直是Linux保護的重點,由於它權力無限,因此最好不要輕易將超級用戶授權出去。但是,有些程序的安裝和維護工作必須要求有超級用戶的許可權,在這種情況下,可以利用其他工具讓這類用戶有部分超級用戶的許可權。sudo就是這樣的工具。

sudo程序允許一般用戶經過組態設定后,以用戶自己的密碼再登錄一次,取得超級用戶的許可權,但只能執行有限的幾個指令。例如,應用sudo后,可以讓管理磁帶備份的管理人員每天按時登錄到系統中,取得超級用戶許可權去執行文檔備份工作,但卻沒有特權去作其他只有超級用戶才能作的工作。

sudo不但限制了用戶的許可權,而且還將每次使用sudo所執行的指令記錄下來,不管該指令的執行是成功還是失敗。在大型企業中,有時候有許多人同時管理Linux系統的各個不同部分,每個管理人員都有用sudo授權給某些用戶超級用戶許可權的能力,從sudo的日誌中,可以追蹤到誰做了什麼以及改動了系統的哪些部分。

值得注意的是,sudo並不能限制所有的用戶行為,尤其是當某些簡單的指令沒有設置限定時,就有可能被黑客濫用。例如,一般用來顯示文件內容的/etc/cat指令,如果有了超級用戶的許可權,黑客就可以用它修改或刪除一些重要的文件。

7、追蹤黑客蹤跡:日誌管理

當用戶仔細設定了各種與Linux相關的配置(最常用日誌管理選項),並且安裝了必要的安全防護工具之後,Linux操作系統的安全性的確大為提高,但是卻並不能保證防止那些比較熟練的網路黑客的入侵。

在平時,網路管理人員要經常提高警惕,隨時注意各種可疑狀況,並且按時檢查各種系統日誌文件,包括一般信息日誌、網路連接日誌、文件傳輸日誌以及用戶登錄日誌等。在檢查這些日誌時,要注意是否有不合常理的時間記載。例如:

正常用戶在半夜三更登錄;

不正常的日誌記錄,比如日誌只記錄了一半就切斷了,或者整個日誌文件被刪除了;

用戶從陌生的網址進入系統;

因密碼錯誤或用戶賬號錯誤被擯棄在外的日誌記錄,尤其是那些一再連續嘗試進入失敗,但卻有一定模式的試錯法;

非法使用或不正當使用超級用戶許可權su的指令;

重新開機或重新啟動各項服務的記錄。

上述這些問題都需要系統管理員隨時留意系統登錄的用戶狀況以及查看相應日誌文件,許多背離正常行為的蛛絲馬跡都應當引起高度注意。

8、橫向擴展:綜合防禦管理

防火牆、IDS等防護技術已經成功地應用到網路安全的各個領域,而且都有非常成熟的產品。

在Linux系統來說,有一個自帶的Netfilter/Iptables防火牆框架,通過合理地配置其也能起到主機防火牆的功效。在Linux系統中也有相應的輕量級的網路入侵檢測系統Snort以及主機入侵檢測系統LIDS(Linux Intrusion Detection System),使用它們可以快速、高效地進行防護。

需要提醒注意的是:在大多數的應用情境下,我們需要綜合使用這兩項技術,因為防火牆相當於安全防護的第一層,它僅僅通過簡單地比較IP地址/埠對來過濾網路流量,而IDS更加具體,它需要通過具體的數據包(部分或者全部)來過濾網路流量,是安全防護的第二層。綜合使用它們,能夠做到互補,並且發揮各自的優勢,最終實現綜合防禦。

9、評測:漏洞追蹤及管理

Linux作為一種優秀的開源軟體,其自身的發展也日新月異,同時,其存在的問題也會在日後的應用中慢慢暴露出來。黑客對新技術的關注從一定程度上來說要高於我們防護人員,所以要想在網路攻防的戰爭中處於有利地位,保護Linux系統的安全,就要求我們要保持高度的警惕性和對新技術的高度關注。用戶特別是使用Linux作為關鍵業務系統的系統管理員們,需要通過Linux的一些權威網站和論壇上儘快地獲取有關該系統的一些新技術以及一些新的系統漏洞的信息,進行漏洞掃描、滲透測試等系統化的相關配套工作,做到防範於未然,提早行動,在漏洞出現后甚至是出現前的最短時間內封堵系統的漏洞,並且在實踐中不斷地提高安全防護的技能,這樣才是一個比較的解決辦法和出路。

  10、保持更新:補丁管理

Linux作為一種優秀的開源軟體,其穩定性、安全性和可用性有極為可靠的保證,世界上的Linux高手共同維護著個優秀的產品,因而起流通渠道很多,而且經常有更新的程序和系統補丁出現,因此,為了加強系統安全,一定要經常更新系統內核。

Kernel是Linux操作系統的核心,它常駐內存,用於載入操作系統的其他部分,並實現操作系統的基本功能。由於Kernel控制計算機和網路的各種功能,因此,它的安全性對整個系統安全至關重要。早期的Kernel版本存在許多眾所周知的安全漏洞,而且也不太穩定,只有2.0.x以上的版本才比較穩定和安全(一般說來,內核版本號為偶數的相對穩定,而為奇數的則一般為測試版本,用戶們使用時要多留意),新版本的運行效率也有很大改觀。在設定Kernel的功能時,只選擇必要的功能,千萬不要所有功能照單全收,否則會使Kernel變得很大,既佔用系統資源,也給黑客留下可乘之機。

在Internet上常常有最新的安全修補程序,Linux系統管理員應該消息靈通,經常光顧安全新聞組,查閱新的修補程序。



[火星人 ] 十大企業級Linux伺服器安全防護要點已經有428次圍觀

http://coctec.com/docs/net/show-post-68182.html