Keyhelp Zugriff auf IP beschränken

Allgemeine Diskussionen rund um KeyHelp.
Post Reply
User avatar
v3ng
Posts: 297
Joined: Wed 4. Jul 2018, 18:08

Keyhelp Zugriff auf IP beschränken

Post by v3ng »

Hi,
Wir nutzen Keyhelp rein headless über die API Schnittstelle.
Zugriffe finden demnach ausschließlich seitens des Admins statt.

Aus diversen Gründen möchten wir das Login Form beim Aufruf des Hostnamen/ IP Adresse nur ausliefern, wenn die request von einer zuvor definierten IP stammt, ansonsten soll lediglich der statuscode 403 zurückgegeben werden.

Prinzipiell ja recht einfach mittels einer htaccess bzw dem vHost möglich.

Die Frage ist nur wie ich das auch updatesicher hinbekomme, da Keyhelp standardmäßig ja recht viel überschreibt.


Mir ist durchaus bewusst, dass der Admin Login auf eine IP begrenzt werden kann, ich möchte allerdings Keyhelp prinzipiell nur ausliefern, wenn der request von der richtigen IP kommt :)

Hat hier jemand eine Idee?

Danke!
User avatar
Tobi
Community Moderator
Posts: 2829
Joined: Thu 5. Jan 2017, 13:24

Re: Keyhelp Zugriff auf IP beschränken

Post by Tobi »

Nicht probiert, sollte aber funktionieren.

Du beschränkst den Zugriff aufs Panel auf die SERVER-IP und legst einen eigenen VHost als ReverseProxy an.
Dann kannst du den Zugriff beliebig manipulieren.

Es könnte sein, dass KeyHelp sich weigert die SERVER-IP zu speichern, weil du dich ja dann selbst aussperren würdest.
In dem Fall erstmal deine aktuelle IP eintragen und anschließend in der DB auf die SERVER-IP ändern.

Viel Spaß beim Basteln!
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
User avatar
v3ng
Posts: 297
Joined: Wed 4. Jul 2018, 18:08

Re: Keyhelp Zugriff auf IP beschränken

Post by v3ng »

Ich würde die IP einfach auf die IP unseres VPNs beschränken, ein reverse Proxy sollte da ja nicht nötig sein.
Die Frage wäre nur, wie ich das am besten konfiguriere, dass das auch nach updates oder config rewrites bestehen bleibt.

Vielleicht hat @Alexander hier eine Idee? :D
User avatar
Jolinar
Community Moderator
Posts: 3595
Joined: Sat 30. Jan 2016, 07:11
Location: Weimar (Thüringen)
Contact:

Re: Keyhelp Zugriff auf IP beschränken

Post by Jolinar »

Wenn es nun nicht unbedingt der 403er beim unauthorisierten Zugriffsversuch sein muß, könntest du das eventuell auch über die 2FA abfangen... :?
Wenn jemand inkompetent ist, dann kann er nicht wissen, daß er inkompetent ist. (David Dunning)

Data Collector für Community Support
___
Ich verwende zwei verschiedene Schriftfarben in meinen Beiträgen /
I use two different font colors in my posts:
  • In dieser Farbe schreibe ich als Moderator und gebe moderative Hinweise oder begründe moderative Eingriffe /
    In this color, I write as a moderator and provide moderative guidance or justify moderative interventions
  • In dieser Farbe schreibe ich als Community Mitglied und teile meine private Meinung und persönlichen Ansichten mit /
    In this color, I write as a community member and share my personal opinions and views
User avatar
Alexander
Keyweb AG
Posts: 3842
Joined: Wed 20. Jan 2016, 02:23

Re: Keyhelp Zugriff auf IP beschränken

Post by Alexander »

Vielleicht auch nur einfach mittels Cronjob alle paar Stunden überprüfen, ob eine .htaccess Datei in /home/keyhelp/www/keyhelp/ exitiert.
Falls nein, dann legst du sie an mit dem Inhalt "Nur IP XY darf zugreifen". Im Zuge eines KeyHelp-Updates wird der genannte Ordner ausgetauscht, deswegen legst du diesen Cronjob am Besten so, dass er immer nach deinem eingestellten Control-Panel-Update Wartungsintervall + 1 Stunde läuft.
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
v3ng
Posts: 297
Joined: Wed 4. Jul 2018, 18:08

Re: Keyhelp Zugriff auf IP beschränken

Post by v3ng »

Alexander wrote: Fri 1. Apr 2022, 09:32 Vielleicht auch nur einfach mittels Cronjob alle paar Stunden überprüfen, ob eine .htaccess Datei in /home/keyhelp/www/keyhelp/ exitiert.
Falls nein, dann legst du sie an mit dem Inhalt "Nur IP XY darf zugreifen". Im Zuge eines KeyHelp-Updates wird der genannte Ordner ausgetauscht, deswegen legst du diesen Cronjob am Besten so, dass er immer nach deinem eingestellten Control-Panel-Update Wartungsintervall + 1 Stunde läuft.
Danke, das wäre natürlich eine Idee!

Folgendes funktioniert soweit prima, die Frage wäre nur, wie ich bei Requests zur API allow from all setzte, kennt da jemand spontan den Syntax? :D

Code: Select all

order deny,allow
deny from all
allow from IPV4
allow from IPV6
User avatar
Tobi
Community Moderator
Posts: 2829
Joined: Thu 5. Jan 2017, 13:24

Re: Keyhelp Zugriff auf IP beschränken

Post by Tobi »

v3ng wrote: Fri 1. Apr 2022, 12:01 Folgendes funktioniert soweit prima, die Frage wäre nur, wie ich bei Requests zur API allow from all setzte, kennt da jemand spontan den Syntax? :D
https://letmegooglethat.com/?q=allow+si ... e+htaccess
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
User avatar
v3ng
Posts: 297
Joined: Wed 4. Jul 2018, 18:08

Re: Keyhelp Zugriff auf IP beschränken

Post by v3ng »

Tobi wrote: Fri 1. Apr 2022, 12:05
v3ng wrote: Fri 1. Apr 2022, 12:01 Folgendes funktioniert soweit prima, die Frage wäre nur, wie ich bei Requests zur API allow from all setzte, kennt da jemand spontan den Syntax? :D
https://letmegooglethat.com/?q=allow+si ... e+htaccess
Naja das problem ist ja, dass die <Directory> setting in der htaccess nicht funktioniert, ich also wohl auf regex zurückgreifen muss.

Edit:
Ich habe jetzt erstmal zusätzlich allow from all in die bestehende .htaccess im api folder gepack.
Wenn jemand aber eine Idee hat, wie der Syntax aussehen muss, um in der keyhelp/.htaccess requests an die API generell zu akzeptieren gerne raus damit :)

Code: Select all

# Restrict access to Keyhelp panel to IP

# Allowed IPs
SERVER_IPV4=""
SERVER_IPV6=""

echo "order deny,allow
deny from all
# Allow VPN IP
allow from $SERVER_IPV4
allow from $SERVER_IPV6" > /home/keyhelp/www/keyhelp/.htaccess
# Allow from all for API requests
echo "allow from all" >> /home/keyhelp/www/keyhelp/api/.htaccess
Post Reply