溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Apache的站點安全技術

發布時間:2020-07-26 09:21:09 來源:網絡 閱讀:380 作者:路邊 欄目:安全技術

在實驗中web服務器地址為:192.168.80.10,客戶機地址為192.168.80.200

實驗目的:能夠控制用戶對該web服務器訪問。
[root@localhost ~]# yum --disablerepo=* --enablerepo=c6-media install httpd

安裝httpd服務
為了實現身份驗證在/etc/httpd/conf/httpd.conf 第336行改為“AllowOverride all”

在/var/www/html/目錄下編輯一個名稱為.htaccess的說明文件,此文件必須在站點主目錄下,內容編輯如下:
authuserfile  /var/www/.htpasswd
authname "please in put your name and password"
authtype        basic
require         valid-user
上邊的只是一個說明文件,接下來要產生一個賬號庫文件:
這里需要一個工具htppasswd來產生 ,此工具在/usr/bin/目錄下
直接執行此工具:
[root@localhost www]# htpasswd -c .htpasswd abc ,然后會提示兩次輸入密碼123
在當前目錄下生成一個名稱為.htpasswd的文件,并寫入一個賬號為abc密碼為123的用戶 
如果要再次寫入一個用戶的話 就不用加-c了,-c是表示創建一個新文件。     
[root@localhost html]# echo 'hello' >index.html
在當前目錄下建立一個靜態網頁名稱為index.html,并寫入一個單詞 “hello”
重啟httpd服務:
[root@localhost html]# service httpd restart
然后在一個與本地地址同網段的pc瀏覽器中登陸http://192.168.80.10
發現需要輸入賬號和密碼:
輸入賬號:abc密碼:123
進入后可以看到如下界面:

Apache的站點安全技術

Apache的站點安全技術


也可以同過對訪問地址來源來限制訪問:
在/etc/httpd/conf/httpd.conf 第341行至343行修改如下:
只允許地址為192.168.80.200的主機訪問,而別的地址不可訪問。
Order allow,deny
    Allow from 192.168.80.200
    Deny from  any
注:在這里allow和deny的順序一定要一致。
我把剛才那臺主機地址改為192.168.80.201,此時發現已經不可訪問此站點:

Apache的站點安全技術

而把地址改回來之后又可繼續訪問了。

Apache的站點安全技術

接下來我要在linux系統中使用openssl來實現CA的安裝和CA的發放:
[root@localhost html]# rpm -qa |grep openssl
首先查看一下系統中有沒有安裝apenssl,如果沒有可以自行安裝,這里不詳細說了
進入/etc/pki/ PKI-公鑰基礎設施
查看/etc/pki/tls/下的openssl.conf ,這是openssl的配置文件:

[root@localhost tls]# vim openssl.cnf 
查看40至53行:

Apache的站點安全技術

如果有些文件/目錄沒有的話就自己創建一個:

我的系統中/etc/pki/CA目錄下的文件有這些:

Apache的站點安全技術

所以要做以下的一些步驟:

[root@localhost CA]# openssl genrsa 1024 >private/cakey.pem
在當前目錄的private目錄下用openssl產生一個用rsa加密算法加密的1024為的私鑰,文件名稱為cakey.pem(這個文件名稱必須和openssl.conf里的文件名稱相同)
[root@localhost CA]# chmod 600 private/cakey.pem 
因為私鑰是保密的,只能由管理員一個人可以訪問所以改變它的權限
此時可以在 文件的128至139行修改如下,這是修改一些默認值,以免每次請求產生證書都要填寫,當然也可以不該,在請求時自行填寫:

在這里還需要填寫一些別的資料,(我這里都是隨便填寫的):

Apache的站點安全技術

 

[root@localhost CA]# openssl req -new -key private/cakey.pem -x509 -out cacert.pem 

請求產生一個證書,證書上的公鑰從私鑰上提取,證書格式為-x509,名稱為cacert.pem(這個文件名稱必須和openssl.conf里的文件名稱相同)
Apache的站點安全技術

到這里證書已經產生成功:

 

接下來要產生web的私鑰:
[root@localhost CA]# mkdir -pv /etc/httpd/certs
mkdir: created directory `/etc/httpd/certs'
[root@localhost CA]# cd /etc/httpd/certs/
[root@localhost certs]# openssl genrsa 1024 >httpd.key
產生一個httpd.key的私鑰文件。
[root@localhost certs]# chmod 600 httpd.key
改變權限
編輯openssl.conf文件:將其中的85行至87行修改如下:
將match改為optional

Apache的站點安全技術

這樣可以使所有國家和單位的人都可以請求證書。
[root@localhost certs]# openssl req -new -key httpd.key -out httpd.crq
產生一個名為httpd.crq的請求文件,因為這個不是私鑰文件,所以不用加-x509

Apache的站點安全技術

有了請求文件之后,可以基于請求文件來申請一份證書,產生的證書名稱為httpd.cert:

[root@localhost certs]# openssl ca -in httpd.crq -out httpd.cert

Apache的站點安全技術


這時查看/etc/pki/CA/index.txt文件,發現已經多了一條記錄:
[root@localhost CA]# cat index.txt

Apache的站點安全技術

接下來要把web和證書綁定:
此時要調用一個模塊:mod_ssl
如果沒有的話自行安裝一個mod_ssl,安裝后就會有一個mod_ssl.so文件
在這個目錄下:

Apache的站點安全技術

[root@localhost CA]# vim /etc/httpd/conf.d/ssl.conf 
編輯此文件
將第105行修改為  SSLCertificateFile /etc/httpd/certs/httpd.cert  指明證書目錄
將第112行修改為 SSLCertificateKeyFile /etc/httpd/certs/httpd.key  指明秘鑰目錄

重新啟動httpd服務后,查看端口發現明文端口與加密端口都已開啟:
[root@localhost CA]# netstat -tupln |grep http

Apache的站點安全技術

再到本地ip地址為192.168.80.200的主機中把C:\WINDOWS\system32\drivers\etc目錄下的hosts中添加一句:
192.168.80.10   www.abc.com

這是告訴這臺主機,地址192.168.80.10的名稱是www.abc.com,然后登陸http://www.abc.com,發現有提示證書是不可信任的:

進入到/etc/httpd/conf.d/ssl.conf,編輯此文件

[root@localhost CA]# vim /etc/httpd/conf.d/ssl.conf 
將第120行修改為 SSLCertificateChainFile /etc/pki/CA/cacert.pem

在進入到客戶主機中,點擊安裝證書:

Apache的站點安全技術

然后可以在Internet“屬性”》“內容”》“證書”》“受信任的根證書頒發機構”中可以看到有一個abc.org.cn頒發的證書:

Apache的站點安全技術

Apache的站點安全技術

此時再次重新訪問http://www.abc.com;

Apache的站點安全技術

Apache的站點安全技術

無任何提示信息,并且訪問成功!

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女