OCSP Stapling

Online Certificate Status Protocol (OCSP) was created as an alternative to the Certificate Revocation List (CRL) protocol. Both protocols are used to check whether an SSL Certificate has been revoked. The CRL protocol requires the browser to spend time downloading and then searching a list for certificate information. With OCSP, the browser simply posts a query and receives a response from an OCSP responder (a Certificate Authority’s (CA's) server that specifically listens for and responds to OCSP requests) about the revocation status of a certificate.

OCSP stapling can be used to enhance the OCSP protocol by letting the webhosting site be more proactive in improving the client (browsing) experience. OCSP stapling allows the certificate presenter (i.e. web server) to query the OCSP responder directly and then cache the response. This securely-cached response is then delivered with the TLS/SSL handshake via the Certificate Status Request extension response, ensuring that the browser gets the same response performance for the certificate status as it does for the website content.

LSWS Version Through Apache config LSWS native configure
5.1+ v v
4.2.x or 5.0.x x v
4.2- x x
  • Non-self-signed SSL Certificate
  • Port 443 enabled for https
  • If using Apache config, HTTPD Server 2.3.3+

Follow the same method as Apache through httpd.conf. See these external references for more information: digicert.com or globalsign.com

For cPanel

OCSP enabled by default on latest WHM/cPanel

The latest cpanel/WHM server has enable OCSP automatically at /etc/apache2/conf/httpd.conf hence you don't need to do any extra work on it.

  <IfModule socache_shmcb_module>
      SSLUseStapling On
      SSLStaplingCache shmcb:/run/apache2/stapling_cache_shmcb(256000)
      # Prevent browsers from failing if an OCSP server is temporarily broken.
      SSLStaplingReturnResponderErrors off
      SSLStaplingErrorCacheTimeout 60
      SSLStaplingFakeTryLater off
      SSLStaplingResponderTimeout 3
      SSLSessionCache shmcb:/run/apache2/ssl_gcache_data_shmcb(1024000)
  </IfModule>

Earlier version of cPanel/WHM

For an earlier version of cPanel/WHM, you can manually add SSLStaplingCache and SSLUseStapling on directives to apache configuration.

Add the following lines to:

  1. For EA3: /usr/local/apache/conf/includes/pre_main_global.conf
  2. For EA4: /etc/apache2/conf.d/includes/pre_main_global.conf
<IfModule Litespeed>
SSLStaplingCache shmcb:/tmp/stapling_cache(128000)
</IfModule>

Edit your site’s VirtualHost SSL configuration.

Add the following lines to:

  1. For EA3: /usr/local/apache/conf/userdata/lscache_vhosts.conf
  2. For EA4: /etc/apache2/conf.d/userdata/lscache_vhosts.conf

(if these directories do not exist, create them).

<IfModule Litespeed>
  SSLUseStapling on
</IfModule>

Apply these changes to all Virtual Hosts by running the following command:

/scripts/ensure_vhost_includes --all-users  

For Plesk

Plesk server has not enabled OCSP by default yet and still feature request stage at the time of this writing.

As a workaround, create a file named lsocsp.conf in the following directory depending upon your system:

  • For CentOS, the /etc/httpd/conf.d/ directory
  • For Debian, the /etc/apache2/conf.d/ directory
  • For Ubuntu, the /etc/apache2/conf-enabled directory

This lsocsp.conf file should contain the following:

  <IfModule Litespeed>
    SSLStaplingCache shmcb:/var/run/ocsp(128000)
    SSLUseStapling on
  </IfModule>

Then restart LSWS.

Set up a secure listener

Add a listener (WebAdmin console > Configuration > Listeners > Add).

Make sure you click Yes under the Secure setting. (The other settings should be customized to listen to the correct IP and port for the virtual hosts this listener will be mapping to.)

Set up certificate files

Open up the listener again (View/Edit).

Under the SSL tab, enter the paths and locations for your certificates and key files.

Set the OCSP values

To set up OCSP stapling, you must set Enable OCSP Stapling to Yes. It is also better to put the address of your OCSP responder in the OCSP Responder field (though the server may be able to find it in your CA certificate). Check with your CA for your OCSP responder's address.

Graceful restart

Click the Apply Changes link to execute a graceful restart and apply your changes.

Method 1:

Check in /dev/shm/lsws/ocspcache/ for newer version or $SERVER_ROOT/tmp/ocspcache/ for earlier version. If a file has been created there, then your OCSP stapling is working. If not, check your error logs for what went wrong.

/dev/shm/lsws/ocspcache>ls -alt | head; date
total 44
drwxr-x--- 4 nobody nobody 400 Jul 13 05:16 ..
drwx------ 2 nobody nobody 260 Jul 13 00:07 .
-rw------- 1 nobody nobody 472 Jul 13 00:07 Reacb027c3975b5e2d620bbb279008dad.rsp
-rw------- 1 nobody nobody 472 Jul 12 11:20 R46e10f27f45529e132faf1c78ff62725.rsp
-rw------- 1 nobody nobody 471 Jul 10 18:02 Re3a1d7181c38b68e517f80cbf4bd4e4e.rsp
-rw------- 1 nobody nobody 471 Jul 10 15:14 R053b55e8211ae3d02580bdd50b5b00b8.rsp
-rw------- 1 nobody nobody 471 Jul 10 14:09 Rf06839ee82080282fda44cd5633b3538.rsp
-rw------- 1 nobody nobody 471 Jul 10 13:33 Raf1ac6061835bfb1b4df9313b3b8e234.rsp
-rw------- 1 nobody nobody 472 Jul  8 14:58 R53fb6a7fcc1d8fd11c10a5b6c4ad15fc.rsp
Mon Jul 13 06:12:33 UTC 2020

Method 2:

Use the openssl command:

openssl s_client -connect Your_Domain:443 -status | grep "OCSP Response Status"

If OCSP stapling is working, it will show ok. Then check OCSP Response Status: should be successful in OCSP Response Data section

For example:

openssl s_client -connect litespeedtech.com:443 -status | grep "OCSP Response Status"
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = *.litespeedtech.com
verify return:1
    OCSP Response Status: successful (0x0)

Method 3:

  1. then search for “OCSP stapling”.

For example,

https://www.ssllabs.com/ssltest/analyze.html?d=litespeedtech.com
OCSP stapling   Yes

OCSP response is cached for 1-day. If you change your SSL certificate provider and see a cached OCSP response for a domain, you can safely remove the cache files under OCSP cache folder, but not the folder itself.

  • Admin
  • Last modified: 2020/07/14 18:57
  • by Jackson Zhang