實(shí)驗(yàn)簡(jiǎn)介
實(shí)驗(yàn)所屬系列:Linux網(wǎng)絡(luò)服務(wù)配置與安全
實(shí)驗(yàn)對(duì)象: 本科/??菩畔踩珜I(yè)、網(wǎng)絡(luò)工程
相關(guān)課程及專業(yè):系統(tǒng)安全配置、服務(wù)器配置、計(jì)算機(jī)網(wǎng)絡(luò)
實(shí)驗(yàn)時(shí)數(shù)(學(xué)分):2學(xué)時(shí)
實(shí)驗(yàn)類別:實(shí)踐實(shí)驗(yàn)類
預(yù)備知識(shí)
虛擬主機(jī)簡(jiǎn)介
虛擬主機(jī)(Virtual Host)是指在一臺(tái)主機(jī)上運(yùn)行的多個(gè)Web 站點(diǎn),每個(gè)站點(diǎn)均有自己獨(dú)立的域名或IP地址。虛擬主機(jī)允許為不同的IP地址、主機(jī)名或同一機(jī)器上的不同端口運(yùn)行不同的服務(wù)器站點(diǎn)。譬如,可以在同一個(gè)web服務(wù)器上使用虛擬主機(jī)來(lái)運(yùn)行 http://www.example.com 和 http://www.anotherexample.com 這兩個(gè)網(wǎng)站。虛擬主機(jī)對(duì)用戶是透明的,就好像每個(gè)站點(diǎn)都在單獨(dú)的一臺(tái)主機(jī)上運(yùn)行一樣。
SSL介紹
默認(rèn)情況下,客戶端使用http協(xié)議訪問(wèn)apache服務(wù)器,服務(wù)器和它的客戶之間的通信就不會(huì)被加密,這并不能保證數(shù)據(jù)傳輸過(guò)程中的安全。對(duì)于索求信用卡信息的電子商務(wù)網(wǎng)站需要更加可靠的傳輸,而SSL加密連接可以幫助瀏覽者更加安全可靠的傳輸數(shù)據(jù)。使用SSL的是HTTPS協(xié)議。
在搭建安全的apache服務(wù)器,配置使用基于SSL的HTTPS協(xié)議之前,先了解一些證書(shū)的一些基本概念。
SSL證書(shū)可以在客戶端瀏覽器和Web服務(wù)器之間建立一條SSL安全通道。首先要有一個(gè)根證書(shū),然后用根證書(shū)來(lái)簽發(fā)服務(wù)器證書(shū)和客戶證書(shū)。SSL必須安裝服務(wù)器證書(shū)來(lái)認(rèn)證,在此環(huán)境中,通常有三個(gè)證書(shū):根證書(shū),服務(wù)器證書(shū),客戶端證書(shū)。在生成證書(shū)之前,一般會(huì)有一個(gè)私鑰,用私鑰生成證書(shū)請(qǐng)求,最后利用證書(shū)服務(wù)器的根證來(lái)簽發(fā)證書(shū)。
實(shí)驗(yàn)?zāi)康?/strong>
Apache是一種開(kāi)放源碼的HTTP服務(wù)器,由于其多平臺(tái)和安全性而被廣泛使用,是最流行的Web服務(wù)器端軟件之一。本實(shí)驗(yàn)首先通過(guò)基本配置演示了如何在redhat linux環(huán)境下搭建多個(gè)基于apache服務(wù)器的虛擬主機(jī)。在此基礎(chǔ)上,進(jìn)一步完成了基于apache服務(wù)器的安全配置,包括基于用戶名的認(rèn)證、基于IP地址的認(rèn)證以及使用https協(xié)議進(jìn)行雙向認(rèn)證的過(guò)程。
實(shí)驗(yàn)環(huán)境
測(cè)試系統(tǒng):
CentOS? IP:10.1.1.47
WinXP?? IP:10.1.1.215
所需軟件:httpd-2.2.15-5.el6.i686.rpm、openssl-0.9.8l.tar.gz、od_ssl-2.8.0-1.3.17.tar.gz
實(shí)驗(yàn)步驟一
基本配置:安裝和啟動(dòng)Apache服務(wù)器
1、Apache軟件的安裝
在RHEL6.0中可以通過(guò)兩種方式安裝Apache服務(wù)器。一種是在RHEL6.0光盤(pán)上找到自帶的httpd-2.2.14-5.el6.i686.rpm軟件包。本次實(shí)驗(yàn)使用的是centos,軟件包已提前下載好。
其中,httpd-manual-2.2.15-5.el6.noarch.rpm是Apache相關(guān)的幫助手冊(cè)。
使用rpm命令安裝httpd-2.2.15,如果出現(xiàn)如下安裝包的依賴問(wèn)題
?先用rpm -ivh httpd-tools-2.2.15-86.2.x86_64.rpm安裝httpd-tools,然后再執(zhí)行上述安裝命令即可。
?系統(tǒng)安裝成功后,會(huì)創(chuàng)建/etc/httpd及相關(guān)的目錄。
?在/etc/httpd中的文件和目錄的作用如下:
(1)/etc/httpd/conf/httpd.conf: Apache的主配置文件。
(2)/etc/httpd/logs:其實(shí)是符號(hào)鏈接,指向/var/log/httpd目錄,用于存放Apache服務(wù)相關(guān)的日志文件。
(3)/etc/httpd/modules:符號(hào)鏈接,指向/usr/lib/httpd/modules目錄,用于存放Apache服務(wù)相關(guān)的模塊。
此外,和apache服務(wù)相關(guān)的文件及目錄還有:
(4)/usr/sbin/apachectl: Apache控制腳本,用于啟動(dòng)、停止、重啟服務(wù)。
(5)/usr/sbin/httpd: Apache服務(wù)器的程序文件。
(6)/usr/share/doc/httpd-2.2.14:Apache說(shuō)明文檔目錄。
(7)/var/www: Apache提供的默認(rèn)網(wǎng)站存放目錄。
2、Apache 服務(wù)器的啟動(dòng)和停止
當(dāng)安裝完Apache服務(wù)器后,如果想讓其提供Web服務(wù)還必須啟動(dòng)它。
(1)使用service命令來(lái)啟動(dòng)和重新啟動(dòng)Apache服務(wù)器:
#service httpd start??? 和?? #service httpd restart
(2)使用控制腳本來(lái)啟動(dòng)和停止服務(wù)
#/usr/sbin/apachectl start 和 #/usr/sbin/apachectl stop
此外,還可以使用#./apachectl -V查看已安裝的apache的版本信息,#./apachectl -l 查看apache服務(wù)安裝的相關(guān)的模塊。
?3、查看Apache服務(wù)器是否啟動(dòng)
可以使用如下命令查看Apache服務(wù)器的運(yùn)行狀態(tài):
(1)#service httpd status
(2)#pstree | grep httpd
(3)#ps -eaf | grep httpd
?
查看Apache監(jiān)聽(tīng)的端口
?可以看到,80端口號(hào)處于監(jiān)聽(tīng)狀態(tài)。為使客戶端能訪問(wèn)Apache服務(wù)器的80端口,要打開(kāi)防火墻的TCP80端口。使用命令如下:
?或者使用下面的命令清空防火墻的所有規(guī)則:
#iptables? -F
4、測(cè)試服務(wù)器
可以在客戶端的瀏覽器中輸入服務(wù)器的IP驗(yàn)證一下,如果沒(méi)有錯(cuò)誤,會(huì)出現(xiàn)下圖頁(yè)面。
?5、SElinux和Apache服務(wù)器
若SElinux處于開(kāi)啟狀態(tài),則在SELinux默認(rèn)的策略中,apache進(jìn)程默認(rèn)只能訪問(wèn)/var/www目錄。為了完成后面的一些操作,需要關(guān)閉SELinux,關(guān)閉的方法是:
(1)修改/etc/selinux/config配置文件,設(shè)置 SELINUX=disabled,然后重啟系統(tǒng)后生效。
(2)如果不想重啟系統(tǒng),可以使用命令:#setenforce 0?? //建議使用此命令
如果不想關(guān)閉SELinux,又想訪問(wèn)其他目錄,可以用如下命令給自己創(chuàng)建的目錄,如/var/website1,添加httpd content類型的上下文:
#chcon -Rt ?httpd_sys_content_t ?/var/website1
其中,-R(recursive)遞歸,-t(type)類型
虛擬主機(jī)設(shè)置
虛擬主機(jī)(Virtual Host)是指在一臺(tái)主機(jī)上運(yùn)行的多個(gè)Web 站點(diǎn),每個(gè)站點(diǎn)均有自己獨(dú)立的域名或IP地址。虛擬主機(jī)允許為不同的IP地址、主機(jī)名或同一機(jī)器上的不同端口運(yùn)行不同的服務(wù)器站點(diǎn)。譬如,可以在同一個(gè)web服務(wù)器上使用虛擬主機(jī)來(lái)運(yùn)行 http://www.example.com 和 http://www.anotherexample.com 這兩個(gè)網(wǎng)站。虛擬主機(jī)對(duì)用戶是透明的,就好像每個(gè)站點(diǎn)都在單獨(dú)的一臺(tái)主機(jī)上運(yùn)行一樣。
Apache服務(wù)器提供兩種類型的虛擬主機(jī):1)基于IP 地址的虛擬主機(jī):每個(gè)Web 站點(diǎn)擁有不同的IP 地址;2)基于名字或主機(jī)名的虛擬主機(jī):不同的站點(diǎn)可以使用同一個(gè)IP地址,但使用的域名不同。通過(guò)使用虛擬主機(jī)技術(shù),既可以在同一個(gè)服務(wù)器上同時(shí)搭建多個(gè)Web站點(diǎn),又可以通過(guò)共享同一個(gè)IP 地址以解決IP 地址缺乏的問(wèn)題。
對(duì)于默認(rèn)的虛擬主機(jī)和基于 IP 的虛擬主機(jī),該選項(xiàng)和<VirtualHost> 指令相對(duì)應(yīng);對(duì)于基于名稱的虛擬主機(jī),還需要配合NameVirtualHost 指令使用。
1、基于 IP 的虛擬主機(jī)
基于IP 的虛擬主機(jī)擁有不同的IP 地址,這就要求服務(wù)器必須配置多個(gè)IP 地址。
(1)添加多個(gè)IP地址
使用命令#ifconfig查看網(wǎng)絡(luò)配置。假設(shè)你的網(wǎng)絡(luò)設(shè)備名為eth0。下面首先添加一個(gè)虛擬IP接口,并配置IP地址為 10.1.1.120,使用命令:
$sudo ifconfig eth0:0 10.1.1.120 up? //為網(wǎng)絡(luò)設(shè)備eth0:0添加IP并啟動(dòng)
類似地,再添加一個(gè) 10.1.1.121 的 ip ?
$sudo ifconfig eth0:1 10.1.1.121 up? //注意,此時(shí)的設(shè)備名為eth0:1
(2)添加兩個(gè)虛擬主機(jī)所對(duì)應(yīng)的站點(diǎn)目錄
為了完成隨后對(duì)虛擬主機(jī)的測(cè)試,首先在/var目錄下創(chuàng)建子目錄website1,作為使用IP地址為10.1.1.120虛擬主機(jī)所對(duì)應(yīng)的站點(diǎn)目錄,同時(shí)在此目錄下創(chuàng)建一個(gè)測(cè)試文件test1.html:
#mkdir? /var/website1
#echo?? 'This virtual host is based on ip address 10.1.1.120!'? > /var/website1/test1.html
目錄下創(chuàng)建測(cè)試文件:
#mkdir? /var/website2
#mkdir? /var/website2/icons
#echo?? 'This virtual host is based on ip address 10.1.1.121!'? > /var/website2/test2.html
(3)更改apache配置文件/etc/httpd/conf/httpd.conf
打開(kāi)配置文件/etc/httpd/conf/httpd.conf,找到第3 部分Section 3,即用于設(shè)置和創(chuàng)建虛擬主機(jī)(Virtual Hosts)的部分,在其中添加以下內(nèi)容:
<VirtualHost 10.1.1.120>????????? //虛擬主機(jī)1,使用的IP是10.1.1.120
DocumentRoot? "/var/website1" ? //虛擬主機(jī)所對(duì)應(yīng)的目錄
Options Indexes FollowSymLinks????? //Indexes表示在指定的目錄中找不到指定的文件時(shí),允許生成當(dāng)前目錄的文件列表
</VirtualHost>
<VirtualHost 10.1.1.121>???????????? //虛擬主機(jī)2,使用的IP是10.1.1.121
DocumentRoot? "/var/website2"
Options Indexes FollowSymLinks
</VirtualHost>
(4)重啟服務(wù)并驗(yàn)證
在服務(wù)器端保存httpd.conf 配置文件,利用命令#apachectl ?-t檢查并確保虛擬主機(jī)配置正確。使用命令“service httpd restart”重啟Apache 服務(wù)器,以使配置生效。
在客戶端打開(kāi)瀏覽器,輸入http://10.1.1.120/test1.html,如果配置正確,會(huì)看到
?2、基于名稱的虛擬主機(jī)
假設(shè)我們想使用www.abc.com,訪問(wèn)站點(diǎn)website1,使用www.xyz.com訪問(wèn)站點(diǎn)website2,需要?jiǎng)?chuàng)建兩個(gè)基于名稱的虛擬主機(jī)。因?yàn)樽罱K域名要被解析為IP地址,所以www.abc.com和www.xyz.com要對(duì)應(yīng)到服務(wù)器的IP,這兩個(gè)站點(diǎn)可以使用同一個(gè)IP,也可以使用不同的IP。假設(shè)使用同一個(gè)IP為10.1.1.122,下面給出具體配置步驟:
(1)添加虛擬主機(jī)ip接口
$sudo ifconfig eth0:2 10.1.1.122 up? //為網(wǎng)絡(luò)設(shè)備eth0:2添加IP并啟動(dòng)
(2)創(chuàng)建相關(guān)的目錄,添加主頁(yè)文件
#mkdir? /var/abc
#echo "welcome to abc page">/var/abc/abctest.html
#mkdir? /var/xyz
#echo "welcome to xyz page">/var/xyz/xyztest.html
(3)更改apache配置文件/etc/httpd/conf/httpd.conf
找到第3 部分Section 3,即用于設(shè)置和創(chuàng)建虛擬主機(jī)(Virtual Hosts)的部分,在其中添加以下內(nèi)容:
NameVirtualHost 10.1.1.122
<VirtualHost 10.1.1.122>
DocumentRoot? "/var/abc"
ServerName www.abc.com
</VirtualHost>
<VirtualHost 10.1.1.122>
DocumentRoot? "/var/xyz"
ServerName www.xyz.com
</VirtualHost>
(4)配置客戶端
配置客戶端,保證能將域名 www.abc.com和www.xyz.com解析成服務(wù)器的IP地址10.1.1.122。方法有兩個(gè),一是配合使用DNS服務(wù),設(shè)置客戶端的DNS Server的IP地址;二是修改客戶端的C:\Windows\System32\drivers\etc\hosts文件。DNS的配置比較復(fù)雜,前面章節(jié)已有所涉及,下面我們給出的是修改hosts文件。直接修改hosts文件,添加下面的兩行:
10.1.1.122? www.abc.com?
10.1.1.122? www.xyz.com
保存退出后,用ping命令驗(yàn)證一下
#ping? www.abc.com
(5)測(cè)試
在服務(wù)器端保存httpd.conf 配置文件,利用命令#apachectl ?-t檢查并確保虛擬主機(jī)配置正確。使用命令“service httpd restart”重啟Apache 服務(wù)器,以使配置生效。
在客戶端打開(kāi)瀏覽器,輸入http://www.abc.com/abctest.html
如果配置正確,會(huì)看到
welcome to abc page的頁(yè)面。
實(shí)驗(yàn)步驟二
安全配置進(jìn)階
1、基于認(rèn)證的配置?
(1)基本的Apache用戶認(rèn)證方法
若對(duì)某一目錄,如/var/website1/docs下的文件需要做到用戶認(rèn)證,用vim編輯器打開(kāi)Apache的主配置文件vim /etc/httpd/conf/httpd.conf
?則在httpd.conf 中加入下面的行
<Directory /var/website1/docs>
?Options Indexes?
AllowOverride AuthConfig
</Directory>
使用Apache安裝后自帶的程序htpasswd添加用于認(rèn)證的用戶,并將這些用戶保存到文件/etc/.passwd,此文件的格式是每行一個(gè)用戶名:密碼。
htpasswd命令用法:htpasswd [選項(xiàng)] 文件名 用戶名
例如:#htpasswd -c /etc/.passwd zhangsan? //其中-c表示生成新的文件,zhangsan是用戶名,生成文件時(shí)還可以選取多種加密方式,參數(shù)-p(不加密),-m(md5加密),-s(SHA加密),-d(ENCRYPT加密)
要?jiǎng)h除用戶zhangsan,使用命令:
#htpasswd -D /etc/.passwd? zhangsan
再添加用戶lisi:? #htpasswd? /etc/.passwd? lisi?? //lisi是用戶名,如果此用戶在文件.htaccess存在,則更新其密碼,否則添加用戶
?在要認(rèn)證的目錄/var/website1/docs下添加文件.htaccess,內(nèi)容如下:
AuthName "MyAuth"
AuthType basic
Authuserfile /etc/.passwd
Require user zhangsan? lisi …
驗(yàn)證:瀏覽器輸入:http://10.1.1.120/docs/file1.txt
?只有能提供正確的用戶名和密碼對(duì),才允許登錄訪問(wèn),這是針對(duì)任何地址來(lái)的請(qǐng)求都要求提供用戶名和密碼認(rèn)證。
(2)針對(duì)部分網(wǎng)段或地址要求認(rèn)證。
要限制某些IP地址的訪問(wèn),需要設(shè)置對(duì)IP地址的認(rèn)證。假定站點(diǎn)1主目錄是/var/website1,主目錄下的某個(gè)目錄,如/var/website1/iplimit是禁止10.1.1.101訪問(wèn)的,可以在httpd.conf中放入:
<Directory /var/website1/iplimit>
Options Indexes FollowSymLinks
AllowOverride AuthConfig
order deny,allow
deny from 10.1.1.101
</Directory>
2、SSL加密的配置
SSL證書(shū)可以在客戶端瀏覽器和Web服務(wù)器之間建立一條SSL安全通道。首先要有一個(gè)根證書(shū),然后用根證書(shū)來(lái)簽發(fā)服務(wù)器證書(shū)和客戶證書(shū)。SSL必須安裝服務(wù)器證書(shū)來(lái)認(rèn)證,在此環(huán)境中,通常有三個(gè)證書(shū):根證書(shū),服務(wù)器證書(shū),客戶端證書(shū)。在生成證書(shū)之前,一般會(huì)有一個(gè)私鑰,用私鑰生成證書(shū)請(qǐng)求,最后利用證書(shū)服務(wù)器的根證來(lái)簽發(fā)證書(shū)。
2-1:服務(wù)器端認(rèn)證配置
(1)安裝并配置ssl環(huán)境
用以下命令安裝openssl(環(huán)境已提供)
#yum -y install openssl
安裝完成后,即可用openssl命令來(lái)生成、簽署證書(shū)了,查看openssl的安裝目錄是:/usr/bin/openssl
安裝mod_ssl
#yum -y install mod_ssl
實(shí)驗(yàn)機(jī)內(nèi)用不了yum命令,用#rpm -ivh mod_ssl-2.2.15-86.2.x86_64.rpm 命令安裝
安裝之后就會(huì)在目錄/etc/httpd/conf.d下生成ssl.conf文件。
(2)生成CA證書(shū)
要建立一個(gè) CA 的證書(shū),首先為CA證書(shū) 創(chuàng)建一個(gè) RSA 私鑰
#cd /root
#openssl genrsa -des3 -out ca.key 1024? //生成私鑰 ca.key 文件。在此過(guò)程中系統(tǒng)會(huì)提示輸入密碼,輸入后牢記它。
#chmod 400 ca.key??? //將私鑰文件屬性改為400
#openssl rsa -noout -text -in ca.key? //查看秘鑰ca.key的內(nèi)容,
#openssl req -new -x509 -days 3650 -key ca.key -out ca.crt //利用 CA 的 RSA 密鑰創(chuàng)建一個(gè)自簽署的 CA 證書(shū)(X.509結(jié)構(gòu)),生成 ca.crt 文件
在證書(shū)生成過(guò)程中需要輸入下列信息:
Country Name: cn //兩個(gè)字母的國(guó)家代號(hào);
State or Province Name: ShanDong //省份名稱
Locality Name: QingDao //城市名稱
Organization Name: Family Network //公司名稱
Organizational Unit Name: Home //部門(mén)名稱
Common Name: 10.1.1.47 ?//注意要與服務(wù)器的名稱或IP一致(因?yàn)槲覀兪褂肐P來(lái)訪問(wèn)服務(wù)器,這里我們填的是服務(wù)器的IP)
Email Address: zhang@163.com //Email地址
#chmod 400 ca.crt ???//將文件屬性改為400,并放在安全的地方。
#openssl x509 -noout -text -in ca.crt?? //查看證書(shū)的內(nèi)容
(3)創(chuàng)建服務(wù)器證書(shū)簽署請(qǐng)求
首先為你的 Apache 創(chuàng)建一個(gè) RSA 私用密鑰:
#openssl genrsa -des3 -out server.key 1024 ?//生成 server.key 文件
#chmod 400 server.key??????? //將文件屬性改為400,并放在安全的地方。
#openssl rsa -noout -text -in server.key? //查看秘鑰的內(nèi)容
#openssl req -new -key server.key -out server.csr? //用 server.key 生成證書(shū)簽署請(qǐng)求server.csr。這里也要輸入一些信息,和證書(shū)生成時(shí)輸入的內(nèi)容類似。 至于 'extra' attributes 不用輸入。
#openssl req -noout -text -in server.csr? //查看證書(shū)簽署請(qǐng)求server.csr的細(xì)節(jié)
簽署證書(shū)
#openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
#chmod 400 server.crt?? //將文件屬性改為400,并放在安全的地方。
#rm server.csr??? //刪除CSR
(4)修改apache設(shè)置
修改/etc/httpd/conf.d/ssl.conf,找到下面的兩行
SSLCertificateFILE /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
將其中的localhost.crt、localhost.key參數(shù)分別改為剛才生成的文件server.crt、server.key,并將server.crt,server.key拷貝到相應(yīng)的目錄中。
(5)測(cè)試
1)重啟apache服務(wù),此時(shí)要填入生成證書(shū)時(shí)輸入的認(rèn)證碼:
?2)windows客戶端端驗(yàn)證
打開(kāi)另一臺(tái)機(jī)器,如windows客戶端。
打開(kāi)IE瀏覽器,輸入https://10.1.1.47,彈出安全警告
?單擊“查看證書(shū)”,可以看到頒發(fā)給服務(wù)器的證書(shū)。選擇“y”,繼續(xù),打開(kāi)服務(wù)器主頁(yè)。
?圖 服務(wù)器信任警告
單擊添加例外“我已充分了解可能得風(fēng)險(xiǎn)”按鈕,然后“添加例外”,出現(xiàn)圖6所示對(duì)話框,單擊其中的查看按鈕“查看…”,可以查看關(guān)于該證書(shū)的詳細(xì)信息。
?圖 添加安全例外
這樣,基于HTTPS協(xié)議的網(wǎng)頁(yè)發(fā)布成功,再次單擊地址欄,出現(xiàn)下圖所示,單擊“更多信息…”按鈕,查看更多信息。
?圖 查看更多信息
2-2:客戶端認(rèn)證配置
(1)生成客戶端密鑰庫(kù)及證書(shū)
//生成用戶的 RSA 密鑰對(duì)
#openssl genrsa -des3 -out client.key 1024
//生成用戶證書(shū)請(qǐng)求
#openssl req -new -days 3650 -key client.key -out client.csr? ?//(注意:其中Common Name填寫(xiě)客戶端的ip,如10.1.1.215)
//使用 CA 簽發(fā)用戶證書(shū),生成client.crt文件
#openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt
//生成pkcs格式文件,將來(lái)導(dǎo)入到客戶端瀏覽器中
#openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
?注意:其中輸入的export password要記住,后面用。
//將client.p12復(fù)制到服務(wù)器所對(duì)應(yīng)的網(wǎng)站根目錄,這里是/var/www/html
#cp -p? /root/client.p12 /var/www/html
(2)客戶端下載所生成的證書(shū)
因?yàn)樽C書(shū)是在linux端生成的,這里要在win下使用,所以先將client.p12從linux傳輸?shù)絯in下,
將客戶端證書(shū)放到網(wǎng)站根目錄下,由win主機(jī)去下載到桌面
?圖 客戶端下載證書(shū)
(3)導(dǎo)入并查看證書(shū)
如果客戶端使用ie瀏覽器,可以直接雙擊client.p12,按照提示一步步導(dǎo)入即可。
或者,使用firefox瀏覽器導(dǎo)入client.p12證書(shū)文件。步驟:打開(kāi)forefox瀏覽器,找到firefox 工具主菜單:工具-->選項(xiàng)->高級(jí)->證書(shū);單擊“查看證書(shū)”后,將證書(shū)導(dǎo)入即可。
圖 導(dǎo)入證書(shū)
輸入前面的密碼:
?圖 加密證書(shū)
(4)修改ssl配置文件ssl.conf,強(qiáng)行對(duì)客戶端認(rèn)證
修改/etc/httpd/conf.d/ssl.conf,找到下面的行
SSLCACertificateFile?? /etc/pki/tls/certs/ca-bundle.crt
SSLVerifyClient require? //要求進(jìn)行客戶端認(rèn)證。
SSLVerifyDepth 10
刪除行首的注釋“#”,并將其中的 ca-bundle.crt 修改為 ca.crt,并將原來(lái)生成的文件ca.crt其拷貝到相應(yīng)的目錄/etc/pki/tls/certs中。
#cp -p /root/ca.crt /etc/pki/tls/certs
?(5)測(cè)試:https://serve ip
首先,重啟服務(wù)。#service httpd restart
接下來(lái),在windows客戶端,打開(kāi)瀏覽器輸入:https://10.1.1.47,彈出對(duì)話框,讓用戶選擇客戶端證書(shū),對(duì)客戶端認(rèn)證。
具體實(shí)驗(yàn)截圖
?
?
?
?
?
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-777287.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-777287.html
到了這里,關(guān)于配置安全的linux-apache服務(wù)器(5)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!