操作系統的安全問題是信息安全領域最重要和最基本的問題之一。隨著近幾年國內互聯網技術和行業的迅猛發展,采用Linux網絡操作系統作為服務器的用戶也越來越多。Linux面臨著前所未有的發展機遇,同時Linux也面臨著越來越多的安全隱患。作為一個開放式系統,互聯網上有大量的Linux版本的開源軟件產品和工具。這既方便於滿足用戶使用需求,也給黑客提供了更多的途徑來攻擊服務器,甚至盜取服務器上的機密信息。因此,詳細分析Linux系統的安全機制,找出它可能存在的安全隱患,給出相應的安全策略和保護措施是十分必要的。
Linux操作系統提供了基本的安全機制。本文以Red Hat Enterprise Linux Server release 6.7為例介紹這些安全機制的基本原理及實施方法,主要包括以下內容:
1、 系統帳號和密碼管理
2、Linux網絡安全
3、 文件系統的安全
4、 系統日志的保存
5、 內核更新及安全補丁安裝
1. 系統帳號和密碼管理
賬戶和密碼可以說是操作系統安全的第一道防線。其中賬戶用來確認系統訪問者的身份,密碼可以驗證系統訪問者是否有權使用此賬戶。密碼洩露就像是房門鑰匙被人竊取一樣危險。系統一旦被入侵,不只對使用者賬戶本身有影響,系統內的所有資料和文檔都有被竊取和損壞的風險,從而造成巨大的損失。所以,管理員應該采取必要的技術手段強制用戶使用強密碼並定期更改,定期驗證系統中賬號合法性,及時刪除不必要的賬戶、防止超級用戶被篡改等,保證系統用戶賬號和密碼的安全。
1.1. 及時刪除或禁用無用賬戶
Linux系統中所有的賬戶都存放在/etc/passwd文件中。系統管理員可以定期監控/etc/passwd文件,驗證系統中活動賬戶的合法性,及時刪除或禁用系統中不必要或不再使用的賬戶。此類賬戶主要分為以下兩種情況。
1) 某些服務安裝時默認創建的執行賬戶,比如ftp、news、postfix、apache、squid等。
2) 無人使用或者無業務需求的賬戶。
此類賬戶最好做刪除處理。如下示例所示:
如果因為特殊原因需保留賬戶,可以鎖定賬戶或者修改賬戶登錄shell為/sbin/nologin。如下示例所示:
1.2. 設置密碼復雜度策略
現在的計算機的計算能力越來越強,弱密碼很容易被破解。Linux有自定義密碼復雜度策略的機制,可以從以下幾個方面加強管理。
1) 最短密碼長度為8。
2) 包含一個字符或非字符(數字、標點或特殊字符)。
3) 密碼中不允許包含賬戶。
4) 每隔90天修改一次密碼。
5) 密碼最短生命周期設置為1,防止惡意更改密碼。
6) 8次修改密碼不可以重復並且加密保存。
7) 連續5次輸入錯誤密碼,鎖定賬戶。
8) 初次登錄強制修改密碼。
具體實現方式,如以下示例所示:
1.3. 保護shadow密碼文件
Linux中賬戶密碼叫做影子文件,存放在/etc/shadow裡面。如果在/etc/pam.d/system-auth中設置了加密存儲,那在/etc/shadow中看到的將是加密後的密碼信息。雖然經過了加密處理,但這些加密信息仍然可以借助一些密碼破解程序進行強制破解。John the Ripper就是這樣的一個密碼破解程序,該程序的源代碼可以從http://www.openwall.com/john/網站上下載。經過實驗,通過John程序可以輕易的破解shadow中的加密密碼。所以系統管理員應保護好shadow文件,正常情況下應只有root用戶擁有該文件的訪問權限。此外,管理員不該在有其他人員在場的情況下隨便打開shadow文件,以免其中的內容被人竊取。
1.4. 防止root賬戶被篡改
在Linux系統中root賬戶是超級管理員賬戶。它可以執行所有的系統的命令,也具有系統中最高的權限。而且Linux系統中只有一個root超級賬戶。但是在Linux系統中,用戶是由UID來區分,而不是賬戶名。如果把一個普通賬戶的UID修改為0,即root賬戶的UID,則這個普通賬戶也將獲得root相同的超級管理員權限。如果這種賬戶,沒有經過正常的審批流程,或者不是系統管理員設置,這種賬戶很有可能是非法入侵者更改的。所謂管理員,應及時發現這種非法賬戶,並作相應的處理。
2. Linux網絡安全
相比於其它的操作系統,Linux操作系統更加安全和穩定,所以經常被用作網絡應用服務器。但是由於程序代碼的缺陷的難以避免,這些安裝在Linux系統上的網絡應用程序往往會存在著各種漏洞,而入侵者則是利用這些漏洞進行網絡攻擊,進入系統竊取數據、破壞系統或者使系統無法提供正常服務等等。針對入侵者進行網絡攻擊的常用手段,及早發現系統中的網絡安全漏洞並執行相應的防范措施非常重要。
2.1. ping入侵
ping是入侵者確認服務器是否開機的最快、最常用的方法。ping命令會發出一個ICMP echo請求,服務器接收到請求後會返回一個ICMP應答。Linux服務器管理員可限制服務器禁止其它用戶Ping。同時又保證Linux服務器又可以Ping其它服務器。
2.2. 端口安全
TCP/IP的各種Linux應用服務基本上都是采用服務器/客戶端的工作模式,這些服務在服務器端會監聽一些固定的服務端口,接受來自客戶端的請求。而入侵者往往會利用各種端口掃描工具對目標主機的端口進行探測和掃描。獲得目標主機上的服務和端口列表以後,入侵者就可以針對不同服務的漏洞進行相應的攻擊。為了阻止入侵者對主機端口的掃描。管理員可以采取以下措施:
1) 關閉不必要的應用服務;
2) 修改應用服務的默認端口。例如更改FTP服務的端口為31,那麼即使入侵者獲得該端口號,也無法確定該端口號對應的是什麼服務;
3) 開啟防火牆,限制用戶訪問相應的服務端口。這樣,即使應用服務的端口洩漏,非法訪問也會被擋在防火牆之外。
2.3. 拒絕攻擊
拒絕攻擊是一種消耗服務器可用資源的攻擊方式,這些資源包括進程數、磁盤占用、CPU時間或者網絡帶寬等,被攻擊的服務器將會出現資源被不斷消耗的情況,最終喪失應用服務的能力。在Linux系統中提供了一種限制用戶資源使用的技術手段,管理員可以通過設置/etc/security/limits.conf的配置參數,限制用戶對內存空間、CPU時間以及進程數等資源的使用。防止負荷過載造成服務器宕機。用戶可以執行命令ulimit -a查看自己的的資源限制情況。
上一頁12下一頁查看全文 內容導航