{"id":1741,"date":"2020-04-03T11:04:28","date_gmt":"2020-04-03T09:04:28","guid":{"rendered":"http:\/\/clark.tipistrani.it\/?p=1741"},"modified":"2020-07-29T10:28:17","modified_gmt":"2020-07-29T08:28:17","slug":"openvpn-crl-has-expired","status":"publish","type":"post","link":"http:\/\/clark.tipistrani.it\/?p=1741","title":{"rendered":"Openvpn CRL has expired"},"content":{"rendered":"<p>In questo periodo folle in cui 3\/4 del mondo \u00e8 in isolamento la stragrande maggioranza dei colleghi lavora da casa via VPN, chi collegandosi via RDP alla propria macchina in ufficio, chi con una macchina dell&#8217;ufficio che si \u00e8 portata a casa e quindi si collega sempre VPN al DB del gestionale e alle risorse a cui ha accesso normalmente.<br \/>\nCome ho spiegato <a href=\"http:\/\/clark.tipistrani.it\/?p=1690\">qui<\/a> lo scorso anno al cambio fisico dei server abbiamo riscritto completamente le VPN e nell&#8217;ultimo mese ho dovuto attrezzare un bel numero di client, e per un misterioso motivo che non ho ancora capito ma che onestamente non ho ne tempo ne voglia di indagare ho dovuto revocare una serie di credenziali farlocche o meglio che non volevano saperne di andare, la chiave sta appunto in questa azione di revoca.<br \/>\nIeri nel pomeriggio telefonate sms skype da tutti i colleghi che lavoravano da casa e che mi dicono va che la VPN non funziona.<br \/>\nRiavvio i bastion hosts convinto che il problema sia di nat ma non si risolve guardo quindi i log della VPN e trovo un agghiacciante:<br \/>\nThu Apr 2 14:07:09 2020 Socket flags: TCP_NODELAY=1 succeeded<br \/>\nThu Apr 2 14:07:10 2020 192.168.2.240:17916 TLS: Initial packet from [AF_INET]192.168.2.240:17916, sid=33406af4 0b210143<br \/>\nThu Apr 2 14:07:10 2020 192.168.2.240:17916 VERIFY ERROR: depth=0, error=CRL has expired: C=IT, ST=MI, L=Inveruno, O=Myfirm S.p.A, OU=Systems &amp; Network Unit, CN=client32, name=EasyRSA, emailAddress=sysadmin@myfirm.com<br \/>\nThu Apr 2 14:07:10 2020 192.168.2.240:17916 OpenSSL: error:14089086:SSL routines:ssl3_get_client_certificate:certificate verify failed<br \/>\nThu Apr 2 14:07:10 2020 192.168.2.240:17916 TLS_ERROR: BIO read tls_read_plaintext error<br \/>\nThu Apr 2 14:07:10 2020 192.168.2.240:17916 TLS Error: TLS object -&gt; incoming plaintext read error<br \/>\nThu Apr 2 14:07:10 2020 192.168.2.240:17916 TLS Error: TLS handshake failed<br \/>\nThu Apr 2 14:07:10 2020 192.168.2.240:17916 Fatal TLS error (check_tls_errors_co), restarting<br \/>\nThu Apr 2 14:07:10 2020 192.168.2.240:17916 SIGUSR1[soft,tls-error] received, client-instance restarting<\/p>\n<p>CRL has expired??? WTF<br \/>\nGooglo rapidamente e trovo che qualcuno gi\u00e0 si \u00e8 trovato in questa situazione, in buona sostanza quando ho revocato le credenziali farlocche ho fatto partire un counter che a oggi ha bloccato tutto e il problema \u00e8 sulla revoca dei certificati.<\/p>\n<p>Commento le righe sui server che si occupano di questa verifica e rilancio il demone funziona tutto ma non \u00e8 cosi deve andare, vado a fondo della faccenda e trovo questo bel <a href=\"https:\/\/community.openvpn.net\/openvpn\/wiki\/CertificateRevocationListExpired\">link<\/a> volano bestemmie da scomunica, e maledizioni varie e assortite ai developer.<br \/>\nIl file crl.pem si rigenera ogni volta che revochi un certificato quindi la soluzione \u00e8 la seguente editare il file \/etc\/openvpn\/easy-rsa\/openssl.cnf e cambiare le due righe seguenti in questo modo:<br \/>\ndefault_days = 3650 # how long to certify for<br \/>\ndefault_crl_days= 3650 # how long before next CRL<br \/>\nla seconda di default ha 30 ed \u00e8 questo che ha generato il massacro.<br \/>\nA questo punto creo una serie di credenziali fittizie che poi vado a revocare in modo che il controllo vada a 3650 giorni, quindi . .\/vars quindi .\/build-key pippo genero il tutto e a seguire .\/revoke-full pippo che revoca i certificati (per non sbagliare mai cd keys e rm pippo.*) a questo punto il conteggio riparte e durer\u00e0 10 anni.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In questo periodo folle in cui 3\/4 del mondo \u00e8 in isolamento la stragrande maggioranza dei colleghi lavora da casa via VPN, chi collegandosi via RDP alla propria macchina in ufficio, chi con una macchina dell&#8217;ufficio che si \u00e8 portata a casa e quindi si collega sempre VPN al DB del gestionale e alle risorse [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,14,6],"tags":[176,177,78],"class_list":["post-1741","post","type-post","status-publish","format-standard","hentry","category-linux","category-networking","category-work","tag-crl","tag-openssl","tag-openvpn"],"_links":{"self":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/1741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1741"}],"version-history":[{"count":4,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/1741\/revisions"}],"predecessor-version":[{"id":1777,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=\/wp\/v2\/posts\/1741\/revisions\/1777"}],"wp:attachment":[{"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1741"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/clark.tipistrani.it\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}