1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Remote Access zur Datenbank oder einen eigenen Service?

Dieses Thema im Forum "Security (Viren, Trojaner, Spam)" wurde erstellt von Halfbax, 8. Dezember 2016.

  1. Halfbax

    Halfbax Erfahrenes Mitglied

    Guten Tag,

    ich frage mich gerade wie ich realtiv sicher auf eine Datenbank zugreife. Nun habe ich folgenden Thread auf Stackoverflow gelesen und bin erstaunt und gleichermaßen sehr überrascht.

    http://stackoverflow.com/questions/9343385/safely-connect-to-mysql-database-in-c-sharp

    Ich bin mir halt nicht mehr sicher, ob ich eine sichere Verbindung herrstellen kann, ohne das ich einen eigenen Service auf meinem Server implementiere. Muss ich das Rad neu erfinden? Wenn ja, was muss ich beachten bzw. wie sollte die Struktur aussehen?

    Mit freundlichen Grüßen
    Halfbax
     
  2. Bratkartoffel

    Bratkartoffel gebratene Kartoffel Premium-User

    Hi Halfbax,

    das kommt drauf an, was du brauchst. Ich habe bisher aber generell mit einer REST-API gute Erfahrungen gemacht und somit meine Datenbank weg-gekapselt.

    Grüsse,
    BK
     
    Halfbax und sheel gefällt das.
  3. sheel

    sheel I love Asm Administrator

    Unabhängig von dem Verteilungsproblem der DB-Zugangsdaten:

    Zwischen den Möglichkeiten "ein paar HTTP-Abfragen erlauben, die anhand der Parameter irgendwas aus der DB abfragen und zB. JSON-Daten zurückleifern" und "Socketverbindungen direkt in die DB erlauben" liegen Welten.
    ...

    Außer der Sicherheit gibt es noch eine Menge anderer Gründe für Abstraktion.
    Was sollen denn die ganzen schon verteilten Clients tun, wenn sich zB. die DB-Struktur leicht ändert?
     
    Halfbax gefällt das.
  4. Halfbax

    Halfbax Erfahrenes Mitglied

    Eine REST-API hört sich interessant an und sollte nicht zu großen Problemen in der Implementierung führen :). Aber ich frage mich demnach wie sicher sind dann die Nutzerdaten? Ich benötige eine Schnittstelle zum übertragen von Login-Credentials, sprich Login-Daten, und für das Setzen/Abfragen von Daten. Ich bin nicht zu 100% mit diesem System vertraut, aber ich glaube setzen von Daten ist nicht möglich. Bitte korrigiere mich, sofern ich falsch liege.

    Folgendes Schema würde mir gefallen, sofern das auf dem richtigen Weg ist.

    Login
    Code (Text):
    1. Nutzer loggt sich ein -> Anfrage wird von einem Webserver ausgewertet und falls der Login erfolgreich ist wird ein Session-OAuth2-Key generiert
    Abfrage
    Code (Text):
    1. REST-API
    Setzen
    Code (Text):
    1. POST-Formular mit OAuth2 Implementierung
    Mit freundlichen Grüßen
    Leon
     
  5. Bratkartoffel

    Bratkartoffel gebratene Kartoffel Premium-User

    Hi,

    ja, so kann man das machen. OAuth2 ist mMn zwar State-of-the-art, aber man muss fairerweise auch sagen, das OAuth2 schon ein ziemlicher Hammer ist (Verständnis, Implementierung, etc.). Für deinen Fall sicherlich wie Kannonen auf Spatzen.

    In deinem Falle würde es sicherlich auch reichen, wenn du auf die Login-Anfrage einfach nur einen Cookie (SessionID) zurückgibst, welcher dann analog einer "normalen" PHP-Seite auch bei jeder Anfrage mitgeschickt wird.

    Grüsse,
    BK
     
  6. zerix

    zerix Hausmeister Moderator

    Hallo,

    ich hätte noch so ein paar Punkte zur Sicherheit. Zugriffe auf die REST API sollten per HTTPS passieren und nicht nur per HTTP. Die Client Anwendung sollte nicht jedes Zertifikat (keine self-signed) erlauben, sondern wenn möglich sogar testen, ob es sich um das richtige Zertifikat handelt, hier das Stichwort Certificate Pinning. So wird sichergestellt, dass niemand Man in the Middle spielen kann.

    Viele Grüße
    Sascha
     
  7. Halfbax

    Halfbax Erfahrenes Mitglied

    Danke für die Antworten und entschuldigt mein spätes Antworten! Ich bin vor ein paar Tagen aus dem Urlaub zurück gekommen und wollte mich nun daran setzen. Ich sehe gerade eine REST API mit O2Auth Support ist anscheinend auf den ersten Blick nicht gerade einfach einzurichten. Obwohl es bereits fertige Scripts diesbezüglich gibt. Irre ich mich da?

    Mit freundlichen Grüßen
    Leon
     
Die Seite wird geladen...