Zugriff auf sensibele Daten schützen

Wir betreiben einen eigenen Server bei einem Provider.
Ich habe einen Anwendung in PHP geschrieben mit einer MySQL Datenbank.
Der Zugriff aus dem Internet ist für jeden möglich der die Domain kennt.
Durch das Ausnutzen einer Sicherheitslücke kann man sich mit dem Benutzernamen ’ or ‚1‘ = ‚1‘ limit 1;’ und einem beliebigen Passwort Zugang verschaffen.
Fragen:
Gibt es einen sichere PHP Passwortroutine mit 2 Faktor Authentifizierung?
Wie soll ich die Datenbank verschlüsseln. Mit PHP oder MySQL Anweisungen?
Wie kann ich den Zugriff aus dem Internet für „Jedermann“ sperren?
Ich bin dankbar für jeden Hinweis.

Von wem wird das ganze denn genutzt? Haben alle die es nutzen eine feste IP? Dann köntnest du einfach ne simple FW Regel einrichten…

Wenn ich dich richtig verstehe, ist dies derzeit immer noch möglich. Dieses Problem wird als SQL Injection bezeichnet. Hier musst du die Anwendung anfassen und diese sicher programmieren. Das Stichwort hierzu heißt „Prepared statements“ oder „Stored procedures“. Siehe

Alle anderen Schritte aus deiner Frage beheben das Problem nicht und halten die Anwendung weiter verwundbar.

3 „Gefällt mir“

Nein. Keine feste IP. Der Zugriff erfolgt über Internet von unbekannten Rechnern.

Auch wenns nicht hilfreich ist, möchte ich gerne folgenden xkcd da lassen :slight_smile:
https://xkcd.com/327/

3 „Gefällt mir“

Indem du nur den Zugriff über ein VPN zulässt.

Unabhängig davon musst du unbedingt die SQL Injection Lücke schließen, das ist das kleine 1x1 für Webdienste. Und dann könntest du https://owasp.org/www-project-top-ten/ durcharbeiten und prüfen, was da sonst noch so an Lücken lauert.

3 „Gefällt mir“