1

Temat: Open VPN - tunel przestal dzialać po 6 miesiącach

Witam.

Zrobiłem sobie łączność VPN według instrukcji:

"OpenWrt - konfiguracja serwera OpenVPN w trybie TUN"
https://eko.one.pl/?p=openwrt-openvpntun

i około 6 miesięcy łączność działała.

Obecnie przestała działać i w logu po stronie serwera VPN jest następująca informacja:

Fri Nov 27 17:22:27 2020 94.254.160.103:2642 TLS: Initial packet from [AF_INET]94.254.160.103:2642, sid=xxxxxxxx xxxxxxxx
Fri Nov 27 17:22:28 2020 94.254.160.103:2642 VERIFY ERROR: depth=0, error=CRL has expired: CN=klient
Fri Nov 27 17:22:28 2020 94.254.160.103:2642 OpenSSL: error:1417C086:SSL routines:tls_process_client_certificate:certificate verify failed
Fri Nov 27 17:22:28 2020 94.254.160.103:2642 TLS_ERROR: BIO read tls_read_plaintext error
Fri Nov 27 17:22:28 2020 94.254.160.103:2642 TLS Error: TLS object -> incoming plaintext read error
Fri Nov 27 17:22:28 2020 94.254.160.103:2642 TLS Error: TLS handshake failed
Fri Nov 27 17:22:28 2020 94.254.160.103:2642 SIGUSR1[soft,tls-error] received, client-instance restarting

A po stronie klienta:

Sat Nov 28 13:33:24 2020 TCP/UDP: Preserving recently used remote address: [AF_INET]xxx.xxx.xxx.xxx:1194
Sat Nov 28 13:33:24 2020 Socket Buffers: R=[163840->163840] S=[163840->163840]
Sat Nov 28 13:33:24 2020 UDP link local (bound): [AF_INET][undef]:1194
Sat Nov 28 13:33:24 2020 UDP link remote: [AF_INET]xxx.xxx.xxx.xxx:1194
Sat Nov 28 13:33:25 2020 TLS: Initial packet from [AF_INET]xxx.xxx.xxx.xxx:1194, sid=xxxxxxxx
Sat Nov 28 13:33:26 2020 VERIFY OK: depth=1, CN=serwer
Sat Nov 28 13:33:26 2020 VERIFY KU OK
Sat Nov 28 13:33:26 2020 Validating certificate extended key usage
Sat Nov 28 13:33:26 2020 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
Sat Nov 28 13:33:26 2020 VERIFY EKU OK
Sat Nov 28 13:33:26 2020 VERIFY OK: depth=0, CN=serwer
Sat Nov 28 13:34:25 2020 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Sat Nov 28 13:34:25 2020 TLS Error: TLS handshake failed
Sat Nov 28 13:34:25 2020 SIGUSR1[soft,tls-error] received, process restarting
Sat Nov 28 13:34:25 2020 Restart pause, 300 second(s)


O ile dobrze rozumiem, skończyła się ważność certyfikatów.

W jaki sposób ten problem naprawić?

Gdzie ustawia się termin ważności certyfikatów lub długość ważności certyfikatów?

Czy wystarczy zaktualizować ważność certyfikatów po stronie serwera, czy  to zrobić po stronie klienta?

Czy wystarczy wygenerować ponownie plik crl.pem i/lub dh.pem?

Pozdrawiam.

2

Odp: Open VPN - tunel przestal dzialać po 6 miesiącach

Przy generowowaniu certyfikatów ustawia się jaki jest czas ważności. Jeżeli ci wygasły to po prostu musisz wygenerować od nowa, i dla serwera i dla klientów. I oczywiście je późnij podmienić.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Open VPN - tunel przestal dzialać po 6 miesiącach

Nie, czekaj. On się drze że CRL wygasł. Więc chyba wystarczy że clr wygenerujesz.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

4

Odp: Open VPN - tunel przestal dzialać po 6 miesiącach

Dziękuję Cezary.

Problem rozwiązany. Opisuję zagadnienie szczegółowo bo może jeszcze komuś się to przyda.

Okazało się, ze podczas przygotowywania mojego tunelu korzystając z Twojej instrukcji zastosowałem dodatkowo ostatni opcjonalny podpunkt:

Anulowanie certyfikatu klienta.

Jest tam opisana procedura generowania pliku o nazwie crl.pem, który zawiera listę uniewaznionych certyfikatow.

Treść tego pliku jest zakodowana, ale można ją podejrzeć za pomocą polecenia:

openssl crl -in crl.pem -noout -text

U mnie wydanie tego polecenia pokazuje:

Certificate Revocation List (CRL):
        Version
        Signature Algorithm: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        Issuer: CN = serwer
        Last Update: May 26 22:34:10 2020 GMT
        Next Update: Nov 25 22:34:10 2020 GMT
       

Revoked Certificates:
    Serial Number: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        Revocation Date:
    Signature Algorithm: xxxxxxxxxxxxxxxxxxxxxxxxxx

Okazalo sie, że waznosc pliku crl.pem domysnie ustawiana jest na 6 miesiecy.

Po wydaniu polecenia:
/etc/easy-rsa # easyrsa gen-crl

pojawil się komunikat:

An updated CRL has been created.
CRL file: /etc/easy-rsa/pki/crl.pem

i zostal stworzony nowy plik crl.pem

po podejrzeniu treści:

# openssl crl -in crl.pem -noout -text

Certificate Revocation List (CRL):
        Version 2 (0x1)
        Signature Algorithm: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
        Issuer: CN = serwer
        Last Update: Nov 28 20:30:15 2020 GMT
        Next Update: May 27 20:30:15 2021 GMT

widać, że plik został znów wydany na pół roku.

Teraz pozostało przekopiować go do katalogu:
/etc/openvpn

i restart routera.

Pozdrawiam.

5

Odp: Open VPN - tunel przestal dzialać po 6 miesiącach

Dzięki za świetne wyjaśnienie problemu.
Mnie też to spotkało i przyznam ze zirytowała mnie potrzeba pamiętania o generowaniu crl.pem co 6 mc.

Ale pogrzebałem w pliku vars, gdzie jest opcja "set_var EASYRSA_CRL_DAYS       180"

Zmieniając ja można sobie ustawić dłuży termin ważności - np 2 lata smile