Announcement

Collapse
No announcement yet.

Datensicherheit

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datensicherheit

    Wie kann ich verhindern , daß meine Kunden die Struktur meiner Datenbank einsehen und dann ggf. verändern können.

    Vielen Dank im voraus

  • #2
    Hallo,

    indem das SYSDBA-Passwort nicht weitergegeben wird. Wenn man für die Benutzer eigene User-Namen einrichtet und alle Zugriffe aus dem Programm heraus nur über Stored Procedures laufen lässt und die Benutzer nur Rechte an den SPs erhalten, bleibt der interne Aufbau der Tabellen verborgen

    Comment


    • #3
      Hallo,

      Ich bin der Meinung, das geht gar nicht. Wenn ich als Kunde deine DB einsehen will, kopiere ich Sie mir entweder auf einen IBServer, bei dem ich das SYSDBA-Passwort kenne, oder tausche die ISC4.GDB gegen meine eigene Version aus.

      Gruß Gesin

      Comment


      • #4
        Hallo,
        ich sehe dies genauso. Existiert ein Tool, welches meine Daten(sätze)automatisch verschluesselt und ich dann per Programm den Schlüssel aufhebe. Ich glaube, dass dieses Problem nicht nur mir Bauchschmerzen
        bereitet.

        Hoffe auf (positive) Antwort

        Frank kraus

        Comment


        • #5
          Hallo,

          1)
          So ein Tool kenne ich nicht. Die Verschlüssellung müsste meines Erachtens auch von IB selbst erledigt werden, denn wie soll der SQL-Server denn auf verschlüsselten Daten einen 'korrekten' Index usw. erzeugen ohne selbst den Schluessel zu kennen ?? Außerdem könnte man so die Struktur immer noch einsehen.

          2)
          Allerdings finde ich das Vorhaben überhaupt recht fragwürdig. Ich als Kunde bevorzuge eine SQL-DB doch <b>gerade</b> weil ich die Struktur <b>MEINER</b> Daten kennen möchte um diese ggf. auch ohne die ehemals zugehörige Anwendung nutzen zu können. Wer möchte denn heute schon noch seine Daten ( und damit hunderte oder sogar tausende von Arbeitsstunden ) in einem 'Datengrab' verschwinden sehen ?? Also verlange ich von meinem Anwendungsentwickler nicht nur vollen Zugriff auf die DB ( das Sysdba-Passwort ), sondern auch noch eine gute Dokumentation der Strukturen um nicht alle Zusammenhänge mühsam in der DB ermitteln zu müssen. Und wenn der Zugriff auf die Daten dann noch in einer so standarisierten Form wie SQL stattfinden kann, finde ich auch in 15 Jahren noch jemanden, der in der Lage ist meinen Datenbestand zu pflegen/reparieren oder zumindestens in eine neue DB zu transferieren.

          Fazit: Deckelst du eine SQL-DB mit Verschlüsselung oder versuchst die interne Struktur zu verbergen, führst du das SQL-Konzept ad absurdum.

          Gruß Gesin

          Comment


          • #6
            Hallo,

            ich komme noch mal auf unsere Diskussion zurück.

            Wenn ich schon die Struktur nicht verschlüsseln kann (Grund eingesehen), sind jedoch in den einzelnen Tabellen Daten, die eine Art Betriebsgeheimnis darstellen. Gibt's da vielleicht eine Lösung ?

            Gruss Fran

            Comment


            • #7
              Hi Frank,

              a)
              Wenn du als Server eine Linux-Maschine einsetzt und dieses mit dem Vorschlag von Andreas kombinierst, kannst du deine DB schon recht effektiv schützen. Unter Linux kannst du das Kopieren auf eine andere Maschine nämlich unterbinden. Das alles setzt natürlich auch voraus, dass Du das root-Passwort der Linux-Maschine für dich behälst.

              b)
              Hat man jedoch physikalischen Zugang zu der Maschine, nutzt auch das vorstehende recht wenig, denn dann baut man die HD aus und mountet sie in einem anderen Rechner. Unterbindest du diesen physikalische Zugang, dann kannst du deine DB als recht sicher betrachten. Ein Problem für dich sind jetzt nur noch die Administratoren, die die Lufthoheit über das Netzwerk haben. Sind diese ein bischen aufgeweckt, kennen Sie dein root-Passwort sobald du dich einmal nicht direkt auf der Konsole, sondern über einen angeschlossenen Laptop o.ä. auf deinem Linux-Rechner angemeldet hast. Ist natürlich auch fraglich, was deine Kunden sagen, wenn Du denen nen' Safe mit deinem Rechner in den Serverraum stellst... ;-)

              c)
              Um nur einzelne Daten ( -felder ) zu schützen, ist die sicherste Möglichkeit, diese bereits in einer verschlüsselten Form abzulegen. Deine Anwendung ist dann für das ent- und verschlüsseln zuständig. Derart 'behandelte' Felder sind natürlich wieder von den normalen DB-Funktionen ausgenommen. Auch 'Automatismus' ist nicht das erste Wort, welches mir zu dieser Lösung einfällt ;-). Die Verschlüsselung selbst ist immer noch ein Angriffspunkt. Was für Probleme da auf dich zukommen, kannst du hier im Forum finden, wenn du als Stichwort Verschlüsselung usw. eingibst.

              Gruß
              Gesin

              Comment

              Working...
              X