Erweiterte Einstellungen für Verzeichnisschutz  [GELÖST]

Locked
User avatar
space2place
Posts: 486
Joined: Tue 24. Mar 2020, 11:02
Contact:

Erweiterte Einstellungen für Verzeichnisschutz

Post by space2place »

Guten Morgen KeyHelp Team,
durch einen aktuellen Fall wollte ich fragen ob die Möglichkeit besteht, dass die Einrichtung von einem Verzeichnisschutz mit zusätzlichen Angaben erweitert werden kann.
Problem trat jetzt bei Shopware 6 auf. Der Kunde hat für seine Shops immer einen DEV Bereich, welcher per Verzeichnisschutz abgesichert werden soll.
Nun gab es hier Probleme damit. Von der Agentur habe ich einen entsprechenden Link zu Shopware erhalten:
https://docs.shopware.com/en/shopware-6 ... djustments

Ich habe entsprechend die Datei des Vhost angepasst:

Code: Select all

# directory protection
<Directory "/home/users/dev-shopware6/www/dev6-shopware.meine-domain.tld/public/">
    AuthType Basic
    AuthName "Entwicklung Shopware6"
    AuthUserFile "/etc/apache2/keyhelp/htpasswd/.htpasswd_dev-shopware6_b40a0b9ea6e98d428958a91e29ecff0b"
    <RequireAny>
       Require expr %{THE_REQUEST} =~ m#.*?\s+\/api.*?#
       require valid-user
    </RequireAny>
    #require valid-user
</Directory>
So funktioniert es wohl, da ich von der Agentur bis jetzt keine negative Rückmeldung erhalten habe.
Jetzt würde ich mir natürlich wünschen das man solche Dinge direkt üver das Panel eintragen kann. Ist das technisch machbar?
Gruß
Sascha
User avatar
Alexander
Keyweb AG
Posts: 3810
Joined: Wed 20. Jan 2016, 02:23

Re: Erweiterte Einstellungen für Verzeichnisschutz

Post by Alexander »

Das Problem ist, das dies ein Sonderfall explizit für Shopware wäre.
Morgen kommt die nächste Anwendung und die braucht statt "/api.*" dann "/wasauchimmer.*" usw...

Es wäre in so einem Fall wahrscheinlich besser, statt den Verzeichnisschutz über KeyHelp zu nutzen und anschließend den vhost zu editieren, ggf. selber eine .htaccess + .htpasswd im Benutzerverzeichnis abzulegen und dort die speziellen Anweisungen einzutragen.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
space2place
Posts: 486
Joined: Tue 24. Mar 2020, 11:02
Contact:

Re: Erweiterte Einstellungen für Verzeichnisschutz

Post by space2place »

Ich hatte auch nicht daran gedacht das man explizit für Shopware das einbaut, sondern eher ein Textfeld wo man solche Sache dann einträgt.
Eine Ratio Box die "Standard" und "Erweitert" (Evtl. auch mit einem Warnhinweise) lauten. Klickt man auf "Erweitert" kann man das Textfeld beschreiben und die entsprechen Sachen eintragen.
Es ändert sich ja nur der untere Teil. Und "require valid-user" könnte ja als vorbelegter Text in dem Textfeld vorhanden sein.

Ich geniesse einfach die Einstellmöglichkeiten von KeyHelp. Gerade auf den Bezug des Verzeichnisschutzes. Hier kann dann auch keiner die htaccess löschen.

Gruß
Sascha
User avatar
Alexander
Keyweb AG
Posts: 3810
Joined: Wed 20. Jan 2016, 02:23

Re: Erweiterte Einstellungen für Verzeichnisschutz

Post by Alexander »

Okay, dann müsste quasi ein Feld her, indem der Benutzer Ausnahmen für den Verzeichnisschutz definieren kann. Entweder in Form eines oder mehrerer Ordner / Pfade, oder eines Regulären Ausdrucks wie in dem Shopware Beispiel.
Ihn direkt irgendwelche Apache-Direktiven eingeben zu lassen wird so nicht funktionieren. Wenn da die Validierung der Eingabe nicht zu 100% bulletproof ist, hätte das ganz schnell zur Folge, dass der Apache nicht mehr starten würde. Außerdem wüsste der gemeine Benutzer wahrscheinlich ohnehin nicht, was er in das Textfeld eintragen sollte.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
space2place
Posts: 486
Joined: Tue 24. Mar 2020, 11:02
Contact:

Re: Erweiterte Einstellungen für Verzeichnisschutz

Post by space2place »

Alexander wrote: Fri 10. Sep 2021, 13:22 Okay, dann müsste quasi ein Feld her, indem der Benutzer Ausnahmen für den Verzeichnisschutz definieren kann. Entweder in Form eines oder mehrerer Ordner / Pfade, oder eines Regulären Ausdrucks wie in dem Shopware Beispiel.
Ihn direkt irgendwelche Apache-Direktiven eingeben zu lassen wird so nicht funktionieren. Wenn da die Validierung der Eingabe nicht zu 100% bulletproof ist, hätte das ganz schnell zur Folge, dass der Apache nicht mehr starten würde. Außerdem wüsste der gemeine Benutzer wahrscheinlich ohnehin nicht, was er in das Textfeld eintragen sollte.
Ok.. Da bin ich ganz bei Dir. Hatte jetzt daran nicht gedacht. Könnte man nicht eine Validierung mit

Code: Select all

apachectl configtest
einbauen?
Habe das mal kurz spasseshalber getestet und bei RequireAny ein "<" entfernt:

Code: Select all

apache2: Syntax error on line 230 of /etc/apache2/apache2.conf: Syntax error on line 148 of /etc/apache2/keyhelp/keyhelp.conf: Syntax error on line 80 of /etc/apache2/keyhelp/vhosts/dev-shopware6.conf: Expected </Directory> but saw </RequireAny>
Action 'configtest' failed.
So könnte man dann auch eine Rückgabe an den User geben.
Nachtrag:
Klar. Mein Test bezieht nicht auf eine bestehende Datei. War auch nur ein Ansatz
User avatar
Alexander
Keyweb AG
Posts: 3810
Joined: Wed 20. Jan 2016, 02:23

Re: Erweiterte Einstellungen für Verzeichnisschutz

Post by Alexander »

Ein findiger User könnte aber auch

Code: Select all

  </Directory>
</VirtualHost>

... [hier kommt dann beliebige andere Direktiven]...
eingeben und würde somit aus seinem vhost Container ausbrechen und könnte im Folgenden andere vhost-Container von anderen Users auf dem Server hijacken uvm.

Von daher wäre die von mir vorgeschlagene Variante mit dem definieren von Ausnahmen die sichere Variante.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
space2place
Posts: 486
Joined: Tue 24. Mar 2020, 11:02
Contact:

Re: Erweiterte Einstellungen für Verzeichnisschutz

Post by space2place »

Alexander wrote: Fri 10. Sep 2021, 15:48 Ein findiger User könnte aber auch

Code: Select all

  </Directory>
</VirtualHost>

... [hier kommt dann beliebige andere Direktiven]...
eingeben und würde somit aus seinem vhost Container ausbrechen und könnte im Folgenden andere vhost-Container von anderen Users auf dem Server hijacken uvm.

Von daher wäre die von mir vorgeschlagene Variante mit dem definieren von Ausnahmen die sichere Variante.
Korrekt… An diese Art von Usern hatte ich natürlich nicht gedacht :!:
Wie immer… Ihr macht einen tollen Job.. Freue mich auf Deine Umsetzung…
Gruß
Sascha
User avatar
space2place
Posts: 486
Joined: Tue 24. Mar 2020, 11:02
Contact:

Re: Erweiterte Einstellungen für Verzeichnisschutz

Post by space2place »

Hallo Alex,
ich wollte mal freundlich nachfragen ob Du Dich schon mit dem Problem auseinandersetzen konntest.
Bei letzten Update musste ich alle Apaache Configs überarbeiten wo Shopware 6 mit HTACESS aktiv war.
Deswegen kam mir der Feature Request wieder auf den Schirm.

Gruß
Sascha
User avatar
Alexander
Keyweb AG
Posts: 3810
Joined: Wed 20. Jan 2016, 02:23

Re: Erweiterte Einstellungen für Verzeichnisschutz

Post by Alexander »

Hi Sascha,

tut mir leid, es ist leider noch nicht bei der jetzt erscheinenden Version dabei. Hatte zwar in den vergangenen Wochen nochmal darauf rumgedacht, aber noch nichts vorzeigbares/umgesetztes.
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
space2place
Posts: 486
Joined: Tue 24. Mar 2020, 11:02
Contact:

Re: Erweiterte Einstellungen für Verzeichnisschutz

Post by space2place »

Hi Alex,
danke für die Rückmeldung. Mir ist das Thema nur auf den Schirm gekommen, weil das Update meine manuellen Anpassungen vernichtet hat.. :)
Dann warte ich noch etwas.
Gruß
Sascha
User avatar
Alexander
Keyweb AG
Posts: 3810
Joined: Wed 20. Jan 2016, 02:23

Re: Erweiterte Einstellungen für Verzeichnisschutz  [GELÖST]

Post by Alexander »

Hey Sascha,

ich hab es jetzt fast soweit fertig.

Wäre super, wenn du es vorab einmal bei dir testen könntest (der Teil in RequireAny wäre entscheidend), da meine Lösung etwas anders aussieht, als die von Shopware vorgeschlagene.
Ich konnte zumindest problemlos auf den Shopware-Admin-Bereich einer mit Verzeichnisschutz gesicherten Shopware Instanz zugreifen.

Zum Einstellen gibt es dann im Bereich "Verzeichnisschutz" unterhalb des Eingabefelds "Verzeichnis" eine Möglichkeit der Definition von Ausnahmen.
Hier trägt man dann URL-Pfade ein. Zum Beispiel möchte man eine gesamte Domain https://example.com sperren, aber den Zugriff auf https://example.com/wordpress freigeben, trägt man "/wordpress" ein. Man kann beliebig viele Ausnahmen definieren.

Im Fall von Shopware würde man dort dann einfach nur "/api" eintragen. Es wird dann folgende Konfiguration erzeugt:

Code: Select all

<Directory "/home/users/alex/www/test">
    AuthType Basic
    AuthName " "
    AuthUserFile "/etc/apache2/keyhelp/htpasswd/.htpasswd_alex_68128d87944739ea602180b777f037c9"
    <RequireAny>
        Require expr %{REQUEST_URI} =~ m#/api.*?#
        Require expr %{THE_REQUEST} =~ m#/api.*?#
        Require valid-user
    </RequireAny>
</Directory>
Mit freundlichen Grüßen / Best regards
Alexander Mahr

**************************************************************
Keyweb AG - Die Hosting Marke
Neuwerkstr. 45/46, 99084 Erfurt / Germany
http://www.keyweb.de - http://www.keyhelp.de
**************************************************************
User avatar
space2place
Posts: 486
Joined: Tue 24. Mar 2020, 11:02
Contact:

Re: Erweiterte Einstellungen für Verzeichnisschutz

Post by space2place »

Moin Alex,
erst einmal Danke für Deine Arbeit. Ich habe es gerade bei einem Shopware6 getestet und den "RequireAny" Eintrag von Dir manuell eingetragen.
Der Kunde hat es gerade geprüft und er kommt nach dem HTAccess weiterhin ins Admin-Panel von Shopware rein.
Sieht also Tip Top aus.

Gruß
Sascha
Locked