OpenVPN klient na ASUS WL-500gP V2 - Chyba certifikátu

Po instalaci OpenVPN klienta na ASUS WL-500gP V2 na (OpenWRT) se nedařilo připojit k VPN serveru. V logu OpenVPN na serveru se objevovala chyba TLS, která naznačuje o chybu/neplatnost certifikátu.


OpenVPN klient na ASUS WL-500gP V2 - Chyba certifikátu Štítky:  , , , ,

    Po instalaci OpenVPN klienta na ASUS WL-500gP V2 na (OpenWRT) se nedařilo připojit k VPN serveru. V logu OpenVPN na serveru se objevovala chyba TLS, která naznačuje o chybu/neplatnost certifikátu a to i přesto, že jsem klientský i serverový certifikát generoval na stejném stroji s odstupem asi pěti minut:


…
Thu May 10 21:45:44 2012 xxx.xxx.xxx.xxx:1024 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Thu May 10 21:45:44 2012 xxx.xxx.xxx.xxx:1024 TLS Error: TLS handshake failed
Thu May 10 21:45:44 2012 xxx.xxx.xxx.xxx:1024 SIGUSR1[soft,tls-error] received, client-instance restarting
Thu May 10 21:45:47 2012 MULTI: multi_create_instance called
Thu May 10 21:45:47 2012 xxx.xxx.xxx.xxx:1024 Re-using SSL/TLS context
Thu May 10 21:45:47 2012 xxx.xxx.xxx.xxx:1024 LZO compression initialized
Thu May 10 21:45:47 2012 xxx.xxx.xxx.xxx:1024 Control Channel MTU parms [ L:1542 D:166 EF:66 EB:0 ET:0 EL:0 ]
Thu May 10 21:45:47 2012 xxx.xxx.xxx.xxx:1024 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Thu May 10 21:45:47 2012 xxx.xxx.xxx.xxx:1024 Local Options hash (VER=V4): 'b5edb94e'
Thu May 10 21:45:47 2012 xxx.xxx.xxx.xxx:1024 Expected Remote Options hash (VER=V4): '53f7fc82'
Thu May 10 21:45:47 2012 xxx.xxx.xxx.xxx:1024 TLS: Initial packet from [AF_INET]xxx.xxx.xxx.xxx:1024, sid=dcd6b6ed ae09bdad
Thu May 10 21:45:49 2012 xxx.xxx.xxx.xxx:1024 TLS: new session incoming connection from [AF_INET]xxx.xxx.xxx.xxx:1024
Thu May 10 21:45:50 2012 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
…


Po chvíli mi došlo, že je chyba na ASUSu, který má po rebootu nastaveno defaultní datum a čas na někdy hodně v minulosti, tedy před platností certifikátu (ještě nedošlo k nastavení data přes NTP, nebo není korektně nakonfigurován DNS systém – dnsmasq, server apod.). O tom svědčí i výpis logu OpenVPN na ASUSu.


...
Tue Mar  1 02:00:29 2011 UDPv4 link local: [undef]
Tue Mar  1 02:00:29 2011 UDPv4 link remote: xxx.xxx.xxx.xxx:1194
Tue Mar  1 02:00:29 2011 TLS: Initial packet from xxx.xxx.xxx.xxx:1194, sid=a487fbbb 39ccb2ad
Tue Mar  1 02:00:29 2011 VERIFY ERROR: depth=1, error=certificate is not yet valid: /C=CZ/ST=Czech/L=Prague/O=XXXX/CN=servername/emailAddress=admin_email
Tue Mar  1 02:00:29 2011 TLS_ERROR: BIO read tls_read_plaintext error: error:14090086:lib(20):func(144):reason(134)
Tue Mar  1 02:00:29 2011 TLS Error: TLS object -> incoming plaintext read error
Tue Mar  1 02:00:29 2011 TLS Error: TLS handshake failed
Tue Mar  1 02:00:29 2011 TCP/UDP: Closing socket
Tue Mar  1 02:00:29 2011 SIGUSR1[soft,tls-error] received, process restarting
Tue Mar  1 02:00:29 2011 Restart pause, 2 second(s)
...


Oprava je jednoduchá - stačí v initscriptu OpenVPN, před startem služby, nastavit systémové datum na ASUSu na začátek platnosti certifikátu (o nastavení reálného data a času se pak už postará ntp daemon).


nano /etc/init.d/openvpn

#!/bin/sh /etc/rc.common
# OpenVPN init script
# Copyright (C) 2008 Jo-Philipp Wich
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.

START=95
BIN=/usr/sbin/openvpn
SSD=start-stop-daemon
EXTRA_COMMANDS="up down"

#
# 20120304 = PK, Hack due to openvpn certificate, Set date to 1. of Mar 2012
#
DATE=/bin/date
DEF_DATE="2012-03-01 02:00:00"
NOW=`$DATE '+%s'`
if [ "$NOW" -lt "1330560000" ]
then
$DATE -s "$DEF_DATE" 1>/dev/null 2>/dev/null
fi
…


Tato jednoduchá úprava initscriptu zaručí připojení ASUSU do VPN ihned po restartu bez nutnosti čekání na automatickou aktualizaci data a času přes NTP.
;  
Vaše názory a komentáře: 0 ;  Zobrazeno: 8658 x ;  Hodnoceno: 1 x ;  Hodnocení článku : Hodnocení článku:80%

Hodnocení článku: 1 2 3 4 5


Přidat komentář
Jméno
E-Mail
Zadejte pátou čísici z čísla Zadejte pátou čísici z čísla
Pokud očekáváte odpověď na Vámi vložený komentář, zadejte Váš e-mail.
Vložením komentáře souhlasíte s pravidly.