Linux使用者身份的鑑別方式

開拓者01發表於2020-12-15

7.1.1 使用者身份的鑑別方式
使用者是作業系統中不可或缺的角色,每個作業系統中至少擁有一個或以上數量的使用者,由於使用者可對系統的資料、資源等具有一定的操作許可權,因此如何對能夠登入系統的使用者進行有效地控制就成了系統安全的一道防線。

  1. 基於ID的使用者身份識別
    在Linux系統下不同使用者間的身份是靠它擁有一無二的ID(identification)來區分,ID是每個使用者名稱稱所對應的一個整數數字,這個數字也是使用者許可權的象徵,ID值在一定範圍內的使用者它們就有相同的許可權。
    在系統下的ID有UID(User Identification)和GID(Group Identification)這兩類,通常情況下UID與GID是相同的,這是在建立使用者是系統為每個使用者分配的。UID所對應的使用者有系統管理員、虛擬使用者(偽使用者)和普通使用者這三類,不管有多少個使用者名稱只要UID相同那麼系統都將它們視為同一個使用者。從配置檔案的層面上說,使用者在登入需要時,系統是根據/etc/passwd檔案中該使用者名稱所對應的UID來為這個使用者初始化工作環境。
    對於UID的型別,其共有實際UID、有效UID和儲存的設定UID這三類,實際UID是用於標明程式具體的執行者,有效UID是標明程式執行時對檔案的訪問許可權,儲存的設定UID是用於標識可執行程式檔案的設定UID位。當然,這三個概念則是相對於系統的程式來說的。
  2. 基於PAM模組的使用者身份認證
    系統安全和系統資源地合理使用確實是一件讓系統管理員頭痛的事情,在一個系統中對使用應用程式或服務的使用者身份確認、限制使用者訪問服務的時間段及限制應用程式或服務對系統資源的使用率等等這些問題常規的安全措施並不能妥善地解決。
    自Red Hat Enterprise Linux的第3版起,其核心已整合了一種叫做可插入式認證模組(Pluggable Authentication Modules,PAM)的安全驗證方式(當然,作為新功能測試的免費發行版的Linux系列也具有PAM功能),可插入認證模組是基於模組化的設計,它是一種可插入且獨立於應用程式之外的認證功能模式。
    在某個應用程式或服務需要PAM驗證時,只要此應用程式或服務支援PAM驗證功能就可以通過修改PAM相關的配置來實現相應的驗證方式,而在應用或服務重啟時PAM模組就會通過專用API來讀取它的配置檔案,並根據配置來提供相應的驗證功能,所有的這些驗證功能都是基於一些庫檔案來提供。比如,某個使用者在登入Linux系統時Login程式就為使用者提供登入系統的服務(提供使用者名稱和密碼輸入的視窗來驗證使用者的有效性),而在使用PAM功能後,這個驗證過程可以由PAM來代替。
  3. 使用者識別和安全認證
    在計算機領域,身份往往與安全關聯在一起,因此身份的認證就成其中一個重要的環節。目前實現身份認證的方式是多種多樣,在本節中將對一些比較常見的認證方式進行介紹。
    (1)認證和識別的基本概述
    認證就是指使用者必須提供自己是誰的證明,但這個證明也僅能在一定範圍內有效。對於認證,它的標準方法就是弄清楚這個“使用者”是誰,它具有什麼特徵,及有什麼可用於識別它的資訊等。通常就是在進行使用者的認證前,先在系統中錄入關於該使用者具有唯一性的特徵(如指紋、聲紋等),並通過直接或間接的方式進行認證(如通過外接裝置、軟體APP等方式)。
    當然,對於使用者認證中所涉及到的“使用者”,這不僅僅是指計算機上的使用者賬號,也包括使用這些賬號的使用者(或稱為人),因此在認證方面涉及到兩個角色的認證。那麼,從狹義的角度上看,本書中所說到的使用者認證主要是指計算機上的使用者賬號而不是賬號的使用者,目前比較普遍的認證方式是使用者名稱+密碼、賬戶名+金鑰這兩種方式,當然也有結合額外如的認證方式,如固定主機/堡壘機登入、VPN認證建立連線等方式的輔助認證。
    作為計算機,它只認賬戶名和密碼的對應性而不檢查是誰去提供認證資訊,因此只要使用者名稱和密碼正確就是正常登入。簡單說,要使伺服器時就需要先通過作業系統認證才能接入,因此使用者就必須先把使用者名稱和密碼推送給伺服器,這時使用者名稱和密碼就被作業系統拿來與它資料庫裡的使用者名稱和密碼進行匹配,如果相符就通過認證可以建立連線,否則就拒絕建立連線。當然,隨著安全認證環境、級別的多樣化和安全要求不斷提高,這就直接導致認證手段的多樣化,比如智慧卡技術也是其中的一種認證手段,這類卡把相關的認證資訊都集在卡內的晶片內,認證時進行感應就可以,而不需要輸入密碼等資訊,但也不排除雙重認證的環境。
    (2)認證的主要方法
    對於認證方式上,目前已經存在有多種不同的方式,這些認證方式都是為了解決安全問題,因此各個公司、機構就想盡辦法解決使用者身份認證的問題。就目前而言,認證的方式主要存在有以下的這幾種。
    雙重認證:簡單說就是同時採取兩種認證方式,但這不僅僅是兩個單一認證方式的組合,而是按照先後順序並保證認證資訊的有效性的認證方式,複雜點的可能要採取交叉式認證的方式。採用有兩種形式的認證方法,比較常見的有包括令牌、智慧卡和仿生裝置(如視網膜或指紋掃描器)等。
    數字證書:這是一種檢驗使用者身份的電子檔案或稱為證書,這是企業普遍採用的一種認證方式。數字證書提供更強的訪問控制和更高的安全性和可靠性,隨著行業對管制的放鬆,數字證書的使用範圍也會越來越廣泛,而它的使用許可權就能夠通過購買的方式來獲取授權。
    智慧卡:智慧卡是將資訊儲存在卡內的晶片上,資訊可以持續較長的儲存,使用靈活、資訊量多,而且還具有可選擇的管理方式。
    全電子交易(SET,Secure Electronic Transaction)協議:它是為完善即時電子支付而誕生,是目前最為完整最為權威的電子商務安全保障協議,也是目前公認的網上交易標準。

相關文章