LFCA – Nützliche Tipps zur Absicherung von Daten und Linux – Teil 18
Seit seiner Veröffentlichung in den frühen neunziger Jahren hat Linux dank seiner Stabilität, Vielseitigkeit, Anpassbarkeit und einer großen Gemeinschaft von Open-Source-Entwicklern, die rund um die Uhr daran arbeiten, Fehlerbehebungen und Verbesserungen am Betriebssystem bereitzustellen, die Bewunderung der Technologiegemeinschaft gewonnen. Im Großen und Ganzen ist Linux das Betriebssystem der Wahl für Public Clouds, Server und Supercomputer, und fast 75 % der mit dem Internet verbundenen Produktionsserver laufen unter Linux.
Abgesehen davon, dass es das Internet antreibt, hat Linux seinen Weg in die digitale Welt gefunden und ist seitdem nicht weniger geworden. Es unterstützt eine Vielzahl von intelligenten Geräten, darunter Android-Smartphones, Tablets, Smartwatches, Smart Displays und vieles mehr.
Ist Linux so sicher?
Linux ist bekannt für seine höchste Sicherheitsstufe und das ist einer der Gründe, warum es eine beliebte Wahl in Unternehmensumgebungen ist. Aber es ist eine Tatsache, dass kein Betriebssystem zu 100 % sicher ist. Viele Benutzer glauben, dass Linux ein narrensicheres Betriebssystem ist, was eine falsche Annahme ist. Tatsächlich ist jedes Betriebssystem mit einer Internetverbindung anfällig für potenzielle Sicherheitsverletzungen und Malware-Angriffe.
In den Anfangsjahren hatte Linux eine viel kleinere, technikzentrierte Bevölkerungsgruppe, und das Risiko, unter Malware-Angriffen zu leiden, war gering. Heutzutage treibt Linux einen großen Teil des Internets an, und dies hat das Wachstum der Bedrohungslandschaft vorangetrieben. Die Bedrohung durch Malware-Angriffe ist realer denn je.
Ein perfektes Beispiel für einen Malware-Angriff auf Linux-Systeme ist die Erebus-Ransomware, eine dateiverschlüsselnde Malware, die fast 153 Linux-Server von NAYANA, einem südkoreanischen Webhosting-Unternehmen, betraf.
Aus diesem Grund ist es ratsam, das Betriebssystem weiter zu härten, um ihm die gewünschte Sicherheit zum Schutz Ihrer Daten zu geben.
Tipps zur Härtung von Linux-Servern
Die Sicherung Ihres Linux-Servers ist nicht so kompliziert, wie Sie vielleicht denken. Wir haben eine Liste der besten Sicherheitsrichtlinien zusammengestellt, die Sie implementieren müssen, um die Sicherheit Ihres Systems zu stärken und die Datenintegrität zu wahren.
1. Aktualisieren Sie Softwarepakete regelmäßig
In der Anfangsphase des Equifax-Verstoßes nutzten Hacker eine weithin bekannte Schwachstelle – Apache Struts – auf dem Webportal für Kundenbeschwerden von Equifax aus.
Apache Struts ist ein Open-Source-Framework zum Erstellen moderner und eleganter Java-Webanwendungen, das von der Apache Foundation entwickelt wurde. Die Foundation veröffentlichte am 7. März 2017 einen Patch zur Behebung der Sicherheitslücke und gab eine entsprechende Erklärung ab.
Equifax wurde über die Schwachstelle informiert und angewiesen, ihre Anwendung zu patchen, aber leider blieb die Schwachstelle bis Juli desselben Jahres ungepatcht, als es zu spät war. Den Angreifern gelang es, sich Zugang zum Netzwerk des Unternehmens zu verschaffen und Millionen vertraulicher Kundendaten aus den Datenbanken zu exfiltrieren. Als Equifax Wind von den Geschehnissen bekam, waren bereits zwei Monate vergangen.
Was können wir also daraus lernen?
Böswillige Benutzer oder Hacker werden Ihren Server immer auf mögliche Software-Schwachstellen untersuchen, die sie dann ausnutzen können, um in Ihr System einzudringen. Um auf Nummer sicher zu gehen, sollten Sie Ihre Software immer auf die aktuellen Versionen aktualisieren, um Patches auf vorhandene Schwachstellen anzuwenden.
Wenn Sie Ubuntu- oder Debian-basierte Systeme verwenden, besteht der erste Schritt normalerweise darin, Ihre Paketlisten oder Repositories wie gezeigt zu aktualisieren.
$ sudo apt update
Um nach allen Paketen mit verfügbaren Updates zu suchen, führen Sie den folgenden Befehl aus:
$ sudo apt list --upgradable
Aktualisieren Sie Ihre Softwareanwendungen auf die aktuellen Versionen, wie gezeigt:
$ sudo apt upgrade
Sie können diese beiden in einem Befehl verketten, wie gezeigt.
$ sudo apt update && sudo apt upgrade
Aktualisieren Sie für RHEL und CentOS Ihre Anwendungen, indem Sie den folgenden Befehl ausführen:
$ sudo dnf update ( CentOS 8 / RHEL 8 )
sudo yum update ( Earlier versions of RHEL & CentOS )
Eine weitere praktikable Option besteht darin, automatische Sicherheitsupdates für Ubuntu zu aktivieren und auch automatische Updates für CentOS/RHEL einzurichten.
2. Entfernen Sie ältere Kommunikationsdienste/-protokolle
Trotz der Unterstützung einer Vielzahl von Remote-Protokollen können ältere Dienste wie rlogin, telnet, TFTP und FTP ein enormes Sicherheitsproblem für Ihr System darstellen. Dabei handelt es sich um alte, veraltete und unsichere Protokolle, bei denen Daten im Klartext gesendet werden. Wenn diese vorhanden sind, sollten Sie sie wie gezeigt entfernen.
Führen Sie für Ubuntu-/Debian-basierte Systeme Folgendes aus:
$ sudo apt purge telnetd tftpd tftpd-hpa xinetd rsh-server rsh-redone-server
Führen Sie für RHEL/CentOS-basierte Systeme Folgendes aus:
$ sudo yum erase xinetd tftp-server telnet-server rsh-server ypserv
3. Schließen Sie ungenutzte Ports in der Firewall
Sobald Sie alle unsicheren Dienste entfernt haben, ist es wichtig, Ihren Server nach offenen Ports zu durchsuchen und alle ungenutzten Ports zu schließen, die möglicherweise als Einstiegspunkt für Hacker genutzt werden können.
Angenommen, Sie möchten Port 7070 in der UFW-Firewall blockieren. Der Befehl dafür lautet:
$ sudo ufw deny 7070/tcp
Laden Sie dann die Firewall neu, damit die Änderungen wirksam werden.
$ sudo ufw reload
Führen Sie für Firewalld den folgenden Befehl aus:
$ sudo firewall-cmd --remove-port=7070/tcp --permanent
Und denken Sie daran, die Firewall neu zu laden.
$ sudo firewall-cmd --reload
Überprüfen Sie dann die Firewall-Regeln wie gezeigt:
$ sudo firewall-cmd --list-all
4. Sicheres SSH-Protokoll
Das SSH-Protokoll ist ein Remote-Protokoll, mit dem Sie eine sichere Verbindung zu Geräten in einem Netzwerk herstellen können. Obwohl es als sicher gilt, reichen die Standardeinstellungen nicht aus und es sind einige zusätzliche Optimierungen erforderlich, um böswillige Benutzer weiter davon abzuhalten, in Ihr System einzudringen.
Wir haben eine umfassende Anleitung, wie Sie das SSH-Protokoll härten können. Hier sind die wichtigsten Highlights.
- Konfigurieren Sie die passwortlose SSH-Anmeldung und aktivieren Sie die Authentifizierung mit privatem/öffentlichem Schlüssel.
- Deaktivieren Sie die SSH-Remote-Root-Anmeldung.
- Deaktivieren Sie SSH-Logins von Benutzern mit leeren Passwörtern.
- Deaktivieren Sie die Passwortauthentifizierung vollständig und bleiben Sie bei der SSH-Authentifizierung mit privatem/öffentlichem Schlüssel.
- Beschränken Sie den Zugriff auf bestimmte SSH-Benutzer.
- Konfigurieren Sie ein Limit für Kennwortversuche.
5. Fail2ban installieren und aktivieren
Fail2ban ist ein Open-Source-Intrusion-Prevention-System, das Ihren Server vor Bruteforce-Angriffen schützt. Es schützt Ihr Linux-System, indem es IPs verbietet, die auf böswillige Aktivitäten hinweisen, wie z. B. zu viele Anmeldeversuche. Es wird mit Filtern für beliebte Dienste wie Apache-Webserver, vsftpd und SSH ausgeliefert.
Wir haben eine Anleitung, wie Sie Fail2ban konfigurieren können, um das SSH-Protokoll weiter zu stärken.
6. Erzwingen Sie die Passwortstärke mit dem PAM-Modul
Die Wiederverwendung von Passwörtern oder die Verwendung von schwachen und einfachen Passwörtern untergräbt die Sicherheit Ihres Systems erheblich. Sie erzwingen eine Kennwortrichtlinie, verwenden die pam_cracklib, um die Anforderungen an die Kennwortstärke festzulegen oder zu konfigurieren.
Mit dem PAM-Modul können Sie die Passwortstärke definieren, indem Sie die Datei /etc/pam.d/system-auth bearbeiten. Sie können beispielsweise die Komplexität von Passwörtern festlegen und die Wiederverwendung von Passwörtern verhindern.
7. Installieren Sie ein SSL/TLS-Zertifikat
Wenn Sie eine Website betreiben, stellen Sie immer sicher, dass Ihre Domain mit einem SSL/TLS-Zertifikat gesichert ist, um die zwischen dem Browser der Benutzer und dem Webserver ausgetauschten Daten zu verschlüsseln.
8. Deaktivieren Sie schwache Verschlüsselungsprotokolle und Verschlüsselungsschlüssel
Sobald Sie Ihre Website verschlüsselt haben, sollten Sie auch in Erwägung ziehen, schwache Verschlüsselungsprotokolle zu deaktivieren. Zum Zeitpunkt des Schreibens dieses Leitfadens ist das neueste Protokoll TLS 1.3, das gebräuchlichste und am weitesten verbreitete Protokoll. Frühere Versionen wie TLS 1.0, TLS 1.2 und SSLv1 bis SSLv3 wurden mit bekannten Sicherheitslücken in Verbindung gebracht.
Einhüllend
Dies war eine Zusammenfassung einiger der Schritte, die Sie unternehmen können, um die Datensicherheit und den Datenschutz für Ihr Linux-System zu gewährleisten.