2009-05-24 15 views
3

Unser Client muss die MOSS-Inhaltsdatenbank verschlüsseln, damit die Inhalts-DB von DBA oder nicht autorisierten Personen ohne den richtigen Verschlüsselungsschlüssel nicht angezeigt werden kann. Die Transparentdatenverschlüsselung (TDE) in SQL Server 2008 kann die vertraulichen Informationen nicht vor DBA schützen, da TDE dazu dient, Daten in Ruhe zu schützen. Hat hier jemand dieses Problem?Schützen Sie vertrauliche Informationen vom Datenbankadministrator in SQL Server 2008

+1

Sie trauen den DBAs nicht? – gbn

+0

Es kann nicht eine Frage des Vertrauens, sondern der Fähigkeit sein. Sie scheinen zu verlangen, dass der DBA die sensiblen Daten nicht sehen kann. DBA sollte alle Daten _zerstören_ können, aber nicht, um sie zu sehen. –

Antwort

6

Es scheint mir, dass eine Anforderung, vertrauliche Daten in einer Datenbank zu haben, dem Datenbankadministrator vertraut.

Selbst wenn Sie die Daten auf eine Weise verschlüsseln könnten, die der dba nicht sehen kann, könnte er die Verbindung schnüffeln, wo Sie den Schlüssel (oder die Daten!) Übergeben oder Trigger einrichten, um die Daten vor der Verschlüsselung zu erfassen falls das System dies erlauben würde.

Kurz gesagt, einen vertrauenswürdigen DBA zu bekommen, ist eine einfachere und bessere Lösung.

+0

Um zu verhindern, dass der DBA die Verbindung schnüffelt, können Sie die Verschlüsselung auf Anwendungsebene durchführen. – Ottokar

2

Wenn Sie dem DBA nicht vertrauen können, können Sie der Datenbank nicht vertrauen. Ihre Anwendung sollte nur verschlüsselte Daten an den Datenbankserver übermitteln.

Nachdem das gesagt wurde, gibt es auch den Administrator des Servers, der Ihre Anwendung ausführt. Es ist nahezu unmöglich, sich den Weg aus dem Vertrauen in ihn zu verschlüsseln.

Stimmen Sie mit Vinko hier überein, erhalten Sie einen DBA, dem Sie vertrauen können, oder wer die Prüfung bestehen kann.

1

Es gibt keine Möglichkeit, dies zu tun, damit die Daten in der DB noch verwendbar sind.

Sie können tun, damit die Daten außerhalb der DB verwendbar sind. Einfach vor CRUD-Operationen mit einer Methode verschlüsseln.

Es gibt Möglichkeiten, es "vernünftiger" schwieriger für DBA zu machen, auf die Daten zuzugreifen, z. Sie können den Schlüssel als Inline-Daten in sqlclr-Funktionen speichern, aber der Binärcode für sie ist weiterhin für DBA verfügbar. Das bedeutet jedoch, dass der Schlüssel repliziert und synchronisiert werden muss, was die effektive Sicherheit erheblich beeinträchtigt.

+0

Würden Sie nicht nur verschlüsselte Inhalte eingeben, um ein echter Performance-Killer zu sein? Angesichts der Tatsache, dass es sich um eine Sharepoint DB handelt, bezweifle ich, dass Sie das tatsächlich tun können. –

0

Vertrauen Sie den DBAs ?! Wenn wir einem DBA erlauben, die Sicherheit ohne Einschränkung zu kontrollieren, wird das gesamte System technisch anfällig, denn wenn der DBA kompromittiert wird, ist die Sicherheit des gesamten Systems gefährdet, was ein Desaster wäre.

+0

Was ist mit Rogue-Programmierer, die Hintertüren in das System einfügen? Oder Rogue Manager verkaufen die Daten aus den Berichten, die sie von ihrer gültigen Nutzung des Systems erhalten? Oder eine Rouge Putzfrau, die die Festplatte kopiert? ... Du hast die Idee. Du musst nur jemandem vertrauen. Sonst reden wir über militärische Sicherheitsstufe, wo niemand alles weiß und alles auf der Basis von Wissen behandelt wird, aber das ist echtes Geld. Für eine Sharepoint-Datenbank scheint mir ein ehrlicher DBA genug zu sein. Ich bin nicht einmal sicher, ob Sie diese Art von Sicherheit mit Standard-DB-Servern erreichen können. –

+0

Also vertrauenswürdige Programmierer verwalten Ihre Daten, Backups usw.? – gbn

2

Das gleiche Problem hier ...

Wir eine MSSQL-Datenbank-Hosting-Unternehmen sind, kann ich für uns sagen, es ist nicht die Frage, die DBA vertrauen oder nicht. Unsere Kunden sind Banken und Versicherungen. Ihre Anforderungen sind: "Der DBA kann die Datenbank nicht lesen", weil er sehr sensible Daten enthält.

Derzeit suchen wir nach einer Lösung.

+0

Ich denke, Sie sollten dies als eine Frage für sich buchen. Ich habe das gleiche Problem, das Sie haben, schauen Sie hier: http://stackoverflow.com/questions/970262/how-to-protect-a-database-from-the-server-administrator-in-sql -Server –

0

Verschlüsseln von Daten auf Anwendungsebene ist weit weg. Sie müssten Schlüssel speichern, auf die DBA nicht zugreifen kann.

Das ist bewährte Lösung nichts Neues.