身份驗證

通過一定的手段,完成對用戶身份的確認

身份驗證又稱“驗證”、“鑒權”,是指通過一定的手段,完成對用戶身份的確認。身份驗證的方法有很多,基本上可分為:基於共享密鑰的身份驗證、基於生物學特徵的身份驗證和基於公開密鑰加密演演算法的身份驗證。

定義


身份驗證又稱“驗證”、“鑒權”,是指通過一定的手段,完成對用戶身份的確認。
身份驗證的目的是確認當前所聲稱為某種身份的用戶,確實是所聲稱的用戶。在日常生活中,身份驗證並不罕見;比如,通過檢查對方的證件,我們一般可以確信對方的身份。雖然日常生活中的這種確認對方身份的做法也屬於廣義的“身份驗證”,但“身份驗證”一詞更多地被用在計算機、通信等領域。
基於共享密鑰
基於共享密鑰的身份驗證是指伺服器端和用戶共同擁有一個或一組密碼。當用戶需要進行身份驗證時,用戶通過輸入或通過保管有密碼的設備提交由用戶和伺服器共同擁有的密碼。伺服器在收到用戶提交的密碼后,檢查用戶所提交的密碼是否與伺服器端保存的密碼一致,如果一致,就判斷用戶為合法用戶。如果用戶提交的密碼與伺服器端所保存的密碼不一致時,則判定身份驗證失敗。
使用基於共享密鑰的身份驗證的服務有很多,如:絕大多數的網路接入服務、絕大多數的BBS以及維基百科等等。
基於生物學特徵
基於生物學特徵的身份驗證是指基於每個人身體上獨一無二的特徵,如指紋、虹膜等。
例如Synaptics Natural ID指紋感測器解決方案,對指紋模板數據進行AES256位加密,對於在智能手機上快速部署生物識別身份驗證技術,這種加密方法起到了關鍵作用。
基於公開密鑰加密演演算法
基於公開密鑰加密演演算法的身份驗證是指通信中的雙方分別持有公開密鑰和私有密鑰,由其中的一方採用私有密鑰對特定數據進行加密,而對方採用公開密鑰對數據進行解密,如果解密成功,就認為用戶是合法用戶,否則就認為是身份驗證失敗。
使用基於公開密鑰加密演演算法的身份驗證的服務有:SSL、數字簽名等等。

驗證


PAP 口令驗證協議 是一種簡單的明文驗證方式。NAS(網路接入伺服器,Network Access Server)要求用戶提供用戶名和口令,PAP以明文方式返回用戶信息。很明顯,這種驗證方式的安全性較差,第三方可以很容易的獲取被傳送的用戶名和口令,並利用這些信息與NAS建立連接獲取NAS提供的所有資源。所以,一旦用戶密碼被第三方竊取,PAP無法提供避免受到第三方攻擊的保障措施。CHAP CHAP通過使用MD5(一種工業標準的散列方案)來協商一種加密身份驗證的安全形式。CHAP 在響應時使用質詢-響應機制和單向 MD5 散列。用這種方法,可以向伺服器證明客戶機知道密碼,但不必實際地將密碼發送到網路上。MS-CHAP 同CHAP相似,微軟開發MS-CHAP 是為了對遠程 Windows 工作站進行身份驗證,它在響應時使用質詢-響應機制和單向加密。而且 MS-CHAP 不要求使用原文或可逆加密密碼。MS-CHAP v2 MS-CHAP v2是微軟開發的第二版的質詢握手身份驗證協議,它提供了相互身份驗證和更強大的初始數據密鑰,而且發送和接收分別使用不同的密鑰。如果將VPN連接配置為用 MS-CHAP v2 作為唯一的身份驗證方法,那麼客戶端和伺服器端都要證明其身份,如果所連接的伺服器不提供對自己身份的驗證,則連接將被斷開。VPN服務端和VPN客戶端之間一定要採用相同的身份驗證,比如VPN服務端選擇了MS-CHAP2,那麼相應的VPN客戶端也要選擇MS-CHAP2,否則無法連接。PAP口令驗證協議。由於是明文的。極為不安全,一般不採取這個方式!

掃描方式


事先知道身份驗證進行掃描的系統
這可能包括所有Windows和基於Linux的系統,或者少數計算機部分(例如伺服器或工作組)。此外,請務必考慮掃描Web應用、資料庫以及允許或要求通過Telnet、FTP、SSH和SNMP等協議的身份驗證的所有網路主機。很多商業漏洞掃描儀(例如Nexpose和LanGuard)提供了各種方法來進行掃描。如果你網路外部的黑客或者內部的惡意用戶都開始使用身份驗證掃描,那麼你也需要這樣做。
確定想要掃描何種用戶角色水平
筆者建議至少使用管理員或根級登錄憑證進行掃描;這樣你將會發現大部分漏洞。然而,通過不同用戶角色進行掃描(例如經理級別角色或基本用戶角色),你可以更好地了解每個用戶組可以看到和利用的資源。在一定程度上,你測試的用戶角色越多,你得到的結果會越好(不過在某種情況下將會出現收效遞減的規律)。當你看到你的結果不再根據許可權而變化時,你會知道什麼時候該適可而止。
為身份驗證掃描設置用戶賬號
這樣在首次登錄時不會要求更改密碼(這是Active Directory組策略和一些web應用的通用設置)。如果你忘記了這一點,你的掃描儀首次登錄時將會提示你更改密碼,當然這無法做到。你可能不知道這個情況,然後繼續進行掃描。幾分鐘后(可能更長時間),你會意識到身份驗證無法使用,你將需要重新開始進行掃描。通過web漏洞掃描儀,你可能需要創建一個登錄宏以允許你測試。出於某種原因,大多數網路漏洞掃描儀不會提供選項以在你開始掃描前測試你的登錄憑證。筆者所知道的唯一具有這種功能的兩個掃描儀是老的Harris STAT掃描儀和Rapid7的Nexpose。這一點似乎是老生常談,但從長期來看,這個功能可以為你節省大量時間和避免很多麻煩。
先確保對網路主機的身份驗證漏洞掃描
這就是說,這可能會在生產環境產生問題,特別是當掃描web應用時。無論你在掃描什麼,都會消耗CPU、磁碟和網路周期,日誌文件和資料庫可能會被填滿,用戶賬號可能被鎖定等。筆者建議首先在一個或兩個系統上運行身份驗證掃描,看看會帶來什麼副作用,再擴展到掃描成千上萬個系統。
按照漏洞的排序方式來生成電子表格報告
在身份驗證掃描期間發現的安全漏洞可能非常多,特別是當查看傳統PDF報告中的結果時。筆者發現,按照漏洞的排序方式來生成HTML或電子表格報告是查看發現結果的最佳方法。當你整理漏洞結果時,你可以通過能夠更簡單更清楚地看清事物(例如每個漏洞所影響的主機或網頁)而節省大量時間,並且可以更簡單地生成最終報告或修復計劃,而不是一次查看一台主機。
使用漏洞掃描儀來正確地執行漏洞掃描類似於使用數碼單反相機拍攝照片。任何人都可以使用這個工具,但這並不意味著你知道如何有效地利用它,而且也不能保證取得積極的效果。