Schlagwort-Archive: passwort

RHEL/CentOS 7 – Root Passwort zurücksetzen

In diesem Tutorial wird beschrieben, wie das root-Passwort bei RHEL/CentOS 7 mit Bordmitteln zurückgesetzt werden kann. Mit Bordmitteln bedeutet, dass hierbei keine externen Bootmedien verwendet werden.

Aufgepasst! Macht man bei der Ausführung der folgenden Prozedur Fehler, können diese dazu führen, dass man jeglichen Zugang zu einem System verliert. Möchte man die Vorgehensweise üben, empfehle ich, dies ausschließlich auf Testsystemen zu tun.

Die Ausgangssituation

Das root-Passwort eines RHEL/CentOS 7 Servers ist unbekannt und muss zurückgesetzt werden. Es ist keine geöffnete root-Shell vorhanden und es ist kein Benutzer am System angemeldet, welcher über vollständige sudo-Berechtigungen verfügt.

Das Passwort soll ohne Einsatz externer Bootmedien zurückgesetzt werden.

Update 2019-12-17: Alternativ zur unten beschriebenen Vorgehensweise, kann bei Systemen, mit sehr großen Dateisystemen die in KB4661061 beschriebene Vorgehensweise genutzt werden.

Vorgehensweise

Schritt 1: Es wird ein Neustart des Systems durchgeführt. Sobald das Grub2-Boot-Menü erscheint, wird der Bootloader-Countdown durch Drücken einer beliebigen Taste unterbrochen.

Nun wählt man den gewünschten Eintrag (dies ist meist der erste in der Liste) aus und wechselt mit Drücken der Taste ‚e‘ in den Bearbeitungsmodus (siehe Abbildung 1).

abb1-grub2-menu

Abbildung 1: Grub2-Bootmenü

Schritt 2: Der Cursor wird zur Kernel-Kommandozeile bewegt. Diese beginnt üblicherweise mit dem Wort linux16. Hier wird, wie in Abbildung 2, ein „rd.break“ an das Ende der Zeile angefügt.

edit-kernel-command-line

Abbildung 2: Bearbeitete Startparameter für den Kernel

Die Bearbeitung wird durch Drücken der Tastenkombination Strg+x beendet und der Bootvorgang fortgesetzt. Der Bootvorgang wird an der Stelle angehalten, an der man sich in der Initial-Ram-Disk befindet, direkt bevor das eigentliche System gestartet wird. An dieser Stelle findet man den Inhalt des eigentlichen /-Dateisystems unterhalb von /sysroot.

Schritt 3: Nach Schritt 2 befindet man sich nun in einer root-Shell. Da das eigentliche Dateisystem unterhalb von /sysroot schreibgeschützt eingehängt wurde, muss dieses zunächst remountet werden. Dies geschieht mit dem folgenden Kommando (vgl. Abbildung 3):

switch_root:/# mount -oremount,rw /sysroot
remount-sysroot

Abbildung 3: Remount /sysroot

Schritt 4: In diesem Schritt wechselt man mittels chroot[1. chroot – wiki.ubuntuusers.de] in das /sysroot-Verzeichnis und setzt ein neues Passwort für den Benutzer root.

switch_root:/# chroot /sysroot
sh-4.2# passwd root
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

Wichtig: SELinux[2. Einführung in das grundlegende Konzept von SELinux] ist zu diesem Zeitpunkt noch nicht aktiv. Dies bedeutet, dass alle neuen Dateien ohne einen entsprechenden SELinux-Kontext erstellt werden. Das Programm passwd arbeitet so, dass es erst eine neue Datei erstellt und mit dieser anschließend die alte Datei überschreibt. Die neue Datei /etc/shadow besitzt damit keinen SELinux-Kontext.

Um sicherzustellen, dass alle Dateien (inkl. der /etc/shadow) während des Bootvorgangs mit einem SELinux-Label versehen werden, muss die Datei autorelabel im aktuellen Verzeichnis erstellt werden:

sh-4.2# touch /.autorelabel

Wichtig: Sämtliche Dateien und Verzeichnisse werden erneut mit einem SELinux-Label versehen. Dies kann bei großen Dateisystemen einige Zeit dauern. Um Zeit zu sparen, können Dateisysteme (außer dem Dateisystem auf dem sich die /etc/shadow befindet) in der /etc/fstab auskommentiert werden. Nachdem das SELinux-Relabeling durchgeführt und das System gestartet wurde, können diese wieder eingehängt werden.

Abschließend verlässt man durch zweimalige Eingabe von exit zuerst die chroot-Umgebung und anschließend die Debug-Shell der Ram-Disk (vgl. Abbildung 4). Das System setzt den Bootvorgang an der Stelle fort, an der dieser unterbrochen wurde.

autrelabel

Abbildung 4

Es werden zunächst sämtliche Dateien von SELinux relabelt und anschließend ein Neustart ausgeführt.

Hinweis: Vergisst man die Datei .autorelabel zu erstellen und wird SELinux im Modus „Enforcing“ ausgeführt, kann man sich nach einem Neustart nicht am System anmelden. Man muss dann erneut booten und obige Schritte ausführen, um die Datei erstellen zu können.

Wurden die oben aufgeführten Schritte erfolgreich angewendet, kann man sich nun mit dem vergebenen Passwort am System anmelden und hat damit die Kontrolle zurückgewonnen.

Auch wenn ich diese Anleitung mehrere Male erfolgreich getestet habe, wünsche ich uns allen, dass wir sie möglichst niemals brauchen werden.

MySQL: Passwort in der Datenbank ändern

Meist werden Passwörter als MD5-Hash in einer Tabelle gespeichert. Möchte man nun einem Benutzer ein neues Passwort über die Datenbank vergeben, so geht dies mit dem folgenden Befehl.

update TABLENAME set password=MD5('PASSWORD') where COLUMNAME='USERNAME';

TABLENAME ist der Name der Tabelle, die Benutzername und Passwort enthält. PASSWORD ist das neue Passwort im Klartext, COLUMNAME der Name der Spalte, welche die Benutzernamen enthält und USERNAME ist der Name des Benutzers, dessen Passwort wir setzen wollen.

Werden die Passwörter hingegen im Klartext in der Datenbank gespeichert, lautet der Befehl wie folgt:
update TABLENAME set password=PASSWORD('PASSWORD') where COLUMNAME='USERNAME';

Anschließend führt man noch das folgende Kommando aus und beendet die Sitzung:

FLUSH PRIVILEGES;
quit

Sichere Passwörter und wie man sie verwaltet

Alle Sicherheitsexperten haben Ratschläge zur Wahl sicherer Kennwörter. Auch Zeitschriften schreiben immer wieder davon. Auch am Arbeitsplatz wird man durch Richtlinien dazu angehalten sich ein sicheres Passwort auszudenken.

Dabei haben viele Ratschläge gemein, dass die Passwörter möglichst lang sein sollen. Häufig ist von 16-20 Stellen die Rede. In keinem Wörterbuch sollen sie stehen, damit man sie nicht per Wörterbuchattacke erraten kann. Ausserdem sollen sie immer aus Zahlen, Sonderzeichen, großen und kleinen Buchstaben bestehen. And last but not least soll man für verschiedene Dienste, Programme oder Webseiten auch noch verschiedene dieser sicheren und hochkomplexen Passwörter verwenden.

An dieser Stelle kommt häufig die Frage auf, wie man sich all diese Kennwörter merken soll. Sind doch viele von uns schon überfordert sich die PIN ihrer EC Karte zu merken. Und die besteht immerhin nur aus 4 Ziffern.

Dabei ist die Lösung ganz einfach. Man kann z.B. zu einem kleinen Programm greifen, mit dem sich die Passwörter verwalten lassen. Der Clou dabei ist, dass die Kennwörter nicht einfach in einer Textdatei oder Tabelle gespeichert werden, sondern in einer verschlüsselten Datenbank, welche durch ein Kennwort geschützt ist. Nun muss man sich nur noch ein einziges Kennwort merken, welches dazu dient die übrigen Kennwörter zu schützen.

Ich selbst setze dabei auf das kostenlos erhältliche Programm KeePass Password Safe. Hiermit kann ich Benutzernamen, Passwörter und weitere Informationen übersichtlich und sicher verwalten.

Hier können sie ihre Zugänge zu E-Mail Postfächern, dem Online-Banking, Online-Shopping Seiten, Online-Auktionsplattformen, etc. pp. sicher organisieren und speichern.

Doch nicht nur bei der Verwaltung, auch beim erstellen bietet uns dieses Programm eine große Hilfe. Mit dem integrierten Passwortgenerator ist es möglich lange und komplexe Passwörter zu generieren.

Sie können die Länge und die Komplexität wie gewünscht einstellen. Wenn sie die entsprechenden Passwörter und verwenden möchten, müssen diese jedoch nicht abgetippt werden. Keepass stellt hierfür zwei Methoden zur Verfügung, um Passwörter in andere Anwendungen zu übertragen.

„Keepass bietet zwei Möglichkeiten, die Passwörter in die Zielanwendungen, wie zum Beispiel den Browser, zu übertragen. Bei der ersten werden Benutzername und Passwort nacheinander in die Zwischenablage kopiert und können so in die Anwendung eingefügt werden. Gut daran ist, dass Keepass den Eintrag nach 12 Sekunden (dieser Wert lässt sich bei den Einstellungen ändern) wieder aus der Zwischenablage löscht, und so von anderen später nicht einfach darauf zugegriffen werden kann. Bei der zweiten Möglichkeit, die weit komfortabler ist, gibt Keepass die Daten direkt in den Browser ein („Auto-Type“) wobei die Zeichenfolge, die Keepass an die Anwendung sendet, angepasst werden kann. Die Steuerung zu den Eingabefeldern findet dabei zum Beispiel mit dem Senden „Tabulatortaste“ an die Anwendung statt, die Bestätigung so zum Beispiel mit dem Senden „Entertaste“. Der Nachteil dabei ist, dass Passwörter durch Keylogger ausgespäht werden können.

Eine dritte Variante ist unter Mozilla Firefox, und allen darauf basierenden Browsern, die Erweiterung KeeFox. Das Addon stellt ein Verbindung zwischen Firefox und KeePass her. Mit den in KeePass abgelegten entsprechenden Anmeldedaten können so in wenigen Schritten Login-Sites aktiviert werden. Auch neu erstellte Login-Daten können via KeeFox in KeePass gespeichert werden.“ Auszug aus der Wikipedia – Stand 20.01.2011

Dieses kleine nützliche Programm ist kostenlos und für die gängigsten Betriebssysteme erhältlich. Es gibt auch eine protable Version, welche sich direkt von einem USB-Stick starten lässt und nicht installiert werden muss. So können sie ihre Kennwörter und PINs stehts sicher geschützt bei sich tragen. Ich hoffe sie erkennen wie einfach es sein kann sichere Kennwörter zu verwenden.

Wikipedia-Artikel
Projekt-Homepage

Update vom 18.12.2016: Neben der oben genannten Programmversion existieren auch noch Versionen für Linux und Android, welche ich hier ebenfalls mit aufführen möchte: