Hi,
ich versuche mal zu Dokumentieren wie man einen HS aus dem Internet erreichbar mach - und das ganze per Zertifikat absichert.
Voraussetzung:
ein Linux-System auf dem ein Apache 2 läuft.
Eine selbst konfigurierte CA mit der man sich die keys erzeugen kann.
Ein einfacher weg dürfte über die easyRSA sein:
RSA Key Management
Dort die Kapitel INSTALL und BUILD YOUR OWN ROOT CERTIFICATE AUTHORITY abarbeiten.
Falls für euer Linux kein easy-rsa package verfügbar ist - hier die quelle:
https://github.com/OpenVPN/easy-rsa/...r/easy-rsa/2.0
(auf dem Wiregate ist easy-rsa imho installiert)
Den key für den Webserver erzeugt man mit
./build-key <meinwebserver>
(ergebniss müsste ein .crt und ein .key sein)
dann vermutlich Client-Keys erzeugen mit
./build-key-pkcs12 mycert
(Ergebnis müsste ein .p12-file sein)
Bei mir läuft die CA schon eine weile - daher kann ich diesen Teil gerade nicht nachvollziehen.
Apache:
in httpd.conf die Proxy module aktivieren:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
In
/etc/apache/sites-available/
eine deue Datei anlegen: vi homeserver
Die beiden http://<ip-des-hs>:<port> ersetzen durch die richtige IP-Adresse und Port.
In /etc/apache2/sites-enabled die Configuration verlinken
und Apache2 re-starten
/etc/init.d/apache 2 restart
Jetzt muss man noch das Webserver-Zertifikat importieren & vertrauen - dazu die meinwebserver.crt einfach per Mail oder USB-Stick zum Client schicken und anklicken.
Dazu noch den privaten Schlüssel (die das .p12-file) auf den Client installieren - dabei auf sicheren Transportweg achten.
... und jetzt: Viel erfolg. Feedback & Verbesserungsvorschläge sind Erwünscht.
Gruß
Thorsten
ich versuche mal zu Dokumentieren wie man einen HS aus dem Internet erreichbar mach - und das ganze per Zertifikat absichert.
Voraussetzung:
ein Linux-System auf dem ein Apache 2 läuft.
Eine selbst konfigurierte CA mit der man sich die keys erzeugen kann.
Ein einfacher weg dürfte über die easyRSA sein:
RSA Key Management
Dort die Kapitel INSTALL und BUILD YOUR OWN ROOT CERTIFICATE AUTHORITY abarbeiten.
Falls für euer Linux kein easy-rsa package verfügbar ist - hier die quelle:
https://github.com/OpenVPN/easy-rsa/...r/easy-rsa/2.0
(auf dem Wiregate ist easy-rsa imho installiert)
Den key für den Webserver erzeugt man mit
./build-key <meinwebserver>
(ergebniss müsste ein .crt und ein .key sein)
dann vermutlich Client-Keys erzeugen mit
./build-key-pkcs12 mycert
(Ergebnis müsste ein .p12-file sein)
Bei mir läuft die CA schon eine weile - daher kann ich diesen Teil gerade nicht nachvollziehen.
Apache:
in httpd.conf die Proxy module aktivieren:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
In
/etc/apache/sites-available/
eine deue Datei anlegen: vi homeserver
Code:
Listen *:81 NameVirtualHost *:81 <VirtualHost *:81> ErrorLog /var/log/apache2/hs-ssl.error.log CustomLog /var/log/apache2/hs-ssl.access.log combined ProxyRequests off ProxyPass / http://<ip-des-hs>:<port>/ ProxyHTMLURLMap http://<ip-des-hs>:<port>/ / # SSL SSLEngine On SSLCipherSuite HIGH:MEDIUM SSLCertificateFile /etc/apache/ssl/keys/webserver.crt SSLCertificateKeyFile /etc/apache/ssl/keys/webserver.key # activate the client certificate authentication SSLCACertificateFile /etc/apache/ssl/ca.crt SSLVerifyClient require SSLVerifyDepth 2 <Location /> #AuthType Basic #AuthName "Geschuetzter Bereich" #AuthUserFile /etc/apache2/htpasswd #Require valid-user Options Indexes FollowSymLinks MultiViews Order allow,deny allow from all SetOutputFilter proxy-html RequestHeader unset Accept-Encoding #Reverse Proxy ProxyPassReverse / </Location> </VirtualHost>
In /etc/apache2/sites-enabled die Configuration verlinken
Code:
cd /etc/apache2/sites-enabled ln -s ../sites-available/homeserver
/etc/init.d/apache 2 restart
Jetzt muss man noch das Webserver-Zertifikat importieren & vertrauen - dazu die meinwebserver.crt einfach per Mail oder USB-Stick zum Client schicken und anklicken.
Dazu noch den privaten Schlüssel (die das .p12-file) auf den Client installieren - dabei auf sicheren Transportweg achten.
... und jetzt: Viel erfolg. Feedback & Verbesserungsvorschläge sind Erwünscht.
Gruß
Thorsten
Kommentar