1案例1:配置安全Web服务
1.1问题
本例要求为站点http://server0.example.com配置TLS加密
- 一个已签名证书从以下地址获取http://classroom/pub/tls/certs/server0.crt
- 此证书的密钥从以下地址获取http://classroom/pub/tls/private/server0.key
- 此证书的签名授权信息从以下地址获取http://classroom/pub/example-ca.crt
1.2方案
安全Web传输协议及端口:TCP 443
访问HTTP站点(未加密):http://server0.example.com/
访问HTTPS站点(加密):https://server0.example.com/
为httpd服务端实现TLS加密的条件:1)启用一个mod_ssl模块;2)提供加密的素材:网络服务器的数字证书、网站服务器的私钥、根证书(证书颁发机构的数字证书)
TLS证书部署位置:/etc/pki/tls/certs/*.crt
TLS私钥部署位置:/etc/pki/tls/private/*.key
1.3步骤
实现此案例需要按照如下步骤进行。
步骤一:配置HTTPS网站服务器
1)安装mod_ssl模块软件包
[root@server0 ~]# yum -y install mod_ssl
.. ..
2)部署密钥、证书等素材
[root@server0 ~]# cd /etc/pki/tls/certs/
[root@server0 certs]# wget http://classroom/pub/example-ca.crt
.. ..
2016-11-27 01:04:51 (116 MB/s) - ‘example-ca.crt’ saved [1220/1220]
[root@server0 certs]# wget http://classroom/pub/tls/certs/server0.crt
.. ..
2016-11-27 01:04:06 (62.1 MB/s) - ‘server0.crt’ saved [3505/3505]
[root@server0 certs]# ls *.crt //确认部署结果
ca-bundle.crt example-ca.crt server0.crt
ca-bundle.trust.crt localhost.crt
[root@server0 certs]# cd /etc/pki/tls/private/
[root@server0 private]# wget http://classroom/pub/tls/private/server0.key
.. ..
2016-11-27 01:07:09 (39.0 MB/s) - ‘server0.key’ saved [916/916]
3)为SSL加密网站配置虚拟主机
[root@server0 ~]# vim /etc/httpd/conf.d/ssl.conf
Listen 443 https
.. ..
<VirtualHost _default_:443>
DocumentRoot "/var/www/html" //网页目录
ServerName server0.example.com:443 //站点的域名
.. ..
SSLCertificateFile /etc/pki/tls/certs/server0.crt //网站证书
.. ..
SSLCertificateKeyFile /etc/pki/tls/private/server0.key //网站私钥
.. ..
SSLCACertificateFile /etc/pki/tls/certs/example-ca.crt //根证书
4)重启系统服务httpd
[root@server0 ~]# systemctl restart httpd
[root@server0 ~]# netstat -antpu | grep httpd //确认已监听80、443端口
tcp6 0 0 :::443 :::* LISTEN 7954/httpd
tcp6 0 0 :::80 :::* LISTEN 7954/httpd
步骤二:验证HTTPS加密访问
使用Firefox浏览器访问加密站点https://server0.example.com/,可以看到页面提示未信任连接“Untrusted Connection”(如图所示)
若要继续访问,需要在页面下面单击超链接“I Understand the Risks”,表示用户已理解相关风险。然后在展开的页面内点击“Add Exception”按钮(如图所示)
弹出添加安全例外对话窗口(如图所示),单击界面左下角“Confirm Security Exception”按确认安全例外。
确认成功后即可看到对应的网页内容(如图所示)。