Da heute so viele unserer persönlichen und beruflichen Daten online verfügbar sind, ist es wichtig, dass jeder – vom Fachmann bis zum allgemeinen Internetnutzer – die Grundlagen von Sicherheit und Datenschutz lernt. Als Student konnte ich durch die CyberPatriot-Initiative meiner Schule Erfahrungen in diesem Bereich sammeln, wo ich die Gelegenheit hatte, mich mit Branchenexperten auszutauschen, um mehr über Cyber-Verletzungen und die grundlegenden Schritte zur Herstellung der Sicherheit eines Systems zu erfahren. P>
Weitere Linux-Ressourcen
- Spickzettel für Linux-Befehle
- Spickzettel für fortgeschrittene Linux-Befehle
- Kostenloser Online-Kurs:RHEL Technical Overview
- Spickzettel für Linux-Netzwerke
- SELinux-Spickzettel
- Spickzettel für allgemeine Linux-Befehle
- Was sind Linux-Container?
- Unsere neuesten Linux-Artikel
Dieser Artikel beschreibt sechs einfache Schritte zur Verbesserung der Sicherheit Ihrer Linux-Umgebung für den persönlichen Gebrauch, basierend auf dem, was ich bisher als Anfänger gelernt habe. Während meiner gesamten Reise habe ich Open-Source-Tools verwendet, um meinen Lernprozess zu beschleunigen und mich mit übergeordneten Konzepten in Bezug auf die Sicherung meines Linux-Servers vertraut zu machen.
Ich habe diese Schritte mit Ubuntu 18.04 getestet, der Version, mit der ich am besten vertraut bin, aber diese Schritte funktionieren auch für andere Linux-Distributionen.
1. Updates ausführen
Entwickler finden ständig Wege, um Server stabiler, schneller und sicherer zu machen, indem sie bekannte Schwachstellen patchen. Das regelmäßige Ausführen von Updates ist eine gute Angewohnheit, um die Sicherheit zu maximieren. Führen Sie sie aus mit:
sudo apt-get update && apt-get upgrade
2. Firewall-Schutz aktivieren
Das Aktivieren einer Firewall erleichtert die Kontrolle des eingehenden und ausgehenden Datenverkehrs auf Ihrem Server. Es gibt viele Firewall-Anwendungen, die Sie unter Linux verwenden können, einschließlich firewall-cmd und Uncomplicated Firewall (UFW). Ich verwende UFW, daher sind meine Beispiele spezifisch dafür, aber diese Prinzipien gelten für jede Schnittstelle, die Sie auswählen.
UFW installieren:
sudo apt-get install ufw
Wenn Sie Ihren Server noch besser sichern möchten, können Sie eingehende und ausgehende Verbindungen verweigern. Seien Sie gewarnt:Dadurch wird Ihr Server von der Welt abgeschnitten. Wenn Sie also den gesamten Datenverkehr blockiert haben, müssen Sie angeben, welche ausgehenden Verbindungen von Ihrem System erlaubt sind:
sudo ufw default deny incoming
sudo ufw default allow outgoing
Sie können auch Regeln schreiben, um eingehende Verbindungen zuzulassen, die Sie für den persönlichen Gebrauch benötigen:
ufw allow <service>
Um beispielsweise SSH-Verbindungen zuzulassen:
ufw allow ssh
Aktivieren Sie abschließend Ihre Firewall mit:
sudo ufw enable
3. Passwortschutz stärken
Die Implementierung einer starken Passwortrichtlinie ist ein wichtiger Aspekt, um einen Server vor Cyberangriffen und Datenschutzverletzungen zu schützen. Einige Best Practices für Kennwortrichtlinien umfassen das Erzwingen einer Mindestlänge und das Festlegen des Kennwortalters. Ich verwende das Paket libpam-cracklib, um diese Aufgaben zu erledigen.
Installieren Sie das Paket libpam-cracklib:
sudo apt-get install libpam-cracklib
So erzwingen Sie die Passwortlänge:
- Öffnen Sie
/etc/pam.d/common-password
Datei. - Ändern Sie die Mindestzeichenlänge aller Passwörter, indem Sie den
minlen=12
ändern Zeile beliebig viele Zeichen lang.
So verhindern Sie die Wiederverwendung von Passwörtern:
- In derselben Datei (
/etc/pam.d/common-password
), fügen Sie die Zeileremember=x
hinzu . - Wenn Sie beispielsweise verhindern möchten, dass ein Benutzer eines seiner letzten fünf Passwörter wiederverwendet, verwenden Sie:
remember=5
.
So erzwingen Sie das Kennwortalter:
- Suchen Sie die folgenden Zeilen in
/etc/login.defs
Datei und ersetzen Sie sie durch Ihre bevorzugte Zeitspanne (Tage). Beispiel:PASS_MIN_AGE: 3
PASS_MAX_AGE: 90
PASS_WARN_AGE: 14
So erzwingen Sie Zeichenspezifikationen:
- Die vier Parameter zum Erzwingen von Zeichenspezifikationen in Passwörtern sind
lcredit
(Kleinbuchstaben),ucredit
(Großbuchstaben),dcredit
(Ziffer) undocredit
(andere Zeichen). - In derselben Datei (
/etc/pam.d/common-password
), suchen Sie die Zeile mitpam_cracklib.so
.- Fügen Sie am Ende dieser Zeile Folgendes hinzu:
lcredit=-a ucredit=-b dcredit=-c ocredit=-d
- Zum Beispiel erfordert die folgende Zeile, dass Passwörter eins enthalten jedes Parameters. Sie können die Nummern basierend auf Ihrer bevorzugten Passwortsicherheit ändern:
lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
- Fügen Sie am Ende dieser Zeile Folgendes hinzu:
4. Deaktivieren Sie unwesentliche Dienste, die anfällig für Ausbeutung sind
Es hat sich bewährt, unnötige Dienste zu deaktivieren. Dadurch können weniger Ports für die Ausnutzung geöffnet werden.
Installieren Sie das systemd-Paket:
sudo apt-get install systemd
Sehen Sie, welche Dienste ausgeführt werden:
systemctl list-units
Erkennen Sie, welche Dienste potenzielle Schwachstellen in Ihrem System verursachen könnten. Für jeden Dienst:
- Halten Sie den Dienst an, wenn er gerade läuft:
systemctl stop <service>
- Deaktivieren Sie, dass der Dienst beim Booten startet:
systemctl disable <service>
- Überprüfen Sie nach Ausführung dieser Befehle den Status des Dienstes:
systemctl status <service>
5. Auf Listening-Ports prüfen
Offene Ports können Sicherheitsrisiken darstellen, daher ist es wichtig, nach Ports zu suchen, die auf Ihrem Server lauschen. Ich verwende den Befehl netstat, um alle Netzwerkverbindungen anzuzeigen:
netstat -tulpn
Sehen Sie sich die Adressspalten an, um die Portnummer zu ermitteln. Sobald Sie offene Ports gefunden haben, überprüfen Sie sie, um sicherzustellen, dass sie alle notwendig sind. Wenn dies nicht der Fall ist, passen Sie an, welche Dienste Sie ausführen, oder passen Sie Ihre Firewall-Einstellungen an (oder lassen Sie sie von fail2ban anpassen).
6. Auf Malware scannen
Antivirus-Scan-Software kann nützlich sein, um Viren von Ihrem System fernzuhalten. Ihre Verwendung ist eine einfache Möglichkeit, Ihren Server frei von Malware zu halten. Mein bevorzugtes Tool ist die Open-Source-Software ClamAV.
ClamAV installieren:
sudo apt-get install clamav
Virensignaturen aktualisieren:
sudo freshclam
Scannen Sie alle Dateien und drucken Sie infizierte Dateien aus, und klingeln Sie, wenn eine gefunden wird:
sudo clamscan -r --bell -i /
Sie können und sollten Scans automatisieren, damit Sie sich nicht daran erinnern oder Zeit damit verbringen müssen, sie manuell durchzuführen. Für eine einfache Automatisierung wie diese können Sie systemd-Timer oder Ihren bevorzugten Cron verwenden.
Halten Sie Ihren Server sicher
Wir können die Verantwortung für die Sicherung von Servern nicht einer einzelnen Person oder Organisation überlassen. Da sich die Bedrohungslandschaft weiterhin schnell ausdehnt, liegt es an uns allen, uns der Bedeutung der Serversicherheit bewusst zu sein und einige einfache, effektive Best Practices für die Sicherheit anzuwenden.
Dies sind nur einige der vielen Schritte, die Sie unternehmen können, um Ihren Linux-Server zu schützen. Natürlich ist Prävention nur ein Teil der Lösung. Diese Richtlinien sollten mit einer rigorosen Überwachung auf Denial-of-Service-Angriffe, einer Systemanalyse mit Lynis und der Erstellung regelmäßiger Backups kombiniert werden.
Welche Open-Source-Tools verwenden Sie, um Ihren Server zu schützen? Erzählen Sie uns davon in den Kommentaren.