日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

配置Apache Basic和Digest认证

發布時間:2024/1/23 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 配置Apache Basic和Digest认证 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載:http://blog.jobbole.com/41519/

在伯樂在線看到一篇《在Nginx下對網站進行密碼保護》文章, 正好和自己這兩天研究的問題有些相同點。我側重研究的是如何破解。雖然在那篇文章中注明密碼是加密存儲的, 但是他忽略了一點就是密碼在網絡中傳輸是明文傳輸的,所以那種加密方式不可取。

下面就是我對Apache用戶認證的一些理解。

Apache常見的用戶認證可以分為下面三種:

  • 基于IP,子網的訪問控制(ACL)
  • 基本用戶驗證(Basic Authentication)
  • 消息摘要式身份驗證(Digest Authentication)

訪問控制

訪問控制不屬于這篇文章討論的范圍.

基本身份驗證

原理:
一個頁面訪問請求

GET /auth/basic/ HTTP/1.1

Host: target

Web服務器要求用書輸入用戶憑據(服務器返回401響應頭和’realm’)

HTTP/1.1 401 Authorization Required

Date: Sat, 08 Jun 2013 12:52:40 GMT

WWW-Authenticate: Basic realm="Basic auth Dir"??????????

Content-Length: 401

Keep-Alive: timeout=15, max=100

Connection: Keep-Alive

Content-Type: text/html; charset=iso-8859-1

瀏覽器彈出登錄窗口(包含’realm’),要求用提供用戶名/密碼

GET /auth/basic/ HTTP/1.1

Host: target

Authorization: Basic TGVuZ1dhOjEyMzQ1Ng==?????? //Basic后面就是LengWa:123456經過Base64編碼后的字符串

服務器將用戶輸入的憑據和服務器端的憑據進行比較。如果一直則返回所請求頁面的響應。

配置: – 以保護/data/www/auth/basic為例

Step 1: 創建密碼文件,并添加第一個用戶。

/usr/local/apache/bin> ./htpasswd -c /data/www/auth/basic/user.txt LengWa

New password:??

Re-type new password:??

Adding password for user LengWa

-c = create file

常規添加不要使用-c選項,因為它會覆蓋現有的文件。

設置文件所有權和權限(root可以進行讀寫,Apache Group只可以讀取)

/data/www/auth/basic > ls -l

-rw-r-----?? 1 root???? httpd????...?? user.txt

注意: 在密碼文件中,密碼是加密存貯的(eg: LengWa:$apr1$MBvROZKM$wP.pdlMonB0P4xGZwl.8G0)。但是在網絡中是明文傳輸的。

Step 2: 配置httpd.conf

<Directory "/data/www/auth/basic">
? ? Options Indexes FollowSymLinks
? ? allowoverride authconfig
? ? order allow,deny
? ? allow from all
</Directory>

Step3: 編輯/data/www/auth/basic/.htaccess

AuthName "Basic Auth Dir"
AuthType Basic
AuthUserFile /data/www/auth/basic/user.txt
require valid-user

重新啟動Apache服務器,訪問 http://127.0.0.1/auth/basic/ 驗證加密。

我前面說過這種加密在網絡中傳輸時是明文傳輸 Base64 編碼,我不認為這是一種加密算法)的。如果你感興趣,可以抓包看看。

消息摘要式身份驗證(Digest Authentication)

原理:

Digest Authentication在基本身份驗證上面擴展了安全性. 服務器為每一連接生成一個唯一的隨機數, 客戶端對用這個隨機數對密碼進行MD5加密. 然后發送到服務器. 服務器端也用此隨機數對密碼加密, 然后和客戶端傳送過來的加密數據進行比較.

一個頁面訪問請求

GET /auth/basic/??HTTP/1.1

Host: target

Web服務器要求用書輸入用戶憑據(服務器返回401響應頭和’realm’)

HTTP/1.1 401 Unauthorized

WWW-Authenticate: Digest realm="Digest Encrypt",

nonce="nmeEHKLeBAA=aa6ac7ab3cae8f1b73b04e1e3048179777a174b3",

opaque="0000000000000000", \

stale=false,

algorithm=MD5,

qop="auth"
?

瀏覽器彈出登錄窗口(包含’realm’), 要求用提供用戶名/密碼

GET /auth/digest/ HTTP/1.1

????Accept: */*

????Authorization:??Digest username="LengWa",

????realm="Digest Encrypt",

????qop="auth",

????algorithm="MD5",

????uri="/auth/digest/",

????nonce="nmeEHKLeBAA=aa6ac7ab3cae8f1b73b04e1e3048179777a174b3",

????nc=00000001,

????cnonce="6092d3a53e37bb44b3a6e0159974108b",

????opaque="0000000000000000",

????response="652b2f336aeb085d8dd9d887848c3314"

服務器將用戶輸入加密后的憑據和服務器端加密后的的憑據進行比較.如果一致則返回所請求頁面的響應.

配置:

Step 1: 創建密碼文件

語法:

htdiget [-c] passwordfile realm username

?

/usr/local/apache/bin> ./htdigest -c /data/www/auth/digest/ "Digest Encrypt" LengWa

Adding password for LengWa in realm "Digest Encrypt" .

New password:

Re-type new password:

-c = create file

常規添加不要使用-c選項, 因為它會覆蓋現有的文件.

設置文件所有權和權限(root可以進行讀寫, Apache Group只可以讀取)

/data/www/auth/digest/ > ls -l

-rw-r-----?? 1 root???? httpd????...?? user.txt

user.txt格式: LengWa:Digest Encrypt:d95ea4412b0fb517b25c4c46f32e5a2b

Step2: 配置httpd.conf

<Directory "/data/www/auth/digest">

????Options Indexes FollowSymLinks

????AuthType Digest

????AuthName "Digest Encrypt"?????????? //注意這里的AuthName和上面的realm必須一致(而Basic驗證則可以不同). 否則你輸入正確的用戶密碼也無法通過認證

????AuthDigestProvider file

????AuthUserFile /data/www/auth/digest/user.txt

????require valid-user

</Directory>

現在基于Digest的驗證環境就搭建好了.

注: 在Basic驗證中. 我使用了.htaccess 而在Digest驗證中我沒有使用. 只是為了個人的需要. 你可以根據自己需要進行配置.

疑惑: 對于在配置Digest httpd.conf時, AuthName 必須和上面的realm還是不是很明白. 為什么必須一致. 如果有哪位大神知道. 望不吝賜教。

總結:

Basic驗證方式配置相對簡單,但是安全性太低,不適合一些加密要求比較高的站點。

Digest則相反,加密性是很高,但是配置起來還是有一點難度的,所以大家根據自己需要,選擇不同的加密方式。

?

參考文章:

  • Apache Basic and Digest Authentication(注: 此文配置Digest的httpd.conf有一處錯誤, AuthDigestFile 改為 AuthUserFile)
  • Testing for Brute Force
  • The WWW-Authenticate Response Header
  • ?

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的配置Apache Basic和Digest认证的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久久久全国免费视频 | 国产精品久久久久久中文字 | 亚洲精品免费观看 | 亚洲国产欧美精品 | 成人黄色大片在线观看 | 在线观看国产三级 | 色婷婷av一区二区三区四区 | 欧美日韩成人在线观看 | 黑人巨大猛交丰满少妇 | 日韩精品――色哟哟 | 久久久久久久久久久久久久 | 国产日韩激情 | 免费在线黄色网 | 全部免费毛片在线播放一个 | 久久视频免费看 | 成人高清免费观看 | 中文字幕乱码中文乱码777 | 国产精品一区二区av日韩在线 | 中文字幕一区二区久久人妻网站 | 欧美涩色 | 又大又粗又爽18禁免费看 | 足疗店女技师按摩毛片 | 波多野结衣不卡 | 亚洲男人天堂视频 | 天天干天天玩 | 国产精品一区二区三区久久久 | 亚洲毛片精品 | 性一交一乱一色一视频麻豆 | 日韩一卡二卡三卡 | 97爱爱| 又黄又色又爽的视频 | 午夜啪啪福利视频 | 日本www色 | 天狂传说之巴啦啦小魔仙 | 日本免费小视频 | 日本一区二区三区免费电影 | 男女乱淫 | 国产欧美日韩视频在线观看 | 精品美女久久久久 | 日本免费一区二区三区最新 | 欧美日韩在线中文字幕 | h片在线观看网站 | 久久69 | 欧美人禽杂交狂配 | 国产成人精品123区免费视频 | 欧美性免费 | 日本久操 | 精品在线免费播放 | 婷婷亚洲精品 | 久久久成人免费视频 | 精品国产露脸精彩对白 | 特级做a爱片免费69 少妇第一次交换又紧又爽 亚洲大胆人体 | 一级二级三级黄色片 | 91视频国产一区 | av天天操 | 啪啪资源| 性欢交69精品久久久 | 久久福利网 | 337p亚洲欧洲色噜噜噜 | 男女瑟瑟网站 | 免费看一级片 | 97福利视频| av中文字幕一区 | 电家庭影院午夜 | 99久久精品国产亚洲 | 国产视频手机在线 | 女生下面流水视频 | 在线看片你懂 | 国产av无码国产av毛片 | 欧美日韩人妻精品一区 | 亚洲精品国产精品国自产 | 国产区免费观看 | 日韩中文字幕精品 | 国产a自拍| 日韩有码第一页 | 成人免费网站在线观看 | 色悠悠久久综合 | 黑人操日本女优 | 五月婷中文字幕 | 欧美91| 九七av| 国模精品视频一区二区 | 欧美字幕| 国产高清自拍一区 | 快射视频网 | 毛片xxx| 五月天丁香久久 | 欧美午夜一区 | 欧美人妻一区二区 | 亚洲高清无码久久久 | 亚洲涩涩图 | 超碰激情在线 | 光明影院手机版在线观看免费 | 免费在线看黄网站 | 麻豆影视av | 亚洲最大av | 日本五十肥熟交尾 | 亚洲欧美精品午睡沙发 | 久久久国际精品 |