Hallo,
wir haben ein CRM system für unsere kleine Firma auf einem VPS. Gern würde ich eine Art white listing / sicheren Login dafür konfigurieren. (Auf Server / Apache Ebene, nicht OWASP/Software Ebene)
Ziel: Alle die nicht auf der white list sind und/oder Zugriff x mal falsch versuchen, ab in die IPTables DROP section.
Gegeben:
ca. 15 Benutzer, verteilt über mehrere Länder mit statischen und dynamischen IPs.
Zugriff über Browser (Chrome oder Smartphone)
4 Software Benutzer (API/etc.) auf verschiedenen Servern, zwei davon Drittanbieter die wir nicht gut konfigurieren können. Alle 4 sollten statische IPs haben.
Hatte jetzt mehrere Ideen recherchiert und wollte mal eure Meinung hören, was sinnig ist.
IPTables
Von Maxmind oder IPDeny die IP Zonen der paar Länder wo wir sind und die Software nutzer IP auf die ACCEPT List
Alles andere auf DROP
Etwas riskant, falls die user mal andere IPs bekommen sollte die nicht im richtigen Land sind und der Rest des Landes hat auch Zugriff, ...?
.htpasswd
die 4 Software Benutzer ausschließen mit <If "%{REMOTE_ADDR} != 'IP'"> in der vhost
fail2ban mit apache-auth nach 2 Versuchen
Recht einfache Lösung, "relativ sicher", ...?
X.509
Zertifikate generieren und bei den usern im Browser installieren.
Problem wären dann die Software Nutzer
Relative komplexe Lösung, viel Admin aufwand, sehr sicher, ...?
IPTables advanced
Ein kleines Program/Skript welches die eigene IP an einen server 2 schickt und als txt oder so in einer web / ssh zugänglichen Datei speichert.
Der CRM Server holt sich per cron die txt ab und fügt neue IPs in die ACCEPT chain (alte werden idealerweise gelöscht).
Etwas Aufwand mit dem Skript, sehr sichers white listing, ...?