yankee927
Goto Top

OpenVPN mit einem Webserver nutzen

Ich habe einen Webserver (Apache, MySQL, etc) unter Debian 4.0 angelegt und möchte Daten für die Website gesichert übertragen.
Um per VPN auf spezielle Verzeichnisse zugreifen zu können nutze ich Sambafreigaben.
Dabei verwende ich die Zertifikat gesteuerte Anmeldung am Server.

OpenVPN Einrichtung

Zu erst muss OpenVPN installiert werden, bitte dazu folgendes per SSH/PuTTY an den Server senden:

apt-get install openvpn

Um jetzt die Daten und Einstellungen zu ändern begeben wir uns in das Verzeichnis:
cd /usr/share/doc/openvpn/

und dann in
cd examples/

Zur Sicherheit und zum Bearbeiten kopieren wir den Inhalt in /etc/
cp -r /usr/share/doc/openvpn/ /etc/

Jetzt wechseln wir in das Verzeichnis easy-rsa um die Zertifikate zu erstellen:
cd /etc/openvpn/examples/easy-rsa/2.0

Zur Bearbeitung der config-Files nutzen wir den nano-Editor:

apt-get install nano

Um die Voreinstellungen für die Zertifikate zu ändern, editieren wir die die Datei "vars" über nano

nano vars

Änderungen:

  1. In how many days should the root CA key expire?
export CA_EXPIRE=3650

  1. In how many days should certificates expire?
export KEY_EXPIRE=3650

  1. These are the default values for fields
  2. which will be placed in the certificate.
  3. Don't leave any of these fields blank.
export KEY_COUNTRY="DE"
export KEY_PROVINCE="Berlin"
export KEY_CITY="Berlin"
export KEY_ORG=""
export KEY_EMAIL="info@mail.de"


Jetzt geben wir noch die "vars"-Datei als Quelle an, über:

source vars

Über ./clean-all werden alle bestehenden Zertifikate für "nichtig" erklärt.

Jetzt bauen wir uns ein paar neue über:
./build-ca

Das wichtigste ist das Serverzertifikat:
./build-key-server "Servernamen" (z.B. server1)
Hier können alle Angaben eigentlich mit [Enter] bestätigt werden, da die Einstellungen aus der "vars" übernommen werden.

Nun noch die Client-Zertifikate "bauen", man kann hier jeden beliebigen Namen angeben (z. B. buero oder chef)
./build-key client1

Jetzt gibt es hier ein Verzeichnis namens /keys , wir wechseln über cd keys in das Verzeichnis.

Um die Schlüssel auf die Clients zu übertragen erschaffen wir im Homeverzeichnis über – mkdir vpn-keys das Verzeichnis.

Nur noch die Schlüssel in das Verzeichnis kopieren:
cp ca.crt client1.crt client1.key /home/xxx/vpn-keys/

Wir wechseln in das Homeverzeich
cd /home/xxx/vpn-keys

und ändern die Dateiberechtigung, damit ein Download möglich ist
chmod 777 *

Die Server-Konfiguration erledigen wir über eine Beispieldatei aus dem Verzeichnis:
/etc/openvpn/examples/sample-config-files/
und entpacken diese über → gunzip server.conf.gz

Wir nutzen wieder unseren "nano" um die Datei zu ändern
nano server.conf

Änderungen

  1. SSL/TLS root certificate (ca), certificate
  2. (cert), and private key (key). Each client
  3. and the server must have their own cert and
  4. key file. The server and all clients will
  5. use the same ca file.
#
  1. See the "easy-rsa" directory for a series
  2. of scripts for generating RSA certificates
  3. and private keys. Remember to use
  4. a unique Common Name for the server
  5. and each of the client certificates.
#
  1. Any X509 key management system can be used.
  2. OpenVPN can also use a PKCS #12 formatted key file
  3. (see "pkcs12" directive in man page).
ca /etc/openvpn/examples/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/examples/easy-rsa/2.0/keys/server1.crt
key /etc/openvpn/examples/easy-rsa/2.0/keys/server1.key # This file should be kept secret

  1. Diffie hellman parameters.
  2. Generate your own with:
  3. openssl dhparam -out dh1024.pem 1024
  4. Substitute 2048 for 1024 if you are using
  5. 2048 bit keys.
dh /etc/openvpn/examples/sample-keys/dh1024.pem


Zur Übersicht wechseln wir in das Wurzelverzeichnis
cd /


und führen die Konfigurationsdatei mit openvpn aus
openvpn /etc/openvpn/examples/sample-config-files/server.conf

Bei Ausgabe:

Tue Feb 10 22:32:16 2009 MULTI: multi_init called, r=256 v=256
Tue Feb 10 22:32:16 2009 IFCONFIG POOL: base=10.8.0.4 size=62
Tue Feb 10 22:32:16 2009 IFCONFIG POOL LIST
Tue Feb 10 22:32:16 2009 Initialization Sequence Completed

Alles i.O.

Bitte mit [ctrl] + [c] beenden und die server.conf per

cp /etc/openvpn/examples/sample-config-files/server.conf /etc/openvpn kopieren.

Nun starten der OpenVPN-Server von alleine.

Die Einrichtung von Samba reiche ich später nach.

Content-Key: 110395

Url: https://administrator.de/contentid/110395

Printed on: April 25, 2024 at 12:04 o'clock