apache的站點安全
客戶端通過https訪問服務過程詳解:
1,客戶機會通過https訪問web服務器,web服務器向客戶機出示自己的證書。
2,客戶機驗證證書的有效性,包括髮證時間,發證機構,執行者標示。
3,如果客戶機驗證證書通過,客戶機隨機產生128爲的key,再利用證書文件傳遞的public key對該隨機key進行加密。
4,加密後傳送至服務器端,服務器再利用自己的public key對加密的key進行解密,得到客戶機的隨機key值。
5,這時兩端的key值相同,利用該key進行加密通訊。
一.身份驗證
a. 【 directory 指明 站點主目錄】
alloworverride all
【/directory 】
b.在站點的主目錄下面
說明文件 .htaccess
authuserfile /var/www/.htpasswd 表明驗證的庫文件在什麼地方
authname “please input your name and password ” 提示的說明文字
authtype basic 如何驗證用戶身份
require valid-user
c.產生賬號文件
htpassed -c 賬號文件 賬號
二.來源控制
a. 【 directory 指明 站點主目錄】
Order allow,deny
deny from 192.168.2.100
allow from all
https原理
HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全爲目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容請看SSL。
它是一個URI scheme(抽象標識符體系),句法類同http:體系。用於安全的HTTP數據傳輸。https:URL表明它使用了HTTP,但HTTPS存在不同於HTTP的默認端口及一個加密/身份驗證層(在HTTP與TCP之間)。這個系統的最初研發由網景公司進行,提供了身份驗證與加密通訊方法,現在它被廣泛用於萬維網上安全敏感的通訊,例如交易支付方面。
它是由Netscape開發並內置於其瀏覽器中,用於對數據進行壓縮和解壓操作,並返回網絡上傳送回的結果。HTTPS實際上應用了Netscape的安全套接字層(SSL)作爲HTTP應用層的子層。(HTTPS使用端口443,而不是象HTTP那樣使用端口80來和TCP/IP進行通信。)SSL使用40 位關鍵字作爲RC4流加密算法,這對於商業信息的加密是合適的。HTTPS和SSL支持使用X.509數字認證,如果需要的話用戶可以確認發送者是誰。
也就是說它的主要作用可以分爲兩種:一種是建立一個信息安全通道,來保證數據傳輸的安全;另一種就是確認網站的真實性。
https是以安全爲目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,https的安全基礎是SSL。
拓撲圖
實驗環境
web server client
red hat linux 5.4 windows xp
192.168.2.100
rhel 5.4
CA 證書
Windows 認證服務
Linux openca
openssl
庫文件 /lib/libcrypto.so.6 實現加密
/lib/libssl.so.0.9.8e 實現認證
對稱加密 加密 enc
非對稱加密【要有公鑰和私鑰】 rsa
md5 sha
證書
openssl genrsa 1024 >私鑰文件
openssl req -new -key 私鑰文件 -out 請求文件
openssl ca -in 請求文件 -out 證書
實體:私鑰---》請求文件----》證書
根CA 私鑰 證書
Linux CA 【openca】
簡易 openssl 實現
摘要值 openssl
文件 openssl md5/sha 文件名
信息 echo “信息” |openssl md5/sha
sha 160位 md5
實現加密
編輯f1,可以看到裏面是經過加密的字符
編輯f2,可以看到裏面是經過加密的字符
對稱解密
產生私鑰
對私鑰更改權限
公鑰 重私鑰中進行提取
crl_dir 證書吊銷列表 是一個文件
serial 最初發行的證書的序列號
證書的要求
每一次發行證書都會在前一個的基礎上加1
先有私鑰纔有證書
爲自己頒發一份證書
CA證書建好
模塊
產生私鑰
更改權限
查看端口打開沒?
在瀏覽器裏輸入
https://192.168.2.100
在瀏覽器裏的屬性裏查看證書