Apache restart ist nicht notwendig- wozu auch? Viele Grüße, Andreas
> On 18. Mar 2018, at 13:59, Frank Richter <frank.richte...@gmail.com> wrote: > > Hallo Michael, > > versuch's mal damit: > > git fetch origin pull/659/head:auth > git checkout auth > composer update > cd etc > sudo mv volkszaehler.conf.php volkszaehler.conf.backup.php > cp volkszaehler.conf.template.php volkszaehler.conf.php > sudo nano volkszaehler.conf.php > 1) falls erforderlich, DB-Einstellungen und -Passwort wieder anpassen > 2) Firewallregeln checken (im Lieferzustand ist im lokalen Netz alles > erlaubt, von Remote geht lesender Zugriff (GET) ohne, alles andere nur mit > Login) > 3) bei 'secretkey' ein paar zufällige Zeichen einsetzen (= salt) > 4) bei 'user' => 'pass' eigene Zugangsdaten eintragen (oder nur mal kurz > testen und dann die Zeile löschen/auskommentieren, falls kein HTTPS vorhanden > ist!) > systemctl restart apache2 > > zurück zum Stand vorher geht es mit: > git checkout master > mv volkszaehler.conf.backup.php volkszaehler.conf.php > systemctl restart apache2 > > Viele Grüße > Frank > > Am 18. März 2018 um 13:29 schrieb Michael Koch <princemi...@gmail.com > <mailto:princemi...@gmail.com>>: > Hallo alle zusammen, > > ich muss euch noch mal fragen wie ich das ganze testen kann. > Kann mir jemand noch mal kurz zusammen fassen, was ich tun muss um den PR > "Add basic login capabilities #659" auszuprobieren? > Sprich: Was miss ich an git befehlen ausführen und wie muss ich die config > ändern? Außerdem habe ich etwas von einem salt in Erinnerung. > Ich habe in der zwischenzeit meinen Server auf PHP7 geupdatet und möchte jtzt > endlich weiter machen - entschuldigt das ich so lange benötigt habe. > Ich weiß, dass andi mir auch schon mal geschrieben hat - ich finde diese > infos aber nicht mehr. > Danke, > > Michael > > > Am 22.01.2018 um 23:48 schrieb Frank Richter: >> Hi Frank, >> >> im lokalen Netz juckt dich das alles nicht. Das einzige, was du machen >> musst, wenn der PR gemergt ist, ist beim nächsten Update (git pull) deine >> volkszaehler.conf.php auf den aktuellen Stand zu bringen. Ansonsten ändert >> sich nix für dich. >> >> Tokens generieren geht mit misc/tools/token-helper.php, wenn du das doch mal >> brauchst. >> >> Grüße >> Frank >> >> Am 22. Januar 2018 um 23:30 schrieb F. S. <mailing3...@googlemail.com >> <mailto:mailing3...@googlemail.com>>: >> Hallo vz-ler, >> >> und Danke Justin für die gute Zusammenfassung! Ich bin softwaretechnisch >> nicht so fit wie Ihr, aber jetzt verstehe ich die wichtigsten Zusammenhänge. >> >> Also wenn im LAN kein höheres Sicherheitslevel platziert wird, wäre ich sehr >> dafür. Ich gehe von außen nur per VPN rein. >> Wenn mir noch jemand ein Tip gibt, wie man sich denn die Token generiert, >> wäre ich auch damit einverstanden. >> Bei mir fliegen die Cookies übrigens auch nach jeder Firefox-Sitzung raus. >> >> Btw - wer zahlt eigentlich aktuell den Server? Gibt es eine Möglichkeit, >> Euch finanziell zu unterstützen? Ihr investiert hier derart viel Zeit, dass >> einem ganz unwohl wird. Vielen Dank dafür! Viele wissen das zu schätzen. >> >> VG >> Frank S. >> >> >> Am 22.01.2018 10:44 nachm. schrieb "Justin Otherguy" >> <jus...@justinotherguy.org <mailto:jus...@justinotherguy.org>>: >> Hi, >> >> Puh - ich versuch mal zusammenzufassen, was ich verstanden habe: >> >> - derzeit gibt es (alt) keine Auth, sondern nur eine UUID, mit der alles >> möglich ist; das ist doof, weil jeder der die UUID alles tun kann >> - neu gibt es - Andreas sei Dank - die Möglichkeit, sich per User+Pwd zu >> authentisieren >> - das ist eine Option, die man - zB für einen Betrieb im LAN - auch >> ungenutzt lassen kann >> >> Korrekt soweit? >> >> >> Frage: welche Optionen soll es künftig geben? >> >> Nach meinem Verständnis hat man heute doch folgende Hierarchie: >> >> - User+Pwd stehen ganz oben - daraus kann man sich alles weitere generieren >> >> - zB einen Token (vgl. API-Key/secret oder …) für den Zugriff >> - welche Berechtigungen mit diesem Token einhergehen, lässt sich im Prinzip >> konfigurieren >> - ich könnte mir also mehrere Tokens erstellen, die unterschiedliche >> Berechtigungen haben: >> - read-only für mein Display (oder zur Weitergabe an Leute, die die >> Datenreihe auch sehen können sollen) >> - read-write für meinen Sensor >> - … >> - die Tokens kann ich jederzeit widerrufen oder die Berechtigungen anpassen >> - das Token hat keine feste Gültigkeitsdauer; potenziell zeitlich unbegrenzt >> >> >> - ganz unten in der Kette gibt es das Cookie >> - dieser wird aus dem Token generiert und ist Client-spezifisch >> - bei einem Neustart des Clients wird dieser ggf. gelöscht oder ungültig >> gemacht >> - dann muss er - aus dem Token oder User+Pwd - neu erzeugt werden >> >> Soweit immer noch korrekt? >> >> >> Wir haben im Moment ein Token, welches im Cookie abgelegt wird. Da müssen >> wir uns nach meinem Verständnis entscheiden, ob wir wollen, dass es sich >> eher wie ein Token (unbeschränkte Laufzeit, Client-übergreifend) oder eher >> wie ein Cookie (beschränkte Laufzeit, Client-spezifisch) verhält. >> >> >> Egal welche Ebene (User+Pwd, Token, Cookie): solange diese gültig sind, >> sollte ich auf diese gut aufpassen. Sind sie in falsche Hände geraten, >> können sie missbraucht werden und sollten daher geändert/ungültig gemacht >> werden. >> >> >> Konkret: >> - für vzlogger würde ein Cookie nicht ausreichen - der bräuchte einen Token, >> der dauerhaft gilt. >> >> - wenn ich Token oder Cookie lösche oder ungültig mache, muss ich es neu >> erzeugen (Eingabe User+Pwd) >> >> - „Token aus dem Cookie auslesen“: ergibt für mich keinen Sinn (vllt. habe >> ich etwas falsch verstanden); entweder wir unterscheiden nicht - dann können >> wir hin- und herwandeln (bzw. -kopieren) oder wir unterscheiden - dann aber >> kann man aus dem Token zwar das Cookie generieren, aber nicht umgekehrt >> >> - „Token ungültig machen“ - kommt m.E. ebenfalls daher, dass wir nicht >> zwischen Token und Cookie unterscheiden; anderenfalls könnte man Tokens (die >> dann Server-seitig gespeichert würden) ungültig machen - Cookie hingegen >> nicht:; durch die begrenzte Laufzeit wäre das aber auch tolerierbar >> >> >> Frage: >> Sind die Tokens derzeit Kanal-spezifisch? Also: gilt ein Token immer nur für >> einen Kanal oder kann ein Token (so wie User+Pwd) auch für mehrere Kanäle >> berechtigt sein? >> >> >> Mein Vorschlag: >> - (weiterhin) keine Unterscheidung zwischen „Auth-Code in Cookies" und >> „Tokens“; ein Token kann auch per Cookie übermittelt werden >> Das würde das Thema nur aufblähen, ohne einen deutlichen Gewinn (ich lass >> mich vom Gegenteil überzeugen - eine Unterscheidung wäre m.E. sauberer) >> >> - Tokens können mit Berechtigungen versehen werden (read >> only/read-write/write-only?/weitere?) >> >> - jedes Token kann für mehrere Kanäle berechtigt werden; wenn wir das gebaut >> bekommen: auch unterschiedlich: Token A darf Kanal n lesen und Kanal m >> schreiben; vermtl. ist das aber verzichtbar, weil anderenfalls in vzlogger >> eben für jeden Kanal ein separates Token mitgegeben wird - auch kein >> Beinbruch, oder? >> >> Damit hätten wir: >> - weiterhin die Möglichkeit, alles so zu belassen wie bisher (zB >> LAN-Installation) >> - die Möglichkeit, Daten Read-only weiter zu geben >> - die Möglichkeit, einzelne Kanäle auch vor lesendem Zugriff zu schützen >> - ggf. write-only Kanäle zu bauen >> >> Was meint Ihr? >> >> >> Gruß, J. >> >> >> > Am 21.01.2018 um 16:59 schrieb Andreas Goetz <cpui...@gmail.com >> > <mailto:cpui...@gmail.com>>: >> > >> > Hallo, >> > >> >> On 21. Jan 2018, at 15:50, Daniel Lauckner <v...@jahp.de >> >> <mailto:v...@jahp.de>> wrote: >> >> >> >> Hallo, >> >> >> >> >> >> am Sonntag, 21. Januar 2018 um 15:42 hat Frank Richter geschrieben: >> >>> Wer seine Cookies löscht, muss sich halt danach im Frontend neu >> >>> anmelden, aber das ist ja bei anderen Seiten nicht anders. >> >> >> >> Ja, und es nervt. >> > >> > Dann tu’s nicht :) >> > >> > Wie Frank schrieb: >> > >> >> Aber wenn du nichts an der Standardconfig änderst, sind GET-Requests eh >> >> nicht betroffen, du wirst also beim normalen Zugriff aufs Frontend nicht >> >> von einer Passwortabfrage behelligt. >> > >> > Also kein Problem. In der Diskussion ging es darum wie man den Zugriff von >> > außen vernageln kann und trotzdem noch mit vzlogger reinkommen. >> > >> >> >> >> Kann man User/Passwort auch mit der URL übergeben? >> > >> > Nein, sicher nicht. Weil das Passwort bei absolut jedem Proxy im Logfile >> > landen würde. >> > >> > @Frank: Cookie geht jetzt auch: >> > >> > // authorization header? >> > if (($header = >> > $request->headers->get('Authorization')) && (0 !== strpos($header, 'Bearer >> > '))) { >> > $jwt = substr($header, strlen('Bearer ')); >> > } >> > // authorization cookie? >> > elseif ($cookie = >> > $request->cookies->get('vz_authtoken')) { >> > $jwt = explode('@', $cookie)[0]; // split >> > @middleware portion >> > } >> > else { >> > throw new \Exception('Missing authorization >> > token'); >> > } >> > >> > Ich schiebs bei Gelegenheit in den PR. >> > >> > >> >> Anpassung des Installscripts bzgl. Firewall-Einstellungen sollten wir >> >> dann auf die Agenda setzen. Zusätzlich sollten wir diesen Part vielleicht >> >> als Extra-Script liefern, damit die Image-User sich das passend >> >> konfigurieren können, ohne das komplette Installscript nochmal >> >> durchzuackern. Das Image sollte dann am besten ohne eingetragenen >> >> secretkey geliefert werden, oder? >> >> Aus meiner Sicht damit “fertig”. >> > >> > Brauchen wir egtl. alles nicht. Der interne Zugriff geht auch ohne, extern >> > sollte man überlegen was man da tut. >> > >> > Weil ich im PV Forum gesehen habe: wenn irgendwer mit HTTP 500 ankommt >> > lautet die Frage immer was in /var/log/apache2/error.log steht- das kann >> > man dann auch hier zur Diagnose gebrauchen. >> > >> > Damit aus meiner Sicht “fertig”. >> > >> >> >> >> mfg Daniel >> >> >> > >> > Viele Grüße, Andreas >> > >> >> >> > >