[Berlin-wireless] OpenVPN GUI in FFF

Sven-Ola Tuecke sven-ola
Di Mai 25 09:43:23 CEST 2010


Hallo Mickey,

jetzt hab' ich es auch geschnallt. Bin nicht so fix. Also das ist so: 

- Ein Klient akzeptiert erstmal jeden Schluessel mit gueltigem Zertifikat 
ausgestellt von der CA. Inklusive Schluessel von anderen Clients (die sind ja 
auch gueltig unterschrieben).

- Bei hundert ausgestellten Schluesseln kann einem schon mal einer abhanden 
kommen. Mit dem geklauten Laptop kann man sich 1) in den Server einwaehlen 
und 2) anderen Klienten was vormachen.

- Darum hat Netscape eine Extension eingefuehrt, mit der der Server-Schluessel 
als solcher markiert ist. Die Einwahl (1) verhindert das noch nicht, sehr 
wohl aber das anderen-Clients-was-vormachen (2). Die Einwahl kann man nur mit 
einer Certification-Revoke-List verhindern (==Liste mit nicht mehr 
akzeptierten Keys/Zertis). Die Liste der geklauten Key/Zertis muesste man 
dann eigentlich auch auf allen Clients verbreiten ==> das ist aufwaendig. 
Also gibts eine Option "nur mit Server verbinden".

- Die Markierung "Ich bin ein Server Schluessel" gibs als Netscape-Extension 
(Alt+soll nicht mehr verwendet werden) und als EKU (Extended Key Usage, 
Neu+soll jetzt verwendet werden). Im OpenVPN gibts daher das "easy-rsa" in 2 
Versionen: 1.0 == Netscape extension, 2.0 == SSLv3-Extension.

Du hast "1.0" verwendet und darum gibts kein Connect weil ich das 
neuere "remote-cert-tls server" fuer den Client eingebaut habe. -> to be 
coded.

Achso. Reingucken in das Zertifikat um Typ zu checken geht so: "openssl 
x509 -text -in server.crt".  Steht da unter "X509v3 extensions" ein "Netscape 
Cert Type: SSL Server" ist es ein Server-Schluessel (gemacht mit 1.0 oder 
2.0). Steht da zusaetzlich "X509v3 Extended Key Usage: TLS Web Server 
Authentication" ist es mit 2.0 gemacht.

Das noch nicht fertig. Guck' in den naechsten Tagen mal hier rein:
http://download.berlin.freifunk.net/sven-ola/testing/ChangeLog

// Sven-Ola

Am Samstag 22 Mai 2010 22:33:44 schrieben Sie:
> Hallo,
>
> vielen Dank, dass Du Dir für diese Sache Zeit nimmst.
>
> Am 22.05.2010 17:54, schrieb Sven-Ola Tücke:
> > diese remote-cert-tls-Sache gibts (glaube ich) erst seit neuerdings. Ein
> > aelterer ovpn-2.0 schluckt das nicht.
>
> Also laut manpage für 2.1 ist beides möglich. Und die ist relativ alt,
> "Updated 17. November 2008", sagt openvpn.net
>
> > Ich nehm' an, deinen Server gibts schon
> > laenger?
>
> Das stimmt schon, aber wir haben damals direkt mit 2.1 angefangen,
> obwohl es wohl noch beta war.
>
> Wenn ich die Situation richtig erinnere, dann ist unser Server-Cert
> erstellt mit dem beiliegenden easy-rsa Script Bundle und da speziell dem
> Script build-key-server. Dabei wird dann der nsCertType auf "server"
> gesetzt.
>
> > Das waere fuer einen point-to-multi-client dann eher was
> > allgemeinverstaendliches wie "Server/Certs is from older version of
> > openvpn" und dann "remote-cert-tls server" raus und "ns-cert-type server"
> > rein...?
>
> Ok, dass es allgemein verständlich sein sollte. Aber es sollte meiner
> Meinung nach keine Entweder-Oder-Entscheidung sein.
>
> Vorschlag (für Server und point-to-multi-client sinnvoll):
>
> "Enable strict key usage checking" -> remote-cert-tls client|server
> "Enable strict cert type checking" -> ns-cert-type client|server
>
> Gruß,
> Mickey






Mehr Informationen über die Mailingliste Berlin