资讯专栏INFORMATION COLUMN

Apache 部署SSL数字证书及安全性设置

cheukyin / 3150人阅读

摘要:原文阅读部署数字证书及安全性设置作为最常见的一种服务器,其普及度易用性及稳定性都非常高,也可以部署基于的安全服务器,本文介绍如何在上部署签发的数字证书。将提交给申请证书,将私钥自行妥善保管。

原文阅读:Apache 部署SSL数字证书及安全性设置

Apache作为最常见的一种Web服务器,其普及度、易用性及稳定性都非常高,Apache也可以部署基于HTTPS的安全Web服务器,本文介绍如何在Apache上部署签发的SSL数字证书。

一、准备材料 1. CSR证书请求文件和私钥文件

私钥通常是在准备CSR证书请求文件时生成,使用openSSL生成存在CSR文件的同级目录中 - 生成CSR证书请求文件 ,使用在线工具会将随机生成的私钥+CSR发送到邮箱中,使用IIS生成CSR要求在完成证书请求后提取私钥 - SSL/TLS多种证书类型的转换。将CSR提交给infiniSign申请证书,将私钥自行妥善保管。

2. 签发证书

签发证书也就是经过CA验证过域名或者企业信息后所签发的域名证书,例如Web服务器会使用 www.yourdomain.com 作为主要网站,那么该证书验证的域名就是 www.yourdomain.com ,通过CA签发的证书需要购买数字证书,最低¥39/年的Comodo PositiveSSL就是一款的入门级SSL数字证书,立即前往购买

3. 证书链

一个完整的证书链应该由证书 + 中级证书A + 中级证书B + ... +根证书构成,所以通常,由CA签发的证书压缩包中会有1个或者多个中级证书,另外多家CA的中级证书在官网上有下载,关于合并中级证书请参考:SSL证书链不完整导致浏览器不受信任

二、安装部署 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文件,配置以下代码(自行修改路径)


    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/server.crt
    SSLCertificateKeyFile /etc/pki/tls/private/server.key
    SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
    
        AllowOverride All
    
    ServerAdmin [email@example.com](mailto:email@example.com)
    DocumentRoot /var/www/html/subhost
    ServerName www.yourdomain.com
3. 安全性配置 关闭SSLv2和SSLv3的安全漏洞

目前已知的SSLv2和SSLv3安全漏洞需要关闭,可使用在线工具检查服务器部署中的SSLv2和SSLv3是否关闭,关闭方法如下:

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

配置加密套件

推荐的简单配置(满足苹果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/

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/35926.html

相关文章

  • ssl证书怎么部署安装?SSL证书下载后如何安装

    摘要:证书怎么部署安装证书是数字安全证书一种,网站部署了证书后,可以实现加密访问,保障用户隐私信息安全。证书怎么部署安装第一,需要部署证书安装环境的一台服务器,还需要一张证书。ssl证书怎么部署安装?ssl证书是数字安全证书一种,网站部署了SSL证书后,可以实现https加密访问,保障用户隐私信息安全。SSL证书需由可信的CA机构签发,然后下载安装到服务器上,那么ssl证书下载后如何安装? ...

    JackJiang 评论0 收藏0
  • 阿里云ECS服务器部署Node.js项目全过程详解

    摘要:本文详细介绍如何部署项目到阿里云上,以及本人在部署过程中所遇到的问题坑点和解决办法,可以说是全网最全最详细的教程了。同时讲解了如何申请阿里云免费证书,以及一台服务器配置多网站的配置方法等。优惠券阿里云产品通用代金券最高元。 本文详细介绍如何部署NodeJS项目到阿里云ECS上,以及本人在部署过程中所遇到的问题、坑点和解决办法,可以说是全网最全最详细的教程了。同时讲解了如何申请阿里云免费...

    XboxYan 评论0 收藏0

发表评论

0条评论

cheukyin

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<