Einschätzung Sicherheit

OnDemand

Top Contributor
Hallo zusammen,

ich möchte euch mal bitten zu schauen was ich noch sicherer machen könnte. Man hört ja nahezu täglich von irgendwelchen Datenklau usw.

Es läuft eine Spring Boot App (Ähnlich wie eine Warenwirtschaft/Lagersoftware was die Datenarten an geht) auf einer VM. Je User eine eigene VM und eigene App. Die Datenbank liegt mit auf der VM.

Folgendes haben wir abgesichert:

  • Die VM an sich ist dahingehend abgesichert, dass nur über 2 spezielle IP per SSH zugegriffen werden kann.
  • Die Datenbank ist nur von localhost nutzbar (user darf nur von localhost verbinden)
    Zugriff auf die API der App nur über Authentifizierung möglich (Basic-hier könnte man noch was machen, aber die API nimmt nur Kommandos entgegen, gibt also keine Daten aus, daher sehe ich das nicht sooo dramatisch. Man kann die App starten und stoppen per API)
  • Die Passwörter in der application.properties (API Credentials, DB Passwort, AES Keys) liegen hier als Hash mit Jasypt. Das Jasypt passwort wird als Startparameter übergeben, steht also nicht in der application.properties. Somit werden keine Klar-Passwörter ins Code Repository hochgeladen.
  • Personenbezogene Daten werden als Blob mit AES verschlüsselt abgespeichert - braucht also den AES Key und müsste den mit dem Passwort decrypten mit jasypt.
  • Loginpasswort vom User wird als Hash gespeichert
  • Werden noch 2 Factor Auth für die Benutzeranmeldung einführen
  • CodeRepository bei Atlassian Bitbucket ist privat

Was gibts noch um die Geschichte so sicher wie möglich zu machen?
Festplatten verschlüsseln macht der Anbieter nicht, weil Probleme beim Rücksichern geben kann und sehr aufwändig ist.

Freue mich auf noch mehr Erfahrungen, wie man sicherer werden könnte!
BTW das Sensibelste was wir abspeichern sind Adressdaten von Kunden unserer User. Aber selbst da anonymisieren wir nachdem diese ihren Zweck erfüllt haben.
 

Robert Zenz

Top Contributor
Die VM an sich ist dahingehend abgesichert, dass nur über 2 spezielle IP per SSH zugegriffen werden kann.
Kein Passwort sondern Pub/Priv-Keys?
Die Datenbank ist nur von localhost nutzbar (user darf nur von localhost verbinden)
Wo liegen die Dateien der Tabellen? Wie sind diese zugreifbar?
Festplatten verschlüsseln macht der Anbieter nicht,
...bedeutet dass liegt nicht in eurem Haus, sondern extern? Sprich der Anbieter koennte die Kundendaten (in der Datenbank) anfassen?
 

OnDemand

Top Contributor
Wo liegen die Dateien der Tabellen? Wie sind diese zugreifbar?
Auf dem Filesystem unter /var/...mysql. Sehen aber verschlüsselt aus. Wenn ich sie öffne kommen nur Fragezeichen. Da kommt man drauf, wenn man SSH Zugriff hat vermutlich.

...bedeutet dass liegt nicht in eurem Haus, sondern extern? Sprich der Anbieter koennte die Kundendaten (in der Datenbank) anfassen?
Genau, das ist outgesourced, mit AVV Vertrag gemäß DSGVO usw.

Kein Passwort sondern Pub/Priv-Keys?
SSH aktuell noch mit Passwort UND Key. Passwort ist aber nicht 12345, ist ein komplexes PW. Durch den Zugriff ausschließlich von 2 IPs sehe ich da das Risiko gering
 

Ähnliche Java Themen

Neue Themen


Oben