Opportunistic Encryption: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
=Hardware= |
|||
Beliebige Rechner, auf denen Linux mit Kernel 2.4 oder 2.6 drauf läuft. |
Beliebige Rechner, auf denen Linux mit Kernel 2.4 oder 2.6 drauf läuft. |
||
=Software= |
|||
FreeSwan auf mindestens zwei verschiedenen Rechnern und einen DNS-Server. |
FreeSwan auf mindestens zwei verschiedenen Rechnern und einen DNS-Server. |
Revision as of 13:14, 9 September 2005
Hardware
Beliebige Rechner, auf denen Linux mit Kernel 2.4 oder 2.6 drauf läuft.
Software
FreeSwan auf mindestens zwei verschiedenen Rechnern und einen DNS-Server.
Wir haben für unsere Installation Debian Sarge verwendet mit Kernel 2.6.
Mit Debian reicht ein
apt-get install freeswan
Das eigentlich aktuellere OpenSwan in derzeit für OE leider nicht geeignet. Zumindest bei kernel-2.6.8 besteht das Problem, dass die folgende Fehlermeldung kommt:
Sep 9 09:17:45 localhost pluto[13449]: %hold otherwise handled during DNS lookup for Opportunistic Initiation for 10.0.42.2 to 10.0.23.2
Im Verzeichnis openswan-*/doc/2.6.known-issues steht das zumindest unter CURRENT ISSUES.
Keys erzeugen
Um DNS-Einträge mit Schlüsseln zu erzeugen nimmt man ipsec mailkey. Dieses Tool generiert eine ausführbare Datei in der die TXT Records stehen, die man in das Reverse-DNS eintragen muss.
ipsec mailkey --me test@localhost --reverse 10.0.23.2
In der Datei befindet sich dann der DNS-Record:
--DNS_RESOURCE_RECORDS-- 2.23.0.10.in-addr.arpa. IN TXT "X-IPsec-Server(10)=10.0.23.2" "lakdfklajsdfoiweruo82347.... " --DNS_RESOURCE_RECORDS--
Wenn man nun die Rechner die Records eingetragen hat, muss man noch dafür sorgen, dass DNS-Anfragen beim Aushandeln der Schlüssel nicht der OE zum Opfer fällt. Dazu trägt man am besten den DNS-Server in die Datei
/etc/ipsec.d/policies/clear
in Form von
a.b.c.d/32
ein.
Falls der DNS-Server lokal läuft sollte man Verschlüsselung auf dem lo-Deviceverbieten, indem man folgendes in die /etc/ipsec.conf einträgt. (Steht auch im doc/* drin.)
conn exclude-lo authby=never left=127.0.0.1 leftsubnet=127.0.0.0/8 right=127.0.0.2 rightsubnet=127.0.0.0/8 type=passthrough auto=route