MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Datenbankverschlüsselung:Warum und wo Sie Datenverschlüsselung benötigen

Datenbankverschlüsselung bietet verbesserte Sicherheit für Ihre gespeicherten und übertragenen Daten. Viele Unternehmen haben begonnen, sich ernsthaft mit der Datenverschlüsselung zu befassen, wenn es um die jüngsten Fälle von Sicherheitsverletzungen geht. In den meisten Fällen sind Datenbankserver ein häufiges Ziel für Angreifer, da sie für die meisten Organisationen das wertvollste Gut sind. Sobald ein Eindringling Zugang zu wertvollen Daten von Ihrem Server erlangt hat, besteht die Möglichkeit, dass er die Daten davon stiehlt. Anschließend verwenden sie die Daten für Lösegeld, Datenausbeutung oder andere finanzielle Gewinne von der Organisation, die sie angegriffen haben.

In diesem Blog erörtern wir, warum Datenbankverschlüsselung wichtig ist und wie Datenverschlüsselung eine bedeutende Rolle bei der Sicherung Ihrer Datenbank spielt.

Warum brauche ich Datenbankverschlüsselung?

Datenbankverschlüsselung ist ein Prozess, bei dem Daten in der Datenbank mithilfe eines Algorithmus in „Verschlüsselungstext“ (unlesbarer Text) umgewandelt werden. Sie müssen einen vom Algorithmus generierten Schlüssel verwenden, um den Text zu entschlüsseln. Der Datenbankverschlüsselungsprozess ist sehr empfehlenswert, insbesondere für Unternehmen, die mit Finanzen, Gesundheitswesen oder E-Commerce zu tun haben. In letzter Zeit sind Cyberangriffe, Datendiebstahl oder Datenschutzverletzungen weit verbreitet; Daher gibt es eine zunehmende Besorgnis über private Daten. Die Menschen sind sich Datenschutz und Sicherheit sehr bewusst und möchten, dass ihre Daten geschützt und nur bei Bedarf verwendet werden. Im Folgenden sind einige gute Vorteile der Datenbankverschlüsselung aufgeführt:

Sicherheitsangriffe vermeiden

Sicherheitsangriffe sind unvermeidlich, aber mit besseren Sicherheits- und Datenverschlüsselungsmethoden können Eindringlinge die Daten bei einer Datenpanne möglicherweise nicht analysieren oder entschlüsseln, um sie besser zu verstehen. Angenommen, ein Man-in-the-Middle (MITM)-Angriff oder Abhören findet während der Sicherung oder Übertragung zwischen Servern statt. Handelt es sich um eine unverschlüsselte Datenübertragung, ist dies für die Angreifer durchaus von Vorteil; keine Situation, die Sie in Ihrer Umgebung haben möchten!

Wenn Sie eine verschlüsselte Datenbank haben, muss ein Angreifer Wege finden, die verschlüsselten Daten zu entschlüsseln. Wie weit sie gehen könnten, hängt von der Komplexität der Chiffren und den Algorithmen ab, die zur Generierung der verschlüsselten Daten verwendet werden. Außerdem werden Angreifer ihr Bestes geben, um auf Verschlüsselungsschlüssel zuzugreifen, was sie dazu bringt, den Tresor zu öffnen oder die verschlüsselten Daten zu entschlüsseln, ähnlich wie beim Goldschürfen; schließlich sind daten heutzutage das neue gold. Um diese Art von Datenschutzverletzungen zu vermeiden, ist es wichtig, die Infrastruktur auf alle Arten zu sichern, einschließlich der Beschränkung des Zugriffs auf Server, wo immer dies möglich ist.

Einhaltung der Sicherheitsvorschriften

Im Umgang mit Sicherheitsvorschriften wie PCI-DSS ist Verschlüsselung eine der wichtigsten Anforderungen. Es ist eine zwingende Voraussetzung. Beispielsweise müssen alle Karteninhaberdaten entweder mit branchenüblichen Algorithmen (z. B. AES-256, RSA 2048) verschlüsselt, gekürzt, tokenisiert oder gehasht werden (zugelassene Hash-Algorithmen gemäß FIPS 180-4:SHA-1, SHA-224, SHA-256, SHA-384 SHA-512, SHA-512/224 und SHA-512/256). Obwohl dies nicht die einzige Sache ist, die für verschlüsselte Daten abgedeckt werden muss, erfordert PCI-DSS auch die Abdeckung des PCI-DSS-Verschlüsselungsschlüsselverwaltungsprozesses.

Schutz sensibler Daten

Die Verschlüsselungsschlüsselverwaltung ist ideal zum Schutz sensibler Daten mit zentralisierter Schlüsselverwaltung und einfachen APIs zur Datenverschlüsselung. Beispiele für diese Schlüsselverwaltung sind die Verwendung von Hashicorp Vault (Open Source) oder wenn Sie eine öffentliche Cloud (Closed Source) verwenden, sind die am häufigsten verwendeten Closed-Source-Schlüsselverwaltungen Amazon Web Service (AWS) Key Management Service (KMS), Google Cloud KMS, Microsoft Azure Key Vault.

Was ist Datenverschlüsselung?

Verschlüsselung ist eine der wichtigsten Sicherheitsfunktionen, um Ihre Daten so sicher wie möglich zu halten. Abhängig von den Daten, die Sie verarbeiten, ist dies nicht immer ein Muss, aber Sie sollten es zumindest als Sicherheitsverbesserung in Ihrer Organisation betrachten. Tatsächlich wird es sogar empfohlen, um Datendiebstahl oder unbefugten Zugriff zu vermeiden.

Datenverschlüsselung ist ein Prozess der Datenverschlüsselung. Es handelt sich hauptsächlich um eine Zwei-Wege-Funktion, was bedeutet, dass verschlüsselte Daten mit einem gültigen Verschlüsselungsschlüssel entschlüsselt werden müssen. Verschlüsselung ist eine solche Technik der Kryptographie. Verschlüsselung ist eine Möglichkeit, Informationen zu verbergen, indem sie so verändert werden, dass es sich um zufällige Daten handelt. Verschlüsselungsmethoden können Ihre Daten (z. B. Nachrichten) vertraulich machen, aber gleichzeitig sind andere Techniken und Strategien erforderlich, um die Integrität und Authentizität zu gewährleisten einer Nachricht. Verschlüsselung ist eher eine mathematische Operation.

Bei der Datenbankverschlüsselung gibt es zwei grundlegende Arten, wenn es um die Verschlüsselung der Daten geht. Diese Verschlüsselungstypen sind ruhende Daten und Daten während der Übertragung. Mal sehen, was sie bedeuten.

Verschlüsselung von ruhenden Daten

In einem System gespeicherte Daten werden als ruhende Daten bezeichnet. Die Verschlüsselung dieser Daten besteht darin, einen Algorithmus zu verwenden, um Text oder Code unlesbar zu machen. Sie müssen über einen Verschlüsselungsschlüssel verfügen, um die verschlüsselten Daten zu entschlüsseln.

Das Verschlüsseln einer gesamten Datenbank sollte mit Vorsicht erfolgen, da dies zu ernsthaften Leistungseinbußen führen kann. Es ist daher sinnvoll, nur einzelne Felder oder Tabellen zu verschlüsseln. Die Verschlüsselung ruhender Daten schützt die Daten vor physischem Diebstahl von Festplatten oder unbefugtem Zugriff auf den Dateispeicher. Diese Verschlüsselung entspricht auch den Datenschutzbestimmungen, insbesondere wenn auf dem Dateisystem Finanz- oder Gesundheitsdaten gespeichert sind.

Verschlüsselung für gespeicherte Daten:Wo gilt sie?

Dies umfasst ruhende Daten, wie z. B. Ihre Datenbankdaten, die an einem bestimmten Ort gespeichert sind. Beispielsweise das Datenverzeichnis von PostgreSQL, das Datenverzeichnis von MySQL/MariaDB oder die dbPath-Speicherorte von MongoDB. Ein gängiger Prozess zur Bereitstellung von Verschlüsselung ist die Verwendung von Transparent Data Encryption (TDE). Das Konzept besteht hauptsächlich darin, alles zu verschlüsseln, was persistent ist.

Außerdem sind Datenbanksicherungen sehr anfällig für Datendiebstahl und unbefugten Zugriff. Diese werden physisch in einem nichtflüchtigen Speicher gespeichert. Während diese Setups dem Lesen durch unbefugten Zugriff oder Datendiebstahl ausgesetzt sind, hilft die Verschlüsselung der Daten, unerwünschten Zugriff zu vermeiden. Natürlich werden Ihre Verschlüsselungsschlüssel auch irgendwo versteckt und nicht auf demselben Server gespeichert. Verschlüsseln Sie Ihre als Binärdateien gespeicherten Datenbankdaten und Ihre Sicherungen, egal ob es sich um eine logische oder eine binäre Sicherung handelt, denken Sie daran, dass verschlüsselte Daten die Leistung beeinträchtigen und die Dateigröße vergrößern.

Datenverschlüsselung bei der Übertragung

Daten, die zwischen Transaktionen übertragen oder verschoben werden, werden als Daten während der Übertragung bezeichnet. Die Daten, die beim Surfen auf Webseiten zwischen dem Server und dem Client ausgetauscht werden, sind ein gutes Beispiel für diese Art von Daten. Da es immer unterwegs ist, muss es verschlüsselt werden, um einen Diebstahl oder eine Änderung der Daten zu verhindern, bevor es sein Ziel erreicht.

Die ideale Situation zum Schutz von Daten während der Übertragung besteht darin, dass die Daten verschlüsselt werden, bevor sie übertragen werden, und entschlüsselt werden, sobald sie das endgültige Ziel erreichen.

Verschlüsselung für Daten während der Übertragung:Wo gilt sie?

Wie oben angegeben, bezieht sich dies auf den Kommunikationskanal zwischen dem Datenbankclient und dem Datenbankserver. Stellen Sie sich vor, die Anwendungsserver- und Datenbankserverkanäle wurden kompromittiert, und der Angreifer oder Eindringling lauscht oder führt einen MITM-Angriff durch. Der Angreifer kann die Daten abhören und erfassen, die über einen unsicheren Kanal gesendet werden. Dies kann vermieden werden, wenn die Daten, die von seinem Datenbank-Client und dem Datenbankserver-Kommunikationskanal über die Leitung gesendet werden, mit TLS/SSL-Verschlüsselung verschlüsselt werden.

Der Umgang mit Datenbankverschlüsselung hat ebenfalls viele Herausforderungen zu bewältigen. Obwohl es Vorteile gibt, gibt es Fälle, in denen es ein Nachteil ist. Sehen wir uns an, welche das sind.

Vorteile der Datenverschlüsselung

Hier sind die Listen von häufigen und realen Fällen, in denen die Datenverschlüsselung als Vorteil angesehen wird.

  • Es bietet jederzeit Sicherheit für alle Ihre Daten

  • Schützt jederzeit die Privatsphäre und vertrauliche Informationen

  • Schützt Ihre Daten auf allen Geräten

  • Stellen Sie die Einhaltung gesetzlicher Vorschriften sicher

  • Es verschafft Ihnen einen Wettbewerbsvorteil

  • Das Vorhandensein einer zugrunde liegenden Technologie zur Verschlüsselung für den Datenschutz könnte das Vertrauen stärken

  • Verschlüsselte Daten bewahren die Integrität

Nachteile der Datenverschlüsselung

Datenverschlüsselung bedeutet noch lange keinen Geschäftserfolg. Es verschafft Ihnen als wachsende, innovative und fortschrittliche Technologie keinen Vorteil, wenn Sie nicht die Herausforderungen und Best Practices kennen, um diese zu implementieren und damit umzugehen. Es gilt der Spruch „Nicht alles was glänzt ist Gold“. Es gibt bestimmte Nachteile, wenn Sie Datenverschlüsselung haben, wenn Sie deren Hauptzweck nicht verstehen.

Datenverschlüsselung und Leistungseinbußen

Verschlüsselung beinhaltet komplexe und ausgefeilte mathematische Operationen, um die Bedeutung von Daten zu verschleiern. Je nachdem, welche Arten von Chiffren oder Algorithmen Sie entweder zum Hashen oder zum Entschlüsseln der Daten auswählen. Die Komplexität und die höheren Bits sind, wenn Ihre Datenbank darauf ausgelegt ist, Tonnen von Anforderungen zu verarbeiten, wird dies Ihre Ressourcen, insbesondere die CPU, verlangsamen. Das Einrichten von Datenverschlüsselung wie TLS für Ihre Übertragung oder die Verwendung von RSA 2048-Bits kann zu viel sein, wenn Ihre finanzielle Kapazität diese Art von Konsequenzen nicht überwacht hat. Es ist ressourcenintensiv und belastet den Prozessor des Systems zusätzlich. Obwohl moderne Computersysteme leistungsstark und erschwinglich sind, können insbesondere öffentliche Cloud-Angebote akzeptabel sein. Bereiten Sie zunächst eine Bewertung vor und ermitteln Sie, welche Auswirkungen die Verschlüsselung auf die Leistung in dem Kontext haben wird, in dem Sie sie verwenden werden. Es ist auch wichtig zu verstehen, dass die Leistung der verschiedenen Verschlüsselungslösungen unterschiedlich ist. Das bedeutet, dass Geschwindigkeit und Sicherheit sorgfältig gegeneinander abgewogen werden müssen.

Verlust der Datenverschlüsselungsschlüssel

Es wird immer üblicher, die Verschlüsselungsschlüssel in einem sicheren Tresor zu speichern, wie bereits erwähnt, wie Hashicorp Vault, AWS KMS und andere. Ein Hauptproblem bei der Verschlüsselung besteht darin, dass der Verlust des Entschlüsselungsschlüssels große Probleme bedeuten würde. Sie können sich vorstellen, dass es mit einem Passwort vergleichbar ist, aber es wird als globaler Schlüssel zum Entschlüsseln aller verschlüsselten Daten behandelt. Nur wenn Sie für jeden Aspekt Ihrer Datenbank unterschiedliche Verschlüsselungsschlüssel haben, kann dies bedeuten, dass Sie sich viele Passwörter merken müssen und sicher aufbewahrt werden müssen.

Datenverschlüsselung wirkt sich auf die Wiederherstellungszeit aus

Wenn Ihre ruhenden Daten wie Backups verschlüsselt sind, kann die Wiederherstellung mit Ihrem eigenen Backup im Falle eines Totalausfalls die Zeit verdoppeln oder verdreifachen oder sogar viel länger, je nachdem, wie Sie den Typ eingestellt haben von Algorithmen oder Chiffren. Dies erhöht den Druck immer dann, wenn Ihr Cluster und Ihre Anwendung rechtzeitig verfügbar sein müssen, dies jedoch nicht möglich ist, da das Entschlüsseln oder Entschlüsseln der Daten zu viel Zeit und Systemressourcen in Anspruch nimmt.

Eingeschränkter Schutz vor Angriffen auf Anwendungsebene oder Insider-Angriffen

Natürlich ist dies aufgrund der Essenz der Verschlüsselung verständlich. Aber das bedeutet nicht, dass Sie nicht mehr verschlüsseln müssen, nur weil es keinen Schutz auf der Anwendungsebene anwendet. Das ist natürlich eine weitere Sicherheitsebene, die in der Anwendungsschicht angewendet werden muss. Wenn jemand Zugriff auf Ihren Datenbankbenutzer / Ihr Kennwort erhält, insbesondere mit Administratorzugriff, hilft die Verschlüsselung hier definitiv nicht. Der Angreifer kann Daten abrufen, indem er eine Reihe von SQL-Abfragen ausführt, die natürlich für Menschen lesbar sind, es sei denn, es gibt eine bestimmte Ebene der Anwendungslogik, die die wahre Bedeutung Ihrer Daten verschlüsselt. Auf der anderen Seite fügt dies nur zusätzliche Arbeit und Komplexität der gesamten gebundenen Technologie hinzu, die Sie verwenden. Wenn Sie ein großes Team haben, das jeder dieser Ebenen zugeordnet ist, ist dies ein großer Vorteil, da die Verwaltung der Komplexität nur jeder Rolle zugeordnet werden kann, auf die sie sich konzentrieren sollen.

Kooperation und Vertrauen mit Kollegen, die die Datenverschlüsselungsschlüssel besitzen

Definitiv eine gute Sache, die man hier berücksichtigen sollte. Was ist, wenn der Peer, der die Schlüssel kennt und weiß, wo sie gespeichert wurden, oder das Passwort Ihres Speichertresors hinterlassen hat? Es ist sehr wichtig, den physischen Zugang des Servers festzulegen, auf dem die Schlüssel und Passwörter gespeichert sind. Die Zuweisung der Rolle und die Beschränkung des Zugriffs auf diese Schlüssel und Passwörter sind sehr wichtig. Es hilft auch, wenn Sie eine lange und komplexe Kombination von Passwörtern haben, die schwer zu merken ist, aber gleichzeitig bei Bedarf leicht abgerufen werden kann. Auch wenn das ironisch klingt, ein Geheimnis muss heilig bleiben.

Soll ich mich um Datenverschlüsselung kümmern?

Datenverschlüsselung ist wünschenswert und oft obligatorisch, wie bereits erwähnt, abhängig vom schematischen Prozess und Design Ihrer Anwendung und dem Geschäftsniveau, mit dem Sie beschäftigt sind.

Müssen Sie sich um Datenverschlüsselung kümmern? Definitiv Ja. Es kommt auch vor, mit persönlicher Abhängigkeit und geschäftlichem Zweck. In Gegenwart sensibler Daten, insbesondere wenn Sie in Ihrer Organisation und Ihrem Unternehmen bereits eine eigene Persönlichkeit und finanzielle Kapazität aufgebaut haben, sind alle Daten jedoch sehr sensibel. Sie möchten nicht, dass jemand Ihre Daten stiehlt und alle strategischen und geschäftlichen Dinge kennt, die mit dem Wachstum Ihres Unternehmens verbunden sind. Daten müssen in diesem Fall gesichert werden; Daher ist die Verschlüsselung ein wesentlicher Aspekt der Sicherung Ihrer Datenbank und der Daten selbst.

Fazit

Da sensible Daten auch in unserem persönlichen Alltag immer vorhanden sind, steigt parallel dazu die Menge an sensiblen und wertvollen Daten in einer Organisation. Es ist wichtig zu verstehen, dass nicht alle Daten verschlüsselt werden müssen. Auf jeden Fall werden einige Daten global geteilt oder häufig wiederverwendet; diese Art von Daten muss nicht verschlüsselt werden. Beachten Sie die Vor- und Nachteile der Verschlüsselung in Ihrer Datenbank. Wenn Sie festlegen, wo und wie es angewendet werden soll, können Sie eine sichere Umgebung ohne Leistungseinbußen erreichen.