《白帽子講WEB安全》學習筆記之第10章 訪問控制

2021-09-21 00:15:29 字數 996 閱讀 7811

許可權控制是值某個主體(身份)對某乙個客體需要實施某種操作,而系統對這種操作的限制就是許可權控制。

在乙個安全系統中,確定主題的身份是「認證」解決的問題;而客體是胭脂紅資源,是主題發起的請求物件。在主體對客體進行操作的過程,系統控制主體不能「無限制」地對客體進行操作,這過程就是「訪問控制」。

在web應用中,根據訪問楷體的不同,常見的訪問控制可以分為「基於url的訪問控制」、「基於方法的訪問控制」和「基於資料的訪問控制」。

在web系統中對於使用者的許可權控制需要在過濾器中進行檢測。

垂直許可權管理本質就是基於角色的訪問控制(rbac)。

spring security提供了兩種許可權管理方式,一種是「基於url的訪問控制」,另一種「基於方法的訪問控制」。換句話說就是,在springsecurity都是驗證該使用者所屬的角色,以決定是否授權。

水平許可權是指在同一角色的不同使用者的許可權控制問題。相對於垂直許可權管理而言,水平許可權問題出現在同乙個角色上,一般的系統只是驗證了角色,沒有在角色內的使用者做細分,也沒有對資料的子集做細分,因此缺乏乙個使用者到資料之間的對應關係。

由於水平許可權管理是系統缺乏乙個資料級的訪問控制所造成的,因此水平許可權管理又可以稱為「基於資料的訪問控制」。

水平許可權管理難度較大的原因:

對於資料的訪問控制,與業務結合得十分緊密,不易細分;

資料的訪問控制可能會涉及到各個方面,如跨表、跨庫查詢,影響效能。

oauth協議為使用者資源的授權提供了乙個安全的、開放而又簡易的標準。與以往的授權方式不同之處是oauth的授權不會使第三方觸及到使用者的帳號資訊(如使用者名稱與密碼),即第三方無需使用使用者的使用者名稱與密碼就可以申請獲得該使用者資源的授權,因此oauth是安全的。

特點: (1). 簡單:不管是oauth服務提供者還是應用開發者,都很易於理解與使用;

(2). 安全:沒有涉及到使用者金鑰等資訊,更安全更靈活;

(3). 開放:任何服務提供商都可以實現oauth,任何軟體開發商都可以使用oauth;

參看:spring-security-oauth2.0認證

《白帽子講Web安全》 學習筆記

最近加入新公司後,公司的官網突然被google標記為了不安全的詐騙 一時間我們資訊科技部門成為了眾矢之的,雖然老官網並不是我們開發的 因為開發老官網的前輩們全都跑路了 我們花了很多時間做web安全掃瞄以及修復,在檢查和修復過程中,發現老系統的 的不可維護性 再次說明整潔 之道clean code的重...

《白帽子講Web安全》 學習筆記之注入攻擊

注入攻擊的本質是,把使用者輸入的資料當作 執行。有兩個關鍵的條件 一是使用者能夠控制輸入 二是原本程式要執行的 拼接了使用者輸入的資料。1 sql注入 sql注入,就是通過把sql命令插入到web表單提交或輸入網域名稱或頁面請求的查詢字串,最終達到欺騙伺服器執行惡意的sql命令。sql注入攻擊是一種...

《白帽子講Web安全》 學習筆記之訪問控制

1 what can i do?許可權控制,或者說是訪問控制,都是某個主體 subject 對某個客體 object 需要實施某種操作 operation 而系統對這種操作的限制就是許可權控制。在乙個安全系統中,確定主體的身份是 認證 解決的問題 而客體是一種資源,是主體發起的請求的物件。在主體對客...