Linux-Härtungsschritte für den Anfang

Die meisten Systeme verfügen über vertrauliche Daten, die geschützt werden müssen. Um diese Daten zu schützen, müssen wir unser Linux-System sichern. Aber wie härtet man ein Linux-System richtig aus? In diesem Artikel werden wir dies Schritt für Schritt behandeln. Wir beginnen mit physischen Sicherheitsmaßnahmen, um zu verhindern, dass unbefugte Personen überhaupt auf das System zugreifen. Als nächstes wird die Installation richtig durchgeführt, sodass wir eine solide Grundlage haben. Schließlich werden wir eine Reihe gemeinsamer Sicherheitsmaßnahmen anwenden. Nachdem wir fertig sind, sollte Ihr Server- oder Desktop-System besser geschützt sein. Bist du bereit? Lassen Sie uns mit den ersten Schritten fortfahren!

Inhaltsverzeichnis

Linux ist bereits standardmäßig sicher, oder?

Einer der Mythen über Linux ist, dass es sicher ist, da es nicht anfällig für Viren oder andere Formen von Malware ist. Dies ist teilweise richtig, da Linux die Grundlagen des ursprünglichen UNIX-Betriebssystems verwendet. Prozesse werden getrennt und ein normaler Benutzer ist in dem, was er oder sie auf dem System tun kann, eingeschränkt. Trotzdem ist Linux standardmäßig nicht perfekt sicher. Einer der Gründe sind die Linux-Distributionen, die den GNU / Linux-Kernel und die zugehörige Software verpacken. Sie müssen sich zwischen Benutzerfreundlichkeit, Leistung und Sicherheit entscheiden.

Bei den schwierigen Entscheidungen, die Linux-Distributionen treffen müssen, können Sie sich auf Kompromisse verlassen. Diese Kompromisse führen in der Regel zu einem geringeren Sicherheitsniveau. Was ist mit Malware für Linux? Das ist definitiv ein Mythos. Die Linux-Plattform hat auch einen fairen Anteil an Backdoors, Rootkits, Works und sogar Ransomware. Dies ist einer der Gründe, warum es wichtig ist, Systemhärtungen, Sicherheitsaudits und die Einhaltung technischer Richtlinien zu überprüfen.

Abbildung von Elementen, die für die Linux-Systemhärtung, -prüfung und -compliance relevant sind.

Es gibt viele Aspekte der Linux-Sicherheit, einschließlich Linux-Systemhärtung, Auditing und Compliance.

Was ist Systemhärtung?

Um das Sicherheitsniveau eines Systems zu verbessern, ergreifen wir verschiedene Arten von Maßnahmen. Dies kann das Entfernen eines vorhandenen Systemdienstes oder das Deinstallieren einiger Softwarekomponenten sein.

Systemhärtung ist der Prozess, die ‚richtigen‘ Dinge zu tun. Ziel ist es, das Sicherheitsniveau des Systems zu erhöhen. Es gibt viele Aspekte, um ein System richtig zu sichern. Die Grundlagen sind jedoch für die meisten Betriebssysteme ähnlich. Der Systemhärtungsprozess für Linux-Desktops und -Server ist also das Besondere.

Kernprinzipien der Systemhärtung

Wenn wir die Systemhärtung unter die Lupe nehmen würden, könnten wir den Prozess in einige Kernprinzipien aufteilen. Dazu gehören das Prinzip der geringsten Berechtigung, Segmentierung und Reduzierung.

Prinzip der geringsten Berechtigungen

Das Prinzip der geringsten Berechtigungen bedeutet, dass Sie Benutzern und Prozessen das absolute Minimum an Berechtigungen erteilen, um ihre Arbeit auszuführen. Es ist ähnlich wie einem Besucher Zugang zu einem Gebäude zu gewähren. Sie könnten vollen Zugang zum Gebäude gewähren, einschließlich aller sensiblen Bereiche. Die andere Möglichkeit besteht darin, Ihren Gästen nur den Zugang zu einer einzigen Etage zu ermöglichen, in der sie sich befinden müssen. Die Wahl ist einfach, oder?

Beispiele:

  • Wenn der schreibgeschützte Zugriff ausreicht, geben Sie keine Schreibberechtigungen
  • Erlauben Sie keinen ausführbaren Code in Speicherbereichen, die als Datensegmente gekennzeichnet sind
  • Führen Sie keine Anwendungen als Root-Benutzer aus, verwenden Sie stattdessen ein nicht privilegiertes Benutzerkonto

Segmentierung

Das nächste Prinzip ist, dass Sie größere Dateien bereiche in kleinere. Wenn wir uns dieses Gebäude noch einmal ansehen, haben wir es in mehrere Stockwerke aufgeteilt. Jede Etage kann weiter in verschiedene Zonen unterteilt werden. Vielleicht ist Ihr Besucher nur auf Etage 4 in der blauen Zone erlaubt. Wenn wir dies in die Linux-Sicherheit übersetzen, würde dieses Prinzip für die Speichernutzung gelten. Jeder Prozess kann nur auf seine eigenen Speichersegmente zugreifen.

Reduktion

Dieses Prinzip zielt darauf ab, etwas zu entfernen, das nicht unbedingt benötigt wird, damit das System funktioniert. Es sieht aus wie das Prinzip der geringsten Privilegien, konzentriert sich jedoch darauf, etwas zu verhindern. Ein Prozess, der nicht ausgeführt werden muss, sollte gestoppt werden. Ähnliches gilt für nicht benötigte Benutzerkonten oder sensible Daten, die nicht mehr verwendet werden.

System-Härtungsschritte

Übersicht der Härtungsschritte

  1. Sicherheitsupdates und Patches installieren
  2. Sichere Passwörter verwenden
  3. Prozesse an localhost binden
  4. Eine Firewall implementieren
  5. Die Dinge sauber halten
  6. Sicherheitskonfigurationen
  7. Zugriff einschränken
  8. Überwachen Sie Ihre Systeme
  9. Erstellen Sie Backups (und testen Sie!)
  10. Systemaudit durchführen

1. Installieren von Sicherheitsupdates und Patches

Die meisten Schwachstellen in Systemen werden durch Softwarefehler verursacht. Diese Fehler nennen wir Schwachstellen. Die richtige Pflege für das Software-Patch-Management hilft bei der Reduzierung vieler damit verbundener Risiken. Die Installation von Updates birgt häufig ein geringes Risiko, insbesondere wenn Sie zuerst mit den Sicherheitspatches beginnen. Die meisten Linux-Distributionen haben die Möglichkeit, die Pakete, die Sie aktualisieren möchten, einzuschränken (alle, nur Sicherheit, pro Paket). Stellen Sie sicher, dass Ihre Sicherheitsupdates installiert werden, sobald sie verfügbar sind. Bevor Sie etwas implementieren, testen Sie es natürlich zuerst auf einem (virtuellen) Testsystem.

Abhängig von Ihrer Linux-Distribution gibt es möglicherweise eine Möglichkeit, Sicherheitspatches automatisch zu implementieren, z. B. unbeaufsichtigte Upgrades auf Debian und Ubuntu. Dies macht Software-Patch-Management viel einfacher!

2. Verwenden Sie starke Passwörter

Das Hauptgateway zu einem System besteht darin, sich als gültiger Benutzer mit dem zugehörigen Kennwort dieses Kontos anzumelden. Starke Passwörter erschweren es Tools, das Passwort zu erraten und böswillige Personen über die Haustür hereinzulassen. Ein sicheres Passwort besteht aus einer Vielzahl von Zeichen (alphanumerisch, Zahlen, Sonderzeichen wie Prozent, Leerzeichen oder sogar Unicode-Zeichen).

3. Prozesse an localhost

binden Nicht alle Dienste müssen über das Netzwerk verfügbar sein. Wenn Sie beispielsweise eine lokale MySQL-Instanz auf Ihrem Webserver ausführen, lassen Sie sie nur einen lokalen Socket abhören oder an localhost (127.0.0.1) binden. Konfigurieren Sie dann Ihre Anwendung für die Verbindung über diese lokale Adresse, die normalerweise bereits die Standardeinstellung ist.

4. Implementieren Sie eine Firewall

Im Idealfall sollte nur zulässiger Datenverkehr Ihr System erreichen. Implementieren Sie dazu eine Firewall-Lösung wie iptables oder die neueren nftables.

Erwägen Sie beim Erstellen einer Richtlinie für Ihre Firewall die Verwendung einer Richtlinie „Alle verweigern, einige zulassen“. Sie verweigern also standardmäßig den gesamten Datenverkehr und definieren dann, welche Art von Datenverkehr Sie zulassen möchten. Dies ist besonders nützlich für eingehenden Datenverkehr, um die Freigabe von Diensten zu verhindern, die Sie nicht freigeben wollten.

Nützlich liest:

  • Unterschiede zwischen iptables und nftables

5. Halten Sie die Dinge sauber

Alles, was auf einem System installiert ist, das nicht dorthin gehört, kann sich nur negativ auf Ihren Computer auswirken. Es erhöht auch Ihre Backups (und Wiederherstellungszeiten). Oder sie enthalten Schwachstellen. Ein sauberes System ist oft ein gesünderes und sichereres System. Daher ist Minimalisierung eine großartige Methode im Prozess der Linux-Härtung.

Umsetzbare Aufgaben umfassen:

  • Unbenutztes Paket löschen
  • Bereinigen Sie alte Home-Verzeichnisse und entfernen Sie die Benutzer

6. Sichere Konfigurationen

Die meisten Anwendungen verfügen über eine oder mehrere Sicherheitsmaßnahmen zum Schutz vor bestimmten Bedrohungen der Software oder des Systems. Suchen Sie auf der Manpage nach Optionen und testen Sie diese Optionen sorgfältig.

7. Zugriff beschränken

Zugriff auf das Gerät nur autorisierten Benutzern erlauben. Braucht jemand wirklich Zugriff oder sind alternative Methoden möglich, um dem Benutzer das zu geben, was er will?

8. Überwachen Sie Ihre Systeme

Die meisten Eindringlinge bleiben aufgrund mangelnder Überwachung unentdeckt. Implementieren Sie die normale Systemüberwachung und die Überwachung von Sicherheitsereignissen. Zum Beispiel erhöhte die Verwendung des Linux-Audit-Frameworks die Erkennungsraten vermuteter Ereignisse.

9. Backups erstellen (und testen!)

Erstellen Sie regelmäßig ein Backup der Systemdaten. Dies kann Datenverlust verhindern. Noch wichtiger ist, testen Sie Ihre Backups. Ein Backup zu haben ist schön, aber es ist die Wiederherstellung, die wirklich zählt!

Backups können mit vorhandenen Systemtools wie tar und scp durchgeführt werden. Eine weitere Möglichkeit, Bandbreite zu sparen, ist die Synchronisierung von Daten mit Tools wie rsync. Wenn Sie lieber ein Backup-Programm verwenden möchten, sollten Sie Amanda oder Bacula in Betracht ziehen.

10. Systemaudit durchführen

Lynis (Linux/Unix-Auditing-Tool) Screenshot

Screenshot eines mit Lynis durchgeführten Linux-Server-Sicherheitsaudits.

Sie können ein System nicht richtig schützen, wenn Sie es nicht messen.

Verwenden Sie ein Sicherheitstool wie Lynis, um eine regelmäßige Überprüfung Ihres Systems durchzuführen. Alle Ergebnisse werden auf dem Bildschirm angezeigt und zur weiteren Analyse in einer Datendatei gespeichert. Mit einer umfangreichen Protokolldatei ermöglicht es, alle verfügbaren Daten zu verwenden und nächste Aktionen für die weitere Systemhärtung zu planen.