让我们加密 - Apache - OCSP 装订

让我们加密 - Apache - OCSP 装订

我想启用OCSP 装订在我的 Apache 服务器中。我在用着:

到文件:

/etc/apache2/sites-available/default-ssl.conf

我补充道:

SSLUseStapling on

然后,我编辑:

/etc/apache2/mods-available/ssl.conf

添加这一行:

SSLStaplingCache shmcb:/tmp/stapling_cache(128000)

我读到这足以启用 OCSP 装订

我检查了语法:

sudo apachectl -t

没关系。

但是,重新加载后,Apache 无法启动。

编辑1:

遵循本指南

在我的 SSL 虚拟主机文件中:

/etc/apache2/sites-available/default-ssl.conf

我在我的,组下面添加了这些行SSLCertificateFileSSLCertificateKeyFile

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 项目是SSLEngineSSLCertificateFileSSLCertificateKeyFile

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.

相关内容