Kapitel 5: MySQL-Datenbankadministration 207
wirklich geheime Daten ¨uber ¨offentliche Netzwerke zu ¨ubertragen, und eine
¨
Offentlichkeit
solcher Art ist unakzeptabel.
SSL ist ein Protokoll, das unterschiedliche Verschl¨usselungsalgorithmen benutzt, um
sicherzustellen, dass Daten aus einem ¨offentlichen Netzwerk vertraut werden kann. Es
besitzt Mechanismen, um Ver¨anderungen, Verlust oder wiederholtes Abspielen (Replay)
von Daten zu entdecken. SSL enth¨alt auch Algorithmen, um die Identit¨at zu erkennen und
zu ¨uberpr¨ufen, indem der X509-Standard benutzt wird.
Mittels Verschl¨usselung werden jegliche Arten von Daten unlesbar gemacht. Dar¨uber hin-
aus werden in der heutigen Praxis Verschl¨usselungsalgorithmen viele weitere Elemente
hinzugef¨ugt. Sie sollten vielen Arten bekannter Angriffe widerstehen, wie dem Herumspie-
len mit der Reihenfolge verschl¨usselter Nachrichten oder dem doppelten Abspielen (Replay)
von Daten.
X509 ist der Standard, der es erm¨oglicht, jemanden im Internet zu identifizieren. Er
wird meistens beim E-Commerce ¨uber das Internet b enutzt. Kurz gesagt sollte es
ein Unternehmen namens "Zertifizierungsautorit¨at" geben, die jedem elektronische
Zertifikate zuordnet, der diese braucht. Zertifikate beruhen auf asymmetrischen
Verschl¨usselungsalgorithmen, die zwei Verschl¨usselungsschl¨ussel haben - ¨offentlichen
und geheimen. Zertifikatsbesitzer k¨onnen ihre Identit¨at jeder anderen Seite beweisen.
Zertifikate beinhalten den ¨offentlichen Schl¨ussel des Besitzers. Alle Daten, die damit
verschl¨usselt werden, k¨onnen nur vom Besitzer des geheimen Schl¨ussels entschl¨usselt
werden.
Frage: Warum benutzt MySQL nicht standardm¨aßig verschl¨usselte Verbindungen?
Antwort: Weil es MySQL langsamer macht. Jede zus¨atzliche Funktionalit¨at erfordert,
dass ein Computer zus¨atzliche Arbeit verrichtet, und das Verschl¨usseln von Daten ist
eine CPU-intensive Operation, die leicht die Zeit und Leistung ¨ubertreffen kann, die
MySQL selbst verbraucht und ben¨otigt. MySQL ist vorgabem¨aßig auf Geschwindigkeit
optimiert. Frage: Ich brauche mehr Informationen ¨uber SSL / X509 / Verschl¨usselung
usw. Antwort: Benutzen Sie Ihre bevorzugte Internet-Suchmaschine und suchen Sie nach
den Schl¨usselw¨ortern, die Sie interessieren.
MySQL kann x509-Zertifikat-Attribute pr¨ufen, zus¨atzlich zum meist benutzten
Benutzername-/Passwort-Schema. Alle gew¨ohnlich Optionen werden immer noch ben¨otigt
(Benutzername, Passw¨orter, IP-Adressmaske, Datenbank-/Tabellenname).
Es gibt verschiedene M¨oglichkeiten, Verbindungen zu begrenzen:
• Ohne jegliche SSL-/X509-Optionen werden alle Arten verschl¨usselter und unver-
schl¨usselter Verbindungen zugelassen, wenn Benutzername und Passwort g¨ultig
sind.
• Die REQUIRE SSL-Option erzwingt SSL-verschl¨usselte Verbindungen. Beachten Sie,
dass dieses Erfordernis ¨ubergangen werden kann, wenn es irgend welche weiteren ACL-
Datens¨atze gibt, die Verbindungen ohne SSL zulassen.
Beispiel:
GRANT ALL PRIVILEGES ON test.* TO root@localhost IDENTIFIED BY "goodsecret" REQUIRE SSL
• * REQUIRE X509 Wenn ein X509-Zertifikat erforderlich ist, bedeutet das, dass der Client
ein g¨ultiges Zertifikat haben muss, ab er wir k¨ummern uns nicht um das genaue Zerti-
fikat, den Herausgeber (Issuer) oder den Betreff (Subject). Die einzige Einschr¨ankung
Kommentare zu diesen Handbüchern