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