让我们加密 - Apache - OCSP 装订

Nin*_*les 13 ssl apache-virtualhost letsencrypt

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

到文件:

/etc/apache2/sites-available/default-ssl.conf
Run Code Online (Sandbox Code Playgroud)

我补充说:

SSLUseStapling on
Run Code Online (Sandbox Code Playgroud)

然后,我编辑:

/etc/apache2/mods-available/ssl.conf
Run Code Online (Sandbox Code Playgroud)

添加这一行:

SSLStaplingCache shmcb:/tmp/stapling_cache(128000)
Run Code Online (Sandbox Code Playgroud)

我读到这足以启用 OCSP 装订

我检查了语法:

sudo apachectl -t
Run Code Online (Sandbox Code Playgroud)

没关系。

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

编辑1:

遵循本指南

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

/etc/apache2/sites-available/default-ssl.conf
Run Code Online (Sandbox Code Playgroud)

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

SSLUseStapling on
SSLStaplingReturnResponderErrors off
SSLStaplingResponderTimeout 5
Run Code Online (Sandbox Code Playgroud)

然后我编辑了这个文件:

/etc/apache2/mods-available/ssl.conf
Run Code Online (Sandbox Code Playgroud)

添加这一行:

SSLStaplingCache shmcb:${APACHE_RUN_DIR}/ssl_stapling_cache(128000)
Run Code Online (Sandbox Code Playgroud)

我现在可以毫无问题地重新启动 Apache,但是,基于以下原因,OCSP 似乎不起作用:

openssl s_client -connect www.example.com:443 -servername www.example.com -status < /dev/null
Run Code Online (Sandbox Code Playgroud)
OCSP response: no response sent
Run Code Online (Sandbox Code Playgroud)

我做错了什么,是否与我的 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)
Run Code Online (Sandbox Code Playgroud)

SSLLabs 同意:97.5%(我必须为我的 LG 手机启用密码)

编辑SSLLabs 同意:100% 100% 修复。愚蠢的电话和曲线支持。

在我的情况下,我使用的是通用线:

SSLCertificateFile /etc/letsencrypt/live/berb.ec/cert.pem
Run Code Online (Sandbox Code Playgroud)

我更改为 fullchain.pem 文件,一切都很好。

SSLCertificateFile /etc/letsencrypt/live/berb.ec/fullchain.pem
Run Code Online (Sandbox Code Playgroud)

或者,您可以在 VirtualHost 文件中添加一行

SSLCACertificateFile /etc/letsencrypt/live/berb.ec/chain.pem
Run Code Online (Sandbox Code Playgroud)

这是我的完整/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
Run Code Online (Sandbox Code Playgroud)

我仍在研究 OCSP Must Staple

EDIT1: OCSP必须装订工作。这是 certbot 客户端中的一个选项:

certbot --must-staple --rsa-key-size 4096
Run Code Online (Sandbox Code Playgroud)