none
Entity Framework eine sichere DB-Verbindung zwischen WPF-Anwendung & SQL-Server? RRS feed

  • Frage

  • Hallo,

    zurzeit beschäftige ich mich etwas mehr mit Datenbankverbindungen. Ich nutze dafür das Entity Framework.

    Nun habe ich einen ConnectionString, welcher ja auch ein Passwort enthalten kann. Ist es mit Decompiling nicht möglich dieses einfach auszulesen?

    Kann mir da einer mehr zu erzählen oder Hinweise geben wo ich etwas finde?

    Ich würde gern eine weitestgehend sichere Verbindung zwischen Server und Anwendung aufbauen.

    Mittwoch, 13. September 2017 08:07

Alle Antworten

  • Hallo,

    die Frage ist halt immer was das bringen soll. Befindet sich der SQL Server auf dem selben PC oder im Netzwerk bring das wenig bis gar nichts. Und schon gar nicht wenn man davon ausgeht das der Angreifer so gut ist.

    Befindet sich der SQL Server im Netz sollten man ein Api drum bauen und keine direkten Zugriff erlauben.

    Eine pauschale aussage gibt es hier nicht. Es ist ja auch die Frage was der Kunde will und ob er mit Hart codierten Passwörtern abreiten will.

    Ich persönlich würde immer (außer bei einer lokalen Installation) eine Api bauen und niemandem den direkten Zugriff auf den SQL Server erlauben. Bei einer Api hat man dann auch viel mehr Möglichkeiten 


    Gruß Thomas

    Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!

    Icon für UWP

    Cross Platform Canvas for UWP, Android, iOS

    UWP Community Toolkit Sample App

    Alle Größenangaben in UWP müssen durch 4 teilbar sein



    Mittwoch, 13. September 2017 08:59
  • Hallo

    Ich weis nicht ob die mit dem Entity Framework Core Arbeitest.

    Ich mache das so das ich den Connectionstring zusammensetze aus Daten von einer XML, INI oder ähnliches.
    Hier habe ich die Infos wie IP, Port, User, Passwort enthalten.

    Das Passwort lege ich alerdings verschlüsselt in diesem file ab.
    Beim einlesen der Werte musst du nur entschlüsseln und den Connectionstring dem EF übergeben.

    Grüße
    Sascha

    Mittwoch, 13. September 2017 09:47
  • dabei stellt sich wieder die frage woher die Software den Key zum entschlüsseln her nimmt. Ist dieser wieder codiert. Was ist wenn der Admin das Passwort ändern will weil ein anderer Admin gekündigt wurde und man zur Sicherheit alle Passwörter ändern will.  

    Gruß Thomas

    Sage nie, ich kann es nicht - sage nur, ich kann es noch nicht!

    Icon für UWP

    Cross Platform Canvas for UWP, Android, iOS

    UWP Community Toolkit Sample App

    Alle Größenangaben in UWP müssen durch 4 teilbar sein

    Mittwoch, 13. September 2017 09:56
  • Hallo

    Naja, verschlüsseln sollte ja auch deine App.
    Ich persönlich finde es wirklich schrecklich wenn einfach in einem File der Connectionstring steht.
    Der User, Admin , oder so sollte die Connectiondaten wie oben beschrieben in der App eingeben.

    z.b. prüfst du ob das File befüllt ist oder ob es existiert und zeigst dem User ein Maske wo er die Daten eingeben oder ändern kann. Deine App verschlüsselt und entschlüsselt.

    Wenn du das nicht willst, kannst du ja eine ConsolenApp machen (3 zeiler) welche dir einen String verschlüsselt. Und mit der selben Methode entschlüsselst du wieder.

    Sag bescheid wenn du ein Beispiel benötigst.

    Grüße
    Sascha 

    Mittwoch, 13. September 2017 10:05
  • Ja, der Server befindet sich im Netz.

    Im Endeffekt gibt es ja fast keine sichere Möglichkeit. Irgendwie lässt sich das ganze ja immer auslesen.

    Irgendwo muss das Passwort ja immer stehen.. das entschlüsseln kann ich nur über die Anwendung machen.

    Sonst halt über ActiveDirectory wenn ein User z.B. in einer AnmeldeGruppe ist, nur dann kann er sich verbinden.

    Mittwoch, 13. September 2017 10:48
  • Hallo Leute,

    falls es doch noch wer wissen möchte.

    Habe es nun per WindowsAuth umgesetzt. Die Rechte laufen über den SQL-Server direkt. Ist eine Person in der richtigen Gruppe, darf er gewisse Prozeduren ausführen. Ich brauche kein Passwort. Ich denke dass das die beste Lösung ist.

    Sonntag, 17. September 2017 15:39