我想启用OCSP 装订在我的 Apache 服务器中。我在用着:
- 服务器:Ubuntu 上的 Apache/2.4.7
- 证书:让我们加密
到文件:
/etc/apache2/sites-available/default-ssl.conf
我补充道:
SSLUseStapling on
然后,我编辑:
/etc/apache2/mods-available/ssl.conf
添加这一行:
SSLStaplingCache shmcb:/tmp/stapling_cache(128000)
我检查了语法:
sudo apachectl -t
没关系。
但是,重新加载后,Apache 无法启动。
编辑1:
在我的 SSL 虚拟主机文件中:
/etc/apache2/sites-available/default-ssl.conf
我在我的,组下面添加了这些行SSLCertificateFile
:SSLCertificateKeyFile
SSLUseStapling on SSLStaplingReturnResponderErrors off SSLStaplingResponderTimeout 5
然后我编辑了这个文件:
/etc/apache2/mods-available/ssl.conf
添加这一行:
SSLStaplingCache shmcb:${APACHE_RUN_DIR}/ssl_stapling_cache(128000)
我现在可以毫无问题地重新启动 Apache,但是,OCSP 似乎不起作用,基于:
openssl s_client -connect www.example.com:443 -servername www.example.com -status < /dev/null
OCSP response: no response sent
我做错了什么,这与我的 Let's Encrypt 证书有关吗?
答案1
我自己不久前也遇到过这个问题,但我似乎已经解决了。
$ openssl s_client -connect berb.ec:443 -servername berb.ec -status < /dev/null 2>&1 | grep "OCSP Response Status"
OCSP Response Status: successful (0x0)
SSLLabs 同意:97.5%(我必须为我的 LG 手机启用密码)
编辑:SSLLabs 同意:100%100% 修复了。愚蠢的电话和曲线支持。
在我的情况下,我使用的是通用线:
SSLCertificateFile /etc/letsencrypt/live/berb.ec/cert.pem
我更改为 fullchain.pem 文件,一切正常。
SSLCertificateFile /etc/letsencrypt/live/berb.ec/fullchain.pem
或者,您可以在 VirtualHost 文件中添加一行
SSLCACertificateFile /etc/letsencrypt/live/berb.ec/chain.pem
这是我的完整/etc/apache2/conf-enabled/ssl.conf
文件。 VirtualHost 文件中唯一的 SSL 项目是SSLEngine
、SSLCertificateFile
和SSLCertificateKeyFile
。
SSLProtocol -all +TLSv1.2
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384
SSLOpenSSLConfCmd DHParameters "/etc/apache2/dhparam4096.pem"
SSLOpenSSLConfCmd ECDHParameters secp384r1
SSLOpenSSLConfCmd Curves secp521r1:secp384r1
SSLUseStapling On
SSLStaplingCache "shmcb:/logs/ssl_stapling(32768)"
SSLCompression off
SSLHonorCipherOrder on
Header always set X-Frame-Options SAMEORIGIN
Header always edit Set-Cookie (.*) "$1;HttpOnly;Secure"
Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header always set X-Content-Type-Options nosniff
SSLOptions +StrictRequire
我仍在研究 OCSP Must Staple
编辑1:得到OCSP 必须装订在职的。这是 certbot 客户端中的一个选项:
certbot --must-staple --rsa-key-size 4096
答案2
apache2.conf
为了回答您的问题,我复制并粘贴了Apache 服务器的一些设置,该服务器使用 Let's Encrypt SSL 证书在我的页面上提供 A 级加密:
#Required modules
LoadModule socache_shmcb_module /usr/lib/apache2/modules/mod_socache_shmcb.so
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
#SSL settings
SSLCipherSuite ECDHE:AES256-SHA:AES128-SHA:DES-CBC3-SHA:!RC4
SSLHonorCipherOrder on
SSLRandomSeed connect file:/dev/urandom 32
SSLSessionCache shmcb:${APACHE_RUN_DIR}/ssl(512000)
SSLSessionCacheTimeout 86400
SSLStaplingCache shmcb:${APACHE_RUN_DIR}/ocsp(128000)
SSLUseStapling on
另外你可能会看到这个答案为加强SSLCipherSuite
.