Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement OCSP stapling for Apache #930

Closed
jsha opened this issue Oct 8, 2015 · 11 comments
Closed

Implement OCSP stapling for Apache #930

jsha opened this issue Oct 8, 2015 · 11 comments

Comments

@jsha
Copy link
Contributor

jsha commented Oct 8, 2015

OCSP Stapling is important for end-user privacy, end-user performance, and traffic offload for Let's Encrypt. We should implement it in Apache. Here's an example config: https://github.com/jsha/ocsp-stapling-examples.

@bmw bmw added this to the Nice for 1.0 milestone Oct 13, 2015
@pde
Copy link
Member

pde commented Oct 30, 2015

@sagi has expressed some interest in working on this

@sagi
Copy link
Member

sagi commented Nov 6, 2015

Yes. I'm currently working on an HSTS header enhancement. OCSP stapling is next.

@jsha
Copy link
Contributor Author

jsha commented Mar 18, 2016

FYI: I think we eventually want OCSP Stapling (but not Must Staple) to be enabled by default when autoconfiguring Apache. However, for the first release that includes this code, we should probably require a flag to request the enhancement. That way people can test and find bugs before we make it the default.

Also, one tricky thing that @SwartzCr noticed: I believe OCSP Stapling in Apache depends on the socache_shmcb module, which was introduced in 2.4. In order to be backwards compatible with 2.2 you'll have to check the version you're working with. It's possible that OCSP Stapling works in 2.2 if you simple omit the shmcb parts. You may also be able to fudge it for a first pass by only enabling OCSP Stapling for 2.4+.

@jsha
Copy link
Contributor Author

jsha commented Mar 21, 2016

@sagi, were you able to make progress on this over the weekend?

@sagi
Copy link
Member

sagi commented Mar 21, 2016

Not much. I mostly read RFC 7633 and messed with its Apache config.

@jsha
Copy link
Contributor Author

jsha commented Mar 21, 2016

If it helps, I have some example configs at https://github.com/jsha/ocsp-stapling-examples.

@sagi
Copy link
Member

sagi commented Mar 22, 2016

@jsha, @pde: I tend to agree with Adam Langely's take on OCSP Stapling - it must be entwined with the must_stable extension. Otherwise it should be off.

@jsha
Copy link
Contributor Author

jsha commented Mar 22, 2016

From reading that post, I don't see an assertion that Stapling should be disabled unless Must Staple is present in the certificate. The point I see in that post is that individuals should not enable revocation checking in their Chrome browser.

Note that Firefox and MSIE still check OCSP, even though Chrome doesn't. For users of those browsers, non-stapled OCSP is both a performance and privacy loss. For Let's Encrypt, non-stapled OCSP increases the number of requests we have to serve. Those three reasons are why I think we should make Stapling the default. Cloudflare agrees.

@sagi
Copy link
Member

sagi commented Mar 22, 2016

No, that is not what I meant.
OCSP shouldn't be used.
OCSP Stapling ~~~+ must staple extension~~~ should become default. ~~~If OCSP Stapling is on but the certificate doesn't have the must staple extension - OCSP Stapling should be off~~~.

Got it. Thanks.

@RichardNeill
Copy link

It may help to provide a tested "incantation".
I have the following in my
/etc/apache2/mods-available/ssl.conf
which has worked well for over a year.

-----begin----
#Enable SSL Cert Stapling. Configuration for SSL cert stapling, as suggested by
#https://support.globalsign.com/customer/portal/articles/1642333-apache---enable-ocsp-stapling
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling_cache(128000)"
SSLStaplingResponderTimeout 5
SSLStaplingReturnResponderErrors off
SSLStaplingStandardCacheTimeout 86400
SSLStaplingErrorCacheTimeout 1200
---end-----

I believe if you add this to the file /etc/letsencrypt/options-ssl-apache.conf then that's all you need to do to close this bug.

To test, you can use SSLLabs.com and search for "OCSP stapling" in the protocol details.
[Surprisingly, a lack of OCSP stapling doesn't cause us to lose an "A+".]

@jsha jsha unassigned sagi May 6, 2016
@bmw
Copy link
Member

bmw commented Aug 17, 2016

This was resolved in #2723.

@bmw bmw closed this as completed Aug 17, 2016
@bmw bmw modified the milestones: 0.7.0, 1.0.0 Aug 17, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants