Mach Du das mal….
Ab und zu wäre es schön, den Authentifizierungsprozess dem Betriebssystem zu überlassen. Anstatt das Password eines Users oder einer Applikation in der Datenbank zu speichern, reicht uns als Legitimation die Tatsache aus, dass der User oder die Applikationen den Verbindungsaufbau als bestimmter Betriebssystem-User durchführt. Dies kann bei MySQL durchaus realisiert werden. Voraussetzung hierfür ist, dass der OS-User und die Datenbank auf dem gleichen System (also localhost) arbeiten müssen. Dies ist aber z.B. bei LAMP-Architekturen (LAMP= Linux + Apache + MySQL + PHP) oftmals der Fall. In unserem einfachen Beispiel läuft eine MySQL DB unter dem OS-User „mysql":
Die Datenbank verfügt über einen Applikations-User namens ‚ordix', der sich von „localhost" mit seinem Passwort authentifizieren darf:
Du kannst Dich gerne auf den Socket stellen
Unser Wunsch ist es jedoch, dass sich dieser User ab sofort über das OS authentifiziert. Dazu muss beim Start des Servers ein Authentifizierungs-Plugin geladen werden:
Die Aktivierung des Plugins erfolgt dann per Kommando online:
Im Anschluss an die Aktivierung kann nun der User ‚ordix'@‚localhost' auf die Betriebssystem-Authentifizierung umgestellt werden:
Vertrauen ist gut, Kontrolle ist besser
Abschließend testen wir den Zugriff als Betriebssystem-User ‚ordix':
Fazit
Die Authentifizierung über den OS-User ist bei MySQL kein Hexenwerk und in einigen Fällen sicherlich nützlich. Vielen sind jedoch die unterschiedlichen Authentifizierungs-Plugins nicht bekannt. Ein Blick in die MySQL Dokumentation kann hier zur Aufklärung beitragen: https://dev.mysql.com/doc/refman/8.0/en/authentication-plugins.html
Seminarempfehlungen
Wenn Sie Fragen zu MySQL im Allgemeinen oder zum Themenbereich Sicherheit im Speziellen haben, dann wenden Sie sich gerne an uns oder besuchen Sie einen unserer Kurse.
Zu unseren MySQL Seminaren Zu unseren IT-Security Seminaren