[vz-users] Login/Absicherung von VZ Installationen

Andreas Goetz cpuidle at gmail.com
Sun Nov 20 11:10:00 CET 2016


Moin,

> On 19 Nov 2016, at 21:21, Justin Otherguy <justin at justinotherguy.org> wrote:
> 
> Hi Andreas,
> 
> tolle Sache, mal wieder herzlichen Dank für Dein Engagement! :)

Fällt mir leicht- ist ja Eigenbedarf ;)

> 
>> Am 19.11.2016 um 15:17 schrieb Andreas Goetz <cpuidle at gmail.com>:
>> 
>> - Volkszähler/Raspi läuft auf eigener Domain (z.B. ddns.net) und ist mittels Zertifikat von letsencrypt und Login abgesichert
>> - Ums einfacher zu machen ist zusätzlich noch optionaler Login mittels Google Account möglich
>> - Fritzbox ist ebenfalls über letsencrypt Zertifikat abgesichert, läuft aber auf anderer Domain
>> - http wird für beide Domains auf https umgeleitet
>> - aus dem lokalen Netz bleibt VZ weiterhin ohne Username/Passwort erreichbar
>> - das ganze als Dual Stack IPv4/IPv6
> 
> klingt toll - nicht ganz verstanden habe ich:
> a) Du hast ja aus dem Internet nur eine IP an der Fritzbox anliegen

Zwangsläufig, ja.

>   die beiden Anwendungen ( 1) Fritzbox mit ihrer eigenen Domain und 2) volkszaehler, jeweils http und https) lauschen also auf unterschiedlichen Ports, korrekt?

Tatsächlich nein. Habe lange überlegt wie sich das auch der FB mittels Apache und mod_proxy realisieren ließe. Ergebnis: gar nicht da ich weder Apache noch mod_proxy auf die Box bekomme.

Deshalb habe ich den Spieß dann umgedreht und Ports 80 und 443 auf den Raspi umgeleitet wo Apache mit insgesamt 4 Virtual Hosts läuft. Die Config für 2 ist hier beispielhaft angegeben:

<IfModule mod_ssl.c>

	<VirtualHost *:80>
		ServerName vz.io
		Redirect permanent / https://vz.io/
	</VirtualHost>

	<VirtualHost *:443>
		ProxyPass        "/" "http://192.168.0.21/"
		ProxyPassReverse "/" "http://192.168.0.21/"

		SSLCertificateFile /etc/letsencrypt/live/vz.io/fullchain.pem
		SSLCertificateKeyFile /etc/letsencrypt/live/vz.io/privkey.pem
		Include /etc/letsencrypt/options-ssl-apache.conf
		ServerName vz.io
	</VirtualHost>

</IfModule>

Eine analoge Config existiert- mit abweichendem Servername- für die Weiterleitung der zweiten Domain auf die Firtzbox Admin Oberfläche. Für die zweite Domain aktualisiert der FB DynDns Client die IP, für die erste Domain erledigt das ddclient auf dem Raspi.

> 
> b) die Authentifizierung läuft gegen eine lokale Benutzerdatenbank, wenn Google-Auth nicht genutzt wird, korrekt?
>  die Auth läuft dann in der Anwendung, korrekt? (also: nicht gegen den Web-Server)

Ja. Siw kann der Webserver nur Basic Auth und ich wollte die Möglichkeit offen halten Oauth2 zu verwenden, eine Benutzeradministration einzubauen und auch die Sichtbarkeit von Kanälen nach eingeloggtem Nutzer zu steuern.

> 
> c) wenn ich von einer IP komme, die nicht freigeschaltet ist (default: RFC1918, also LAN), brauche ich Benutzername+Passwort (definiert in etc/volkszaehler.conf.php -> $config['authorization']['user']\ =\ ‚pass‘) für den ersten Zugriff; wenn das klappt, erhalte ich ein Token für die folgenden Zugriffe, korrekt?

Korrekt. Lebenszeit des Tokens konfigurierbar. Solange HTTPS verwendet wird sind Username, Passwort und Token dabei auch sicher.

> 
> Tolle Lösung - aus dem LAN direkt und aus dem Internet zusätzlich per Login gesichert.
> 
> 
> Gruß, J.
> 

Die Frage wäre ob wir das in den Kern übernehmen wollen- gerne erstmal ohne Google Auth- oder ob es weiter in meinem Bastelzweig bleiben soll?

Viele Grüße, Andreas




More information about the volkszaehler-users mailing list