安全計算環境-(三)Linux服務器-1


Linux服務器

Linux服務器的等級測評主要涉及六個方面的內容,分別是身份鑒別、訪問控制、安全審計、入侵防范、惡意代碼防范、可信驗證。

控制點

1.

身份鑒別

為確保服務器的安全,必須對服務器中的每個用戶或與之相連的服務器設備進行有效的標識與鑒別。只有通過鑒別的用戶,才能被賦予相應的權限,進入進入服務器操作系統,並在規定的權限范圍內進行操作。

a)

安全要求:應對登錄的用戶進行身份標識和鑒別,身份標識具有唯一性,身份鑒別信息具有復雜度要求並定期更換。

 

要求解讀

Linux系統的用戶鑒別過程與其他UNIX系統相同:系統管理員為用戶建立一個賬戶並為其指定一個口令,用戶使用指定的口令登錄后重新配置自己的口令,這樣用戶就獲得了一個私有口令。etc/passwd文件中記錄用戶的屬性信息包括用戶名、密碼、用戶標識、組標識等。目前,Linux系統中的口令不再直接保存在/etc/passwd文件中,通常使用一個“x”來代替etc/passwd文件中的口令字段,將/etc/shadow作為真正的口令文件來保存包括個人口令在內的數據。

 

當然,普通用戶不能讀取etc/shadow文件,只有超級用戶才有權讀取。

Linux中的/etc/login.defs是登錄程序的配置文件,在文件中可以配置密碼的過期天數、密碼的長度約束等參數。如果/etc/pam.d/system-auth文件中有與該文件相同的選項,則以/etc/pam.d/system-auth文件的設置為准,也就是說/etc/pam.d/system-auth 的配置優先級高於/etc/login.defs文件。

 

Linux文件系統具有調用PAM的應用程序認證用戶、登錄服務、屏保等功能,其中重要的文件是/etc/pam.d/system-auth(在Redhat、CentOS和Fedora系統上)或/etc/pam.d/common-passwd(在Debian、Ubuntu和Linux Mint系統上)。這兩個文件的配置優先級高於其它文件。

檢查方法

1. 訪談系統管理員,了解系統用戶是否已設置密碼,核查登錄過程中系統賬戶是否使用密碼進行驗證登錄。

2. 以具有相應權限的賬戶身份登錄操作系統,使用more命令查看/etc/shadow文件,核查系統中是否存在空口令賬戶。

3. 使用more命令查看/etc/login.defs文件,核查是否設置了密碼長度和定期更換規則。使用mroe命令查看/etc/pam.d/system-auth文件,核查是否設置了密碼長度和密碼復雜度規則。

4. 檢查是否存在旁路或身份鑒別措施可繞過的安全風險(應為不存在)。

期望結果

1. 登錄時需要密碼。

2. 不存在空口令賬戶。

3. 得到類似如下反饋信息。

PASS_MAX_DAYS 90#登錄密碼有效期90天

PASS_MIN_DAYS 0#登錄密碼最短修改時間,增加可以防止非法用戶短期內多次修改密碼

PASS_MIN_LEN 7#登錄密碼最小長度為7位

PASS_WARN_AGE 7#登錄密碼過期前7天提示修改

4. 不存在可繞過的安全風險。

b)

安全要求:應具有登錄失敗處理功能,應配置並啟用結束會話、限制非法登錄次數和當登錄連接超時自動退出等相關措施。

要求解讀:Linux操作系統具有調用PAM的應用程序認證用戶、登錄服務、屏保等功能。在Redhat5以后的版本中,使用pam_tally2.so模塊控制用戶密碼認證失敗的次數,可以實現對登錄次數、超時時間、解鎖時間等的控制。如果認證規則只針對某個程序,則可以在PAM目錄(/etc/pam.d)下形如sshd、1ogin、system-auth等對應於各程序的認證規則文件中修改。本地登錄失敗處理功能在/etc/pam.d/system-aut或/etc/pam.d/login文件中進行配置。SSH遠程登錄失敗處理功能在/etc/pam.d/sshd文件中進行配置。

檢查方法

1. 核查系統是否配置並啟用了登錄失敗處理功能。

2. 以root身份登錄Linux操作系統,核查/etc/pam.d/system-auth或/etc/pam.d/login文件中本地登錄失敗處理功能的配置情況,以及/etc/pam.d/sshd文件中SSH遠程登錄失敗處理功能的配置情況。

3. 核查/etc/profile中的TIMEOUT環境變量是否配置了超時鎖定參數。

期望結果

得到類似如下反饋信息。

  • 查看本地登錄失敗處理功能相關參數,/etc/pam.d/system-auth或/etc/pam.d/login文件中存在“auth required pam_tally2.so onerr=fail deny=5 unlock_time=300 even_deny_root root_unlock_time=10”。

  • 查看遠程登錄失敗處理功能相關參數,/etc/pam.d/sshd文件中存在“auth required pam_tally2.so onerr=fail deny=5 ulock_time=300 even_deny_root root_unlock_time=10”。

  • /etc/profile文件中設置了超時鎖定參數,例如在該文件中設置了TMOUT=300s。

c)

安全要求:當進行遠程管理時,應采取必要措施防止鑒別信息在網絡傳輸過程中被竊聽。

要求解讀:Linux操作系統提供了遠程訪問與管理接口,以便管理員進行管理操作,網絡登錄的方式也是多種多樣的,可以使用Telnet協議登錄,也可以使用SSH協議登錄。但是,Telnet協議是不安全的,因為其在數據傳輸過程中賬戶與密碼均為明文。由於黑客通過一些網絡嗅探工具能夠很容易地竊取網絡中明文傳輸的賬戶與密碼,所以不建議通過Telnet協議對服務器進行遠程管理。針對Telnet協議不安全的問題,可以在遠程登錄時使用SSH協議。SSH協議的原理與Telnet協議類似,且具有更高的安全性。SSH是一個運行於傳輸控制層的應用程序。與Telnet協議相比,SSH協議提供了強大的認證與加密功能,可以保證遠程連接過程中傳輸的數據是經過加密處理過的(保證了賬戶與密碼的安全)。

檢查方法

1. 詢問系統管理員,了解采取的遠程管理的方式。以root 身份登錄Linux操作系統。

  • 查看是否運行了sshd服務。

    service-status-all | grep sshd

  • 查看相關端口是否已經打開。

    netstat -an|grep 22

  • 若未使用SSH方式進行遠程管理,則查看是否使用了Telnet協議進行遠程管理。

    service --status-a11 | grep running

2. 使用抓包工具查看協議是否是加密的。

3. 本地化管理,此項不適用。

期望結果

1. 使用SSH方式進行遠程管理(防止鑒別信息在傳輸過程中被竊聽)。Telnet協議默認不符合此項。

2. 抓包工具截獲的信息為密文,無法讀取,協議為加密協議。

3. 本地化管理,此項不適用。

d)

安全要求:應采用口令、密碼技術、生物技術等兩種或兩種以上組合的鑒別技術對用戶進行身份鑒別,且其中一種鑒別技術至少應使用密碼技術來實現。

要求解讀:采用組合的鑒別技術對用戶進行身份鑒定是防止欺騙的有效方法。在這里,兩種或兩種以上組合的鑒別技術是指同時使用不同種類的(至少兩種)鑒別技術,且其中一種鑒別技術至少應使用密碼技術來實現。

檢查方法

詢問系統管理員,了解系統是否采用由口令、數字證書、生物技術等中的兩種或兩種以上組合的鑒別技術對用戶身份進行鑒別,並核查其中一種鑒別技術是否使用密碼技術來實現。

期望結果

至少采用了兩種鑒別技術,其中之一為口令或生物技術,另外一種為基於密碼技術的鑒別技術(例如使用基於國密算法的數字證書或數字令牌)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM