[vz-users] Login/Absicherung von VZ Installationen

Andreas Goetz cpuidle at gmail.com
Thu Jan 12 17:46:42 CET 2017


Hallo Zusammen,

hier ist ja wieder richtig Leben in der Bude- sehr schön :) 

> On 11 Jan 2017, at 18:27, Frank Richter <frank.richter83 at gmail.com> wrote:
> 
> Hallo Andreas,
> 
> aus meiner Sicht ist die Absicherung per Login absolut wichtig und sollte rein, denn private Kanäle sind auf Dauer/bei diversen verwendeten Geräten einfach unbequem, und jedesmal eine VPN-Verbindung aufzumachen, um kurz nach dem VZ zu schauen, finde auch eher unpraktisch.

Coole Idee! Eigentlich…. braucht es die privaten Kanäle dann (fast) nicht mehr. Es sei denn es wäre notwendig “leuten” Zugriff zu geben die aber nicht alles sehen sollen. Da wir keine vollwertige Userverwaltung haben wäre das immer noch ein Fallback.

Im Sinne von Nutzerorientierung würde ich die privaten Channels aber lieber rauswerfen- ein relativ komplexes Feature (eher eine Krücke) das immer wieder zu Nachfragen führt wo der Kanal denn hin ist.

Andererseits verwende ich sie bei meinen ca. 50 Channels gerne dafür die seltenen oder in Gruppen enthaltenen überhaupt auszublenden. Aber auch dafür ließe sich sicher eine bessere Lösung bauen.

Meinungen?

> Jetzt ging es im ganzen Thread fast ausschließlich um die High Performance Middleware und nicht um das Login-Feature.

Die Diskussionen zur High Performance Middleware sollten wir aber vielleicht in einen zweiten Thread auslagern- da habe ich etwas ungeduldig Beides vermischt.

> Kannst du vielleicht nochmal kurz darauf eingehen, wie sich ein Merge des Features auf neue (per install.sh oder mit einem neuen Image erstellte) und bestehende (durch git pull akualisierte) Installationen auswirken würde?

Erstmal ist die Grundkonfig wie heute, lediglich im Internet verfügbare VZ würden keine Änderungen mehr erlauben bis die Firewall Regeln geändert werden.

Nicht getestet habe ich was passiert wenn die config template nicht in die config übertragen wird. Aber andererseits: wer keine Angst vor git und composer hat sollte auch ein config File ändern können?!

Was noch entfallen könnte:
- DB User ohne Schreibrechte bräuchte es dann nicht mehr
- ggf private Kanäle

> Laufen die dann noch out of the box oder sind zwingend zusätzliche Schritte notwendig? Wenn ich das richtig sehe, muss für bestehende Installationen auf jeden Fall die volkszaehler.conf.php angepasst werden.

S.o.- ja, das wäre notwendig. Workaround im Code möglich aber das möchte ich eigentlich nicht.

> Wie ist es mit HTTPS, ist das dann unbedingt erforderlich, oder geht es mit der letzten Änderung ((=lesender public Zugriff auf VZ)) auch ohne?

Geht auch ohne. HTTPS ist nur aus Sicherheitsgründen zwingend bevor man User/Passwort darüber schickt. Verifizieren/ abfangen kann ich das aber nicht.

> Laut meiner Recherche klappt Let's Encrypt zusammen mit einer DDNS-Adresse nicht immer reibungslos, weil Let's Encrypt die Zahl der Registrierungen pro Domain beschränkt.

M.e. ist das behoben- LE hat zumindest ddns.net als Dyn Hoster mit aufgenommen und damit ohne Beschränkung.

> Ich bin leider noch nicht dazu gekommen, den PR selbst zu testen, weil ich grad keine Installation auf aktuellem Stand habe - da bin ich aber dran…

Na dann wirds Zeit ;)

> 
> Grüße
> Frank  

Viele Grüße, Andreas

> 
> Am 11.01.2017 09:21 schrieb "Andreas Goetz" <cpuidle at gmail.com <mailto:cpuidle at gmail.com>>:
> Hallo Zusammen,
> 
> 2017-01-03 20:33 GMT+01:00 Andreas Goetz <cpuidle at gmail.com <mailto:cpuidle at gmail.com>>:
> Hallo,
> 
> Frohes Neues Jahr Zusammen!
> 
> Ihr wisst ja dass ich hartnäckig sein kann. In den letzten Tagen haben ich nach dem mißglückten Merge daher massiv Arbeit darein gesteckt alle VZ Komponenten wieder 100%ig funktionsfähig zu machen. 
> 
> Dazu gehören auch die High Performance Middleware (siehe https://github.com/volkszaehler/volkszaehler.org/tree/master/misc/tools <https://github.com/volkszaehler/volkszaehler.org/tree/master/misc/tools>) und der zuletzt nicht mehr korrekt funktionierende push-server (gleicher Link).
> 
> Apropos High Performance Middleware: ich muss nochmal Werbung dafür machen dass die MW damit in der Lage ist Requests in wenigen (<10!) Millisekunden zu beantworten. Wäre Klasse wenn wir das in das Image einbauen könnten (@Udo: einmalig kann ich das gerne einrichten, ist im Link aber auch recht gut dokumentiert).
> 
> Auf der Basis habe ich dann auch gleiche die Testskripte renoviert und User Authorization neu aufgesetzt (https://github.com/volkszaehler/volkszaehler.org/pull/551 <https://github.com/volkszaehler/volkszaehler.org/pull/551>). Aus meiner Sicht wäre das Feature damit reif standardmäßig in VZ einzuziehen. Bei Bedarf könnte ich noch eine Option einbauen es ggf. auch komplett abzuschalten falls sich die individuelle Konfiguration der Firewall Regeln dafür als zu aufwändig erweist.
> 
> Mittlerweile sind auchd ie Anforderungen von Klaus (=lesender public Zugriff auf VZ) in den PR 551 mit eingebaut. Wäre es nicht lagsam Zeit die Funktion zu mergen oder gibt es wirklich keinen Bedarf?
> 
> Wenn wirs mergen wollen gäbe es zwei abschließede Punkte:
> - Default user (user/pass) aus der Konfiguration entfernen?
> - Gäbe es noch notwedige Anpassungen an den Firewall Regeln vor Release?
> 
> 
> Viele Grüße, Andreas
> 
> 
>> On 27 Aug 2016, at 12:33, Andreas Goetz <cpuidle at gmail.com <mailto:cpuidle at gmail.com>> wrote:
>> 
>> Hallo Zusammen,
>> 
>> das prinzipielle Feedback war zwar “brauche ich nicht”, ich habe mir aber trotzdem mal den Spass gemacht, Firewall und User Authorization prototypisch zu implementieren.
>> 
>> Wer damit spielen möchte findet hier den Code: https://github.com/volkszaehler/volkszaehler.org/pull/458 <https://github.com/volkszaehler/volkszaehler.org/pull/458>
>> 
>> Das Ganze basiert auf JSON Web Tokens für Bearer Authentication und sollte tunlichst- da Username/ Passwort übertragen werden- _nur_ über HTTPS Anwendung finden.
>> 
>> Die Änderungen an der vz.conf Datei sollten eigentlich hinreichen erklären was es zu konfigurieren gibt. Freue mich über Feedback im PR. 
>> 
>> Viele Grüße, 
>> Andreas
>> 
>> 
>>> On 15.08.2016, at 11:36, Andreas Goetz <cpuidle at gmail.com <mailto:cpuidle at gmail.com>> wrote:
>>> 
>>> Ich mache Jacobs Mail mal als neues Thema auf:
>>> 
>>> Bei der Durchsicht der URL-Befehle habe ich gesehen, dass anscheinend
>>> auch schreibend auf die Datenbank zugreifen kann. Ist das nicht
>>> gefährlich, so einen Webserver ins öffentliche Netz zu stellen, wenn
>>> jeder daran herum fummeln kann?
>>> 
>>> Äh, ja, das ist das Prinzip von vz. Allerdings muß man ja die UUID kennen, um Kanäle und deren Daten manipulieren zu können, deswegen sollte man die UUID auch geheim halten (und Kanäle nicht einfach public machen, sonst kann man sie einfach so auflisten). Neue Kanäle anlegen und nutzen geht aber natürlich schon.
>>> M.W. hatte Justin das so konzipiert, damit z.B. demo.volkszaehler.org <http://demo.volkszaehler.org/> ohne Anmeldung (und Passwort-Recevory, Email etc. pp.) genutzt werden kann. Faktisch ist es aber heute wohl so, daß die meisten ihren eigenen VZ-Server laufen haben, da finde ich das eher ungeschickt (zumal die UUIDs auch etwas unhandlich sind).
>>> 
>>> -- snip --
>>> 
>>> Ich sehe- wenn wir es einfach halten wollen- 2 Anwendungsfälle:
>>> 
>>> a) Absicherung einer privaten Installation
>>> b) Usermanagement für eine öffentliche Installation wie demo
>>> 
>>> Letzteres klammere ich mal aus da es grundlegende Änderungen an VZ erfordern würde. Für a) gibt es verschiedene Möglichkeiten von furchtbar einfach bis etwas umfangreicher:
>>> 
>>> 1) Basic Authentication, also Username + Password. Für ein Mindestmaß an Sicherheit ist SSL erforderlich- das gilt ebenso aber auch für alle weiteren Varianten. Das muss zusätzlich so konfiguriert werden dass vzlogger (aus dem internen Netz) ohne Basic Auth weiterhin seine Daten abliefern kann.
>>> 
>>> 2) Token Authentication: initiales Login per U/P, ab da Token der expired. Dabei hätten wir sogar die Möglichkeit einzelne User zu definieren- imeinfachsten Falle per Konfigurationsdatei, sonst als Datenbankerweiterung. Wenn Datenbankerweiterung dann können wir auch Rechte vergeben (schreiben, löschen, lesen) und Kanäle zu Usern "gehören" zu lassen. 
>>> Weiterhin wäre es ggf. sinnvoll authentifizierten Nutzern auch "private" Kanäle ohne Kenntnis der UUID anzubieten. 
>>> 
>>> Gibts Bedarf?
>>> 
>>> Viele Grüße,
>>> Andreas
>>> 
>> 
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20170112/3f77a391/attachment-0001.html>


More information about the volkszaehler-users mailing list