1. 程式人生 > >IIS的各種身份驗證詳細測試

IIS的各種身份驗證詳細測試

一、IIS的身份驗證概述

1匿名訪問

2整合windows身份驗證

2.1.NTLM驗證

2.2.Kerberos驗證

3基本身份驗證

二、匿名訪問

三、Windows整合驗證

1NTLM驗證過程

1.1.客戶端選擇NTLM方式

1.2.服務端返回質詢碼

1.3.客戶端加密質詢碼再次傳送請求

1.4.服務端驗證客戶端使用者和密碼

2Kerberos驗證過程

2.1.客戶端選擇Kerberos驗證

2.2.服務端驗證身份驗證票

3客戶端和伺服器不在域中

3.1.客戶端用ip地址訪問服務

3.1.1.客戶端IE申請頁面

3.1.2.服務端返回無授權迴應

3.1.3.客戶端選擇NTLM驗證,要求輸入使用者名稱密碼,請求質詢碼

3.1.4.伺服器返回質詢碼

3.1.5.客戶端傳送使用前面輸入賬戶的密碼加密的質詢碼

3.1.6.服務端驗證通過,返回資源

3.2.客戶端用機器名訪問伺服器登入使用者名稱/口令跟伺服器匹配

3.2.1.客戶端IE申請頁面

3.2.2.服務端返回無授權迴應

3.2.3.客戶端選擇NTLM驗證,請求質詢碼

3.2.4.伺服器返回質詢碼

3.2.5.客戶端傳送用登陸本機的賬戶加密後的質詢碼

3.2.6.服務端返回無授權迴應

3.2.7.客戶端及選選擇NTLM驗證,要求輸入使用者名稱和口令,再次請求質詢碼

3.2.8.服務端返回質詢碼

3.2.9.客戶端傳送使用前面輸入賬戶的密碼加密的質詢碼

3.2.10.服務端驗證通過,返回資源

3.3.客戶端用機器名訪問伺服器登入使用者名稱/口令跟伺服器匹配

3.3.1.客戶端IE申請頁面

3.3.2.服務端返回無授權迴應

3.3.3.客戶端選擇NTLM驗證,請求質詢碼

3.3.4.伺服器返回質詢碼

3.3.5.客戶端傳送用登陸本機的賬戶加密後的質詢碼

3.3.6.服務端驗證通過,返回資源

4客戶端和伺服器都在同一域中

4.1.客戶端用機ip訪問伺服器

4.1.1.客戶端IE申請頁面

4.1.2.服務端返回無授權迴應

4.1.3.

客戶端選擇NTLM驗證,要求輸入使用者名稱密碼,請求質詢碼

4.1.4.伺服器返回質詢碼

4.1.5.客戶端傳送使用前面輸入賬戶的密碼加密的質詢碼

4.1.6.服務端驗證通過,返回資源

4.2.客戶端用機器名訪問伺服器客戶端使用者以域賬戶登入

4.2.1.客戶端IE申請頁面

4.2.2.服務端返回無授權迴應

4.2.3.客戶端選擇Kerberos驗證,傳送驗證票到服務端

4.2.4.服務端驗證通過,返回資源

4.3.客戶端用機器名訪問伺服器客戶端使用者以客戶端本地使用者登入使用者名稱/口令跟伺服器賬戶不匹配

4.3.1.客戶端IE申請頁面

4.3.2.服務端返回無授權迴應

4.3.3.客戶端選擇NTLM驗證,請求質詢碼

4.3.4.伺服器返回質詢碼

4.3.5.客戶端傳送用登陸本機的賬戶加密後的質詢碼

4.3.6.服務端返回無授權迴應

4.3.7.客戶端及選選擇NTLM驗證,要求輸入使用者名稱和口令,再次請求質詢碼

4.3.8.服務端返回質詢碼

4.3.9.客戶端傳送使用前面輸入賬戶的密碼加密的質詢碼

4.3.10.服務端驗證通過,返回資源

4.4.客戶端用機器名訪問伺服器客戶端使用者以客戶端本地使用者登入,使用者名稱/口令跟伺服器賬戶匹配

4.4.1.客戶端IE申請頁面

4.4.2.服務端返回無授權迴應

4.4.3.客戶端選擇NTLM驗證,請求質詢碼

4.4.4.伺服器返回質詢碼

4.4.5.客戶端傳送用登陸本機的賬戶加密後的質詢碼

4.4.6.服務端驗證通過,返回資源

5整合驗證總結

5.1.客戶端以ip地址訪問伺服器

5.2.伺服器在域,客戶端以域帳號登陸

5.3.其他情況IE都選擇採用NTLM驗證方式。

四、基本身份驗證

1客戶端IE申請頁面

2服務端返回無授權迴應,並告知客戶端要求基本身份驗證

3戶端彈出對話方塊要求輸入使用者名稱和密碼

4服務端驗證通過,返回資

一、IIS的身份驗證概述

IIS具有身份驗證功能,可以有以下幾種驗證方式:

這種方式不驗證訪問使用者的身份,客戶端不需要提供任何身份驗證的憑據,服務端把這樣的訪問作為匿名的訪問,並把這樣的訪問使用者都對映到一個服務端的賬戶,一般為IUSER_MACHINE這個使用者,可以修改對映到的使用者:

clip_image001

2、整合windows身份驗證

這種驗證方式裡面也分為兩種情況

這種驗證方式需要把使用者的使用者名稱和密碼傳送到服務端,服務端驗證使用者名稱和密碼是否和伺服器的此使用者的密碼一致。使用者名稱用明碼傳送,但是密碼經過處理後派生出一個8位元組的key加密質詢碼後傳送。

這種驗證方式只把客戶端訪問IIS的驗證票傳送到IIS伺服器,IIS收到這個票據就能確定客戶端的身份,不需要傳送使用者的密碼。需要kerberos驗證的使用者一定是域使用者。

每一個登入使用者在登入被驗證後都會被域中的驗證伺服器生成一個票據授權票(TGT)作為這個使用者訪問其他服務所要驗證票的憑證(這是為了實現一次登入就能訪問域中所有需要驗證的資源的所謂單點登入SSO功能),而訪問IIS伺服器的驗證票是通過此使用者的票據授權票(TGT)向IIS獲取的。之後此客戶訪問此IIS都使用這個驗證票。同樣訪問其他需要驗證的服務也是憑這個TGT獲取該服務的驗證票。

下面是kerberos比較詳細的原理。

Kerberos原理介紹:

工作站端執行著一個票據授權的服務,叫Kinit,專門用做工作站同認證伺服器Kerberos間的身份認證的服務。

1.使用者開始登入,輸入使用者名稱,驗證伺服器收到使用者名稱,在使用者資料庫中查詢這個使用者,結果發現了這個使用者。

2.驗證伺服器生成一個驗證伺服器跟這個登入使用者之間共享的一個會話口令(Session key),這個口令只有驗證伺服器跟這個登入使用者之間使用,用來做相互驗證對方使用。同時驗證伺服器給這個登入使用者生成一個票據授權票(ticket-granting ticket),工作站以後就可以憑這個票據授權票來向驗證伺服器請求其他的票據,而不用再次驗證自己的身份了。驗證伺服器把{ Session key ticket-granting ticket }用登入使用者的口令加密後發回到工作站。

3.工作站用自己的口令解密驗證伺服器返回的資料包,如果解密正確則驗證成功。解密後能夠獲得登入使用者與驗證伺服器共享的Session key和一張ticket-granting ticket

到此,登入使用者沒有在網路上傳送口令,通過驗證伺服器使用使用者口令加密驗證授權票的方法驗證了使用者,使用者跟驗證伺服器之間建立了關係,在工作站上也儲存來相應的身份證明,以後要是用網路中的其他服務,可以通過這個身份證明向驗證伺服器申請相應伺服器的服務票,來獲得相應服務身份驗證。

4.

相關推薦

IIS各種身份驗證詳細測試

一、IIS的身份驗證概述 1、匿名訪問 2、整合windows身份驗證 2.1.NTLM驗證 2.2.Kerberos驗證 3、基本身份驗證 二、匿名訪問 三、Windows整合驗證 1、NTLM驗證過程 1.1.客戶端選擇NTLM方式 1.2.服務端返回

使用SoapUI測試windows身份驗證的webservice

.com ntlm tps 機器 soap windows rdquo mat 設置   有個朋友問到用soapui測試wcf服務時如果使用windows身份驗證要怎麽傳輸憑據,於是自己試了一下。其實服務端是wcf還是webservice還是webapi都無所謂,關鍵是wi

jmeter接口測試:添加cookie以及身份驗證

pos 服務 http請求 用戶 還需要 驗證 jmeter 以及 我們 我們同樣選擇新增一個HTTP請求,具體步驟參考:https://www.cnblogs.com/miyuki/p/9085381.html web服務器中填寫信息 ①服務器名或ip:直接輸入服務器

IIS 訪問需要使用者名稱和密碼 (需要進行身份驗證

(1)故障描述:在IIS下發布了某個站點某些頁面檔案,我們姑且設定為1.htm,通過IIS裡面的瀏覽功能檢視頁面能夠順利訪問裡面的內容。同時我們從訪問地址處看到資訊為http://localhost/1.htm。(如圖1)    接下來在其他計算機或更改本機訪問地址為自身

通過Ajax實現不顯示登入框的IIS-Windows整合身份驗證登入

<script type="text/javascript" language="javascript"> function Authen() { var location = "http://192.168.0.241/

網站通過Windows身份驗證連線SQL Server,釋出到IIS後無法連線的問題

作業系統使用的是WIN7,IIS版本為7.5,其他IIS版本未做測試,不一定適用本文所述方法。 之前用ASP.NET做了一個小網站,通過Windows身份驗證來連線SQL Server資料庫。 在開發環境中使用時也一直沒有問題。 然而,把網站釋出到IIS上進行測試的時候出

Token:服務端身份驗證的流行方案

rst 服務 方案 app 過程 組件圖 wav hit margin 01- 身份認證 服務端提供資源給客戶端,但是某些資源是有條件的。所以服務端要能夠識別請求者的身份,然後再判斷所請求的資源是否可以給請求者。 token是一種身份驗證的機制,初始時用戶提交賬號數據

asp.net mvc 最簡單身份驗證 [Authorize]通過的標準

dmi api 什麽 rgs new auth 單身 mar name [Authorize] public ContentResult Index2() { return Content("驗證通過了");

一個非常詳細測試上傳的姿勢

類型 原理 失望 php src dst gpa 小寫 普通 【情況】上傳點界面:這個上傳點只有一個界面,且上傳後會自動刪除。成功突破會返回一串秘鑰。上傳點抓包界面如下:上傳一個普通圖片,返回路徑upload/20160226222154_920.jpg可以看到,整個上傳包

spring boot 項目登錄模塊之身份驗證

ots security log space 求和 pri boot ace 數據 最近領導安排做一個微餐廳項目,需要做幾個網頁來管理數據,首先要寫一個登錄模塊,主要關註登錄成功後session中數據的存放與校驗,以及攔截器。 在網上找了挺多,找到了一篇比較簡單易懂的htt

上網行為管理AD域集成windos身份驗證SSO單點登錄

上網行為管理 一、背景需求 在大型公司項目上會使用到AD域集成windos身份驗證SS0單點登錄,而不同用戶有不同的環境,不同環境就會有不同的驗證需求,使用微軟AD域進行用戶身份驗證,會經常出現在客戶的需求中。 二、網域上網行為管理集成windos身份驗證功能。

asp.net core的身份驗證框架IdentityServer4特性一覽

google 工作流 定制 聯合 特性 tor 中控 www directory IdentityServer4是ASP.NET Core的一個包含OpenID和OAuth 2.0協議的框架。OpenID和OAuth 的區別請看 https://www.zhihu.com/

RDO遠程連接時提示“遠程計算機需要網絡級別身份驗證,而您的計算機不支持該驗證,請聯系您的系統管理員或者技術人員來獲得幫助”

tro 限制 edit 重啟 註冊 屏幕 重裝 controls border 當服務器重裝操作系統後使用RDO遠程連接時會出現錯誤提示“遠程計算機需要網絡級別身份驗證,而您的計算機不支持該驗證,請聯系您的系統管理員或者技術人員來獲得幫助” 如下圖所示

物聯網智能硬件設備身份驗證機制

方法 成功 諸多 連接 生成 過程 多次 物聯網 以及 設備身份驗證有以下目標:1,別人的設備不能接入我們的雲平臺2,我們的設備,不能接入別人的雲平臺3,考慮到設備要批量生產,雲平臺先生成設備編碼再寫入每個設備的方法,非常不現實!那麽,標準的設備身份驗證應該是:1,設備上電

自定義身份驗證

img home then mod 授權 寫入 clas ring tag 註: 本帖來源於 博主: 農碼一生; 本帖記錄純屬自己閱讀方便 第一步: 寫入cookie 第二步獲取cookie , 配置文件需要配置 <system.web> <auth

Shiro:學習筆記(1)——身份驗證

wan param import println cal 類型 classname zhang ets Shiro——學習筆記(1) 1.核心概念 1.Shiro不會自己去維護用戶、維護權限;這些需要我們自己去設計/提供;然後通過相應的接口註入給Shiro。2.應用代碼直接

asp.net Web API 身份驗證 不記名令牌驗證 Bearer Token Authentication 簡單實現

驗證 tca star ati manager ace .com return public 1. Startup.Auth.cs文件 添加屬性 1 public static OAuthBearerAuthenticati

Java企業微信開發_09_身份驗證之移動端網頁授權(有完整項目源碼)

.com post請求 ati errcode http nbsp code repl button 註: 源碼已上傳github: https://github.com/shirayner/WeiXin_QiYe_Demo 一、本節要點 1.1 授權回調域(可信

webAPI身份驗證

-1 頁面 1-1 攔截 all 身份驗證 技術分享 接收 owa 主要分為以下幾個步驟 1.頁面首次請求API接口之前需要先請求一個獲取ticket的接口 2.這裏我以ajax請求為例 ,首先通過用戶名和和密碼向接口發送一個請求,如下圖 3.後臺返回給頁面一個加密的t

基於 Token 的身份驗證

問題 for tar dci 返回 name 主題 算法 sha2 最近了解下基於 Token 的身份驗證,跟大夥分享下。很多大型網站也都在用,比如 Facebook,Twitter,Google+,Github 等等,比起傳統的身份驗證方法,Token 擴展性更強,也更安