9.8. Revoking Certificates
Problem
Your OpenVPN setup is working perfectly, and everyone is happy. You've just gotten the news that an employee has left the company, or perhaps one of your road warriors has lost a laptop. At any rate, you need to terminate a user's access. How is this done?
Solution
Change to the /etc/openvpn/easy-rsa/ directory on the server, and run these two commands, using the name of the client certificate you need to revoke:
# . ./vars
# ./revoke-full stinkpad
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
DEBUG[load_index]: unique_subject = "yes"
Revoking Certificate 01.
Data Base Updated
Using configuration from /etc/openvpn/easy-rsa/openssl.cnf
DEBUG[load_index]: unique_subject = "yes"
stinkpad.crt: /C=US/ST=NA/O=Alrac.net-test/CN=openvpnclient-stinkpad/
emailAddress=carla@alrac.net
error 23 at 0 depth lookup:certificate revokederror 23 means your
revocation was successful. You'll see a new file,
/etc/openvpn/easy-rsa/keys/crl.pem, that contains
your control revocation list.
Now, you need to add this line to your server configuration file:
crl-verify /etc/openvpn/easy-rsa/crl.pem
Restart the OpenVPN server:
# /etc/init.d/openvpn restartYou're done, and the user is locked out. For future revocations, you don't need to restart the server. If the user is connected, OpenVPN will kick them off in an hour anyway when it negotiates new send and receive keys.
Or, you can send a SIGHUP, and kick them off immediately:
# /etc/init.d/openvpn reloadThis flushes ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access