Apache 部署SSL數字證書及安全性設置

原文閱讀:Apache 部署SSL數字證書及安全性設置php

v2-d8fe91615840b0ac55bdc69c36363efc_r.jpg

Apache做爲最多見的一種Web服務器,其普及度、易用性及穩定性都很是高,Apache也能夠部署基於HTTPS的安全Web服務器,本文介紹如何在Apache上部署簽發的SSL數字證書。html

1、準備材料

1. CSR證書請求文件和私鑰文件

私鑰一般是在準備CSR證書請求文件時生成,使用openSSL生成存在CSR文件的同級目錄中 - 生成CSR證書請求文件 ,使用在線工具會將隨機生成的私鑰+CSR發送到郵箱中,使用IIS生成CSR要求在完成證書請求後提取私鑰 - SSL/TLS多種證書類型的轉換。將CSR提交給infiniSign申請證書,將私鑰自行妥善保管。nginx

2. 簽發證書

簽發證書也就是通過CA驗證過域名或者企業信息後所簽發的域名證書,例如Web服務器會使用 www.yourdomain.com 做爲主要網站,那麼該證書驗證的域名就是 www.yourdomain.com ,經過CA簽發的證書須要購買數字證書,最低¥39/年的Comodo PositiveSSL就是一款的入門級SSL數字證書,當即前往購買shell

3. 證書鏈

一個完整的證書鏈應該由證書 + 中級證書A + 中級證書B + ... +根證書構成,因此一般,由CA簽發的證書壓縮包中會有1個或者多箇中級證書,另外多家CA的中級證書在官網上有下載,關於合併中級證書請參考:SSL證書鏈不完整致使瀏覽器不受信任apache

2、安裝部署

1. 單主機

將第一部的私鑰 server.key、證書 server.crt、證書鏈 server-chain.crt 三個文件放入服務器中任意目錄,編輯/etc/httpd/conf.d/ssl.conf文件,配置如下代碼(自行修改路徑)瀏覽器

# 簽發證書
SSLCertificateFile /etc/pki/tls/certs/server.crt
# 私鑰
SSLCertificateKeyFile /etc/pki/tls/private/server.key
# 合併後的證書鏈
SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt

保存後重啓httpd服務,使SSL配置生效安全

2. 多個虛擬主機

和Apache的80端口的Web虛擬主機配置相似,將三個文件放入指定目錄後,編輯/etc/httpd/conf.d/ssl.conf文件,配置如下代碼(自行修改路徑)服務器

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/server.crt
    SSLCertificateKeyFile /etc/pki/tls/private/server.key
    SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
    <Directory /var/www/html/subhost>
        AllowOverride All
    </Directory>
    ServerAdmin [email@example.com](mailto:email@example.com)
    DocumentRoot /var/www/html/subhost
    ServerName www.yourdomain.com
</VirtualHost>

3. 安全性配置

關閉SSLv2和SSLv3的安全漏洞

目前已知的SSLv2和SSLv3安全漏洞須要關閉,可以使用在線工具檢查服務器部署中的SSLv2和SSLv3是否關閉,關閉方法以下:app

Apache 2.2.22之前版本:SSLProtocol TLSv1
Apache 2.2.23及之後版本:SSLProtocol ALL -SSLv2 -SSLv3
Apache + mod_nss:NSSProtocol TLSv1.0,TLSv1.1dom

配置加密套件

推薦的簡單配置(知足蘋果ATS對SSL/TLS的安全檢測要求

SSLCipherSuite ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL;

兼容性配置

SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
SSLHonorCipherOrder on

4. 注意事項

  • XP不支持SNI單服務器多虛擬主機下證書部署
  • 中級證書一般會在簽發證書的郵件中提供
  • 以上配置/etc/httpd/conf.d/ssl.conf中能夠配置爲全局,也能夠在虛擬主機中配置

參考文章:

https://blog.longwin.com.tw/2014/11/apache2-nginx-disabled-sslv2-sslv3-2014/

相關文章
相關標籤/搜索