Beste Tipps für MySQL- und MariaDB-Sicherheit
Veröffentlicht: 2022-01-08Sicherheit ist vielen Menschen ein großes Anliegen. Dieser Beitrag gibt Ihnen zehn Tipps, wie Sie MySQL- und MariaDB-Sicherheit erreichen, um Ihre Datenbanken vor Hackern zu schützen. Zu diesen Tipps gehören: Sichern von Daten, Verwenden starker Passwörter und Beschränken von Zugriffsrechten.
Beste Tipps für MySQL- und MariaDB-Sicherheit
Hier sind die besten Tipps zum Erreichen von MySQL- und MariaDB-Sicherheit:
Benutzer ohne Passwort entfernen
Wenn Sie Benutzer ohne Passwörter in Ihrer Datenbank haben, entfernen Sie sie am besten. Dies wird dazu beitragen, die Wahrscheinlichkeit zu verringern, dass sich jemand in Ihre Datenbank hacken kann. Sie können die folgende Abfrage verwenden, um diese Benutzer zu entfernen:
Unabhängig davon, ob die Benutzer nur Zugriff vom localhost haben oder nicht, sollten sie gelöscht werden, um zu verhindern, dass negative Befehle ausgeführt werden. Außerdem sind schwache Passwörter an sich schon ein Sicherheitsrisiko.
Sie sollten beim Erstellen von Benutzern in Ihren Datenbanken immer sichere Passwörter verwenden. Schwache Passwörter sind für Hacker leichter zu knacken, was dazu führen könnte, dass sie Zugriff auf Ihre Datenbank erhalten und diese verwüsten, wenn sie dies schaffen. Die Verwendung eines automatisierten Passwortgenerators hilft Ihnen dabei, stärkere Passwörter zu erstellen, die schwieriger zu knacken sind.
Sie sollten auch die Verwendung der Zwei-Faktor-Authentifizierung für Ihre Benutzer in Betracht ziehen. Dazu ist ein zusätzlicher Code erforderlich, der normalerweise an ihr Telefon gesendet wird, um sich bei der Datenbank anzumelden. Dies macht es für jemanden viel schwieriger, sich Zugang zu verschaffen, wenn er nur Ihren Benutzernamen und Ihr Passwort hat.
Beschränken Sie den Fernzugriff
Wenn Sie keinen Fernzugriff auf Ihre Datenbank gewähren müssen, schränken Sie ihn am besten ein. Dies wird dazu beitragen, die Wahrscheinlichkeit zu verringern, dass sich jemand von einem entfernten Standort aus in Ihre Datenbank hacken kann.
Glücklicherweise schränken die neuesten Versionen von MySQL und MariaDB den Fernzugriff auf die Datenbank automatisch ein, sofern nicht anders angegeben. Sie sollten jedoch trotzdem Ihre Sicherheitseinstellungen überprüfen, um sicherzustellen, dass dies der Fall ist.
Es ist auch eine gute Idee sicherzustellen, dass sich alle Benutzer nur über genau die von Ihnen gewünschten Hosts mit MySQL verbinden. Dies kann beispielsweise durch die Verwendung von ([email protected]) erfolgen.
Entfernen Sie die Testdatenbank
Wenn Sie MySQL oder MariaDB installieren, wird automatisch eine Testdatenbank erstellt. Diese Datenbank enthält Daten, die verwendet werden können, um sich in Ihre echten Datenbanken zu hacken, wenn sie in die falschen Hände geraten. Es ist am besten, diese Datenbank zu entfernen, damit sie nicht für schändliche Zwecke verwendet werden kann.
Diese Testdatenbank belastet auch den Datenbankserver unnötig. Es wird nur von Datenbanktestern zum Testen von Abfragen verwendet, sodass es entfernt werden kann, ohne die Funktionalität Ihrer Datenbanken zu beeinträchtigen.
Verschleiern Sie den Zugriff auf MySQL
Wenn Sie nicht möchten, dass andere wissen, dass Ihre Datenbank existiert, können Sie den Zugriff verschleiern. Dadurch wird es für jemanden schwieriger, Ihre Datenbank zu finden und sich in sie zu hacken.
Das Verschleiern des Zugriffs erschwert es auch jedem, der Ihren Datenverkehr überwacht, festzustellen, welche Ports von MySQL oder MariaDB verwendet werden.
Es ist bekannt, dass MySQL auf Port 3306 läuft, während „root“ der Name des Superusers ist. Sie können dies beheben, indem Sie my.cnf bearbeiten und die Variable „port“ ändern.
Sichern Sie Ihre Konfigurationsdateien
Wie bei jeder Anwendung ist es wichtig, Ihre Konfigurationsdateien für MySQL oder MariaDB zu sichern. Diese Dateien enthalten vertrauliche Informationen wie Kennwörter und Benutzerdaten. Durch das Sichern dieser Dateien wird verhindert, dass jemand Zugriff auf diese Informationen erhält, wenn er Zugriff auf Ihre Server erhält.
Netzwerksicherheit
Es ist auch wichtig, Ihr Netzwerk sowie die Server selbst zu sichern. Dies wird dazu beitragen, die Wahrscheinlichkeit zu verringern, dass sich jemand von einem entfernten Standort aus in Ihre Datenbank hackt und schändliche Befehle darauf ausführt.
Als Erstes sollten Sie sicherstellen, dass auf MySQL nur über eine lokale Verbindung zugegriffen wird, nicht über das Netzwerk. Sie können dies über einen Unix-Socket tun. Geben Sie 'skip-networking' in my.cnf ein. um die gesamte TCP/IP-Kommunikation zu stoppen.

Sie können Ihre Firewall auch verwenden, um den Zugriff auf MySQL von bestimmten IP-Adressen oder -Bereichen aus zu blockieren. Dies wird dazu beitragen, die Wahrscheinlichkeit zu verringern, dass sich jemand von einem entfernten Standort aus in Ihre Datenbank hackt.
Verwenden Sie Audit-Plugins
Sie können auch Audit-Plugins verwenden, um zu verfolgen, was in Ihrer Datenbank passiert. Diese helfen Ihnen festzustellen, ob sich jemand in Ihre Datenbank gehackt hat oder ob etwas Verdächtiges damit vor sich geht, das darauf hindeuten könnte.
Es gibt viele kostenlose und kostenpflichtige Optionen für diese Plugins, die heute online verfügbar sind. MySQL Enterprise Audit ist eine gute Option, wenn MySQL Enterprise bereits in Ihrer Organisation verwendet wird. MariaDB hat auch ein eigenes Audit-Plugin.
Diese Plugins leisten alle hervorragende Arbeit bei der Überwachung Ihrer Datenbank auf verdächtige Aktivitäten. Sie können Ihnen sogar Warnungen senden, wenn etwas Ungewöhnliches erkannt wird, sodass Sie die Protokolle nicht jedes Mal manuell überprüfen müssen.
Deaktivieren Sie LOAD DATA LOCAL INFILE
Eine andere Möglichkeit, jemanden daran zu hindern, Zugriff auf Ihre Datenbank zu erhalten, besteht darin, die LOCAL-Funktion in MySQL und MariaDB zu deaktivieren. Dieser Befehl ermöglicht das Laden von Datendateien aus einer lokalen Datei, stellt aber auch ein Sicherheitsrisiko dar – insbesondere, wenn sie nicht verschlüsselt sind. Um diese Funktion zu deaktivieren, setzen Sie local-infile=0 in my.cnf.
Dateirechte
Es ist auch wichtig, die richtigen Dateiberechtigungen für Ihre MySQL- und MariaDB-Dateien festzulegen. Dadurch wird sichergestellt, dass nur autorisierte Benutzer darauf zugreifen können. Sie können dies tun, indem Sie die entsprechenden Berechtigungen für diese Dateien festlegen.
Sie könnten zum Beispiel den Eigentümer aller Ihrer MySQL-Dateien auf „mysql“ und die Gruppe auf „mysql“ festlegen, wobei allen anderen Benutzern der Zugriff verweigert wird. Dadurch wird sichergestellt, dass nur Benutzer mit den richtigen Berechtigungen auf Ihre MySQL-Dateien zugreifen können.
SSL und Verschlüsselung von Daten während der Übertragung
Wenn Sie MySQL oder MariaDB mit aktiviertem SSL ausführen, ist es wichtig, dass die erforderlichen Zertifikate auf Ihrem Server installiert sind. Wenn dies nicht getan wird, kann jeder Informationen abfangen, die zwischen Ihrer Datenbank und ihren Clients gesendet werden.
Sie sollten auch alle Daten während der Übertragung verschlüsseln, um sensible Daten, die über öffentliche Netzwerke übertragen werden, zusätzlich mit SSH zu schützen.
Sie können auch die Daten verschlüsseln, die zwischen Ihrem Datenbankserver und anderen Geräten übertragen werden. Dadurch wird sichergestellt, dass niemand, der den Datenverkehr in Ihrem Netzwerk überwacht, auf die Daten zugreifen kann, die er sendet oder empfängt, selbst wenn es ihm gelungen ist, sich in eines dieser Systeme zu hacken.
SSL wäre eine großartige Möglichkeit, dies für MySQL-Benutzer zu erreichen, da es bereits in das Protokoll integriert ist. MariaDB-Benutzer können Stunnel verwenden, um einen ähnlichen Effekt zu erzielen.
Verschlüsselung ruhender Daten
Schließlich sollten Sie auch erwägen, Ihre Daten im Ruhezustand zu verschlüsseln. Das bedeutet, dass die Daten verschlüsselt werden, auch wenn sie nicht übertragen werden.
Dies kann mit einem Tool wie MySQL Enterprise Encryption oder MariaDB Column Encryption erfolgen.
Beide Tools bieten eine großartige Möglichkeit, Ihre Daten vor dem Zugriff zu schützen, wenn es jemandem gelingt, sich in Ihren Datenbankserver zu hacken. Sie sind auch sehr einfach zu bedienen, sodass Sie kein Experte für Verschlüsselung sein müssen, um diese Tools nutzen zu können.
Fazit
Alle hier erwähnten Optionen werden Ihnen helfen, MySQL- und MariaDB-Sicherheit zu erreichen, aber sie sind nicht alle perfekt für jede Situation. Sie sollten Ihre spezifischen Bedürfnisse berücksichtigen, wenn Sie sie betrachten, damit Sie die bestmögliche auswählen können. Diese Tipps sollten Ihnen jedoch eine gute Vorstellung davon vermitteln, wie Sie eine Option auswählen können, die für Sie gut geeignet ist.
Hoffentlich hat Ihnen dieser Artikel einige gute Ideen gegeben, wie Sie MySQL- und MariaDB-Sicherheit in Ihrem Unternehmen erreichen können, damit sich niemand in Ihre Datenbanken hacken kann, wenn es ihm gelingt, andere Abwehrmechanismen zu durchbrechen.