Weitere Maßnahmen zur Server-Sicherheit¶

Warnhinweis
Kein System ist sicher. Dieses Kapitel beendet unsere Erkundung der Ubuntu-Server Sicherheit. Bedenkt jedoch, dass geschickte Hacker oder gut ausgestattete Organisationen sowohl grundlegende als auch fortgeschrittenere Schutzmaßnahmen überwinden können.
Privilegierter Zugang¶
Nur eine bestimmte Benutzergruppe sollte privilegierten Zugang erhalten, wie im Folgenden beschrieben.
Schritt-für-Schritt-Anleitung
Erstellt eine Gruppe namens sudousers und fügt die Benutzer gofossroot und gofossadmin hinzu (passt die Benutzernamen entsprechend an):
sudo groupadd sudousers
sudo usermod -a -G sudousers gofossroot
sudo usermod -a -G sudousers gofossadmin
Legt eine Sicherungskopie der sudoers-Konfigurationsdatei an. Sollte etwas schief gehen, könnt Ihr die ursprünglichen Einstellungen wiederherstellen:
sudo cp --archive /etc/sudoers /etc/sudoers-COPY-$(date +"%Y%m%d%H%M%S")
Öffnet die Konfigurationsdatei:
sudo vi /etc/sudoers
Fügt die folgende Zeile ein, falls nicht bereits vorhanden:
%sudousers ALL=(ALL:ALL) ALL
Kommentiert folgende Zeilen mit einem Hashtag aus, um die Berechtigungen für die vorhandenen Gruppen admin und sudo zu entfernen:
# Members of the admin group may gain root privileges
# %admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
# %sudo ALL=(ALL:ALL) ALL
Speichert und schließt die Datei (:wq!). Beschränkt schließlich mit dem folgenden Befehl den Zugang zu privilegierten Rechten auf die sudousers-Gruppe:
sudo dpkg-statoverride --update --add root sudousers 4750 /bin/su
Überprüft die Berechtigungen mit dem folgenden Befehl:
ls -lh /bin/su
Das Terminal sollte etwa Folgendes anzeigen:
-rwsr-x--- 1 root sudousers 55K Oct 21 2025 /bin/su
Eingeschränkter Datenzugriff¶
Das /proc-Verzeichnis enthält prozessbezogene Daten und kann sensible Informationen preisgeben. Standardmäßig haben alle BenutzerInnen Zugriff. Befolgt diese Schritte, um diesen einzuschränken und vertrauliche Daten vor Unbefugten zu schützen.
Schritt-für-Schritt-Anleitung
Legt eine Sicherungskopie der fstab-Konfigurationsdatei an. Sollte etwas schief gehen, könnt Ihr die ursprünglichen Einstellungen wiederherstellen:
sudo cp --preserve /etc/fstab /etc/fstab-COPY-$(date +"%Y%m%d%H%M%S")
Öffnet die Konfigurationsdatei:
sudo vi /etc/fstab
Fügt folgende Zeile am Ende der Datei ein, um Prozessinformationen auszublenden:
proc /proc proc defaults,hidepid=2 0 0
Speichert und schließt die Datei (:wq!). Aktualisiert Systemd und hängt das /proc-Verzeichnis erneut ein:
sudo systemctl daemon-reload
sudo mount -o remount,hidepid=2 /proc
Passwortsicherheit¶
Standardmäßig können BenutzerInnen ein beliebiges Passwort wählen. Ihr solltet daher strengere Passwortregeln festlegen. Wählt eine maximale Gültigkeitsdauer und ein Mindestintervall für Passwortänderungen fest. Bestimmt außerdem eine Mindestlänge sowie die erforderliche Anzahl an Großbuchstaben, Kleinbuchstaben und Ziffern.
Schritt-für-Schritt-Anleitung
Kontoparameter konfigurieren¶
Legt eine Sicherungskopie der login.defs-Konfigurationsdatei an. Sollte etwas schief gehen, könnt Ihr die ursprünglichen Einstellungen wiederherstellen:
sudo cp --preserve /etc/login.defs /etc/login.defs-COPY-$(date +"%Y%m%d%H%M%S")
Öffnet die Konfigurationsdatei:
sudo vi /etc/login.defs
Ändert bzw. ergänzt die folgenden Parameter:
PASS_MAX_DAYS 365
PASS_MIN_DAYS 1
PASS_WARN_AGE 30
SHA_CRYPT_MIN_ROUNDS 1000000
SHA_CRYPT_MAX_ROUNDS 1000000
Speichert und schließt die Datei (:wq!).
Dieselben Einstellungen sollten auch auf die Administratoren gofossroot und gofossadmin angewendet werden, die vor der Verschärfung der Passwortregeln erstellt wurden (passt die Benutzernamen entsprechend an):
sudo chage -m 1 -M 365 -W 30 gofossroot
sudo chage -m 1 -M 365 -W 30 gofossadmin
Vergewissert Euch, dass alle Änderungen korrekt übernommen wurden:
sudo chage -l gofossroot
sudo chage -l gofossadmin
Ein paar Zusatzinformationen zu diesen Einstellungen:
| Einstellungen | Beschreibung |
|---|---|
PASS_MAX_DAYS | Maximale Anzahl von Tagen, die ein Passwort verwendet werden darf. |
PASS_MIN_DAYS | Mindestanzahl von Tagen zwischen Passwortänderungen. |
PASS_WARN_AGE | Anzahl der Tage vor Ablauf eines Passworts, in denen eine Warnung ausgegeben wird. |
SHA_CRYPT_MIN_ROUNDS & SHA_CRYPT_MAX_ROUNDS | Standardmäßig speichert Linux das Administratorkennwort mit einem einzelnen, gesicherten SHA-512-Hash. Nutzt mehrere Hash-Runden, um das Kennwort besser zu schützen. |
PAM konfigurieren¶
Linux Pluggable Authentication Modules (PAM) ist ein umfangreiches Benutzerauthentifizierung-Verwaltungssystem. Das folgende PAM-Modul ermöglicht die Überprüfung der Passwortstärke:
sudo apt install libpam-pwquality
Legt eine Sicherungskopie der pam.d-Konfigurationsdatei an. Sollte etwas schief gehen, könnt Ihr die ursprünglichen Einstellungen wiederherstellen:
sudo cp --archive /etc/pam.d/common-password /etc/pam.d/common-password-COPY-$(date +"%Y%m%d%H%M%S")
Öffnet die Konfigurationsdatei:
sudo vi /etc/pam.d/common-password
Ändert bzw. ergänzt die folgenden Parameter:
password requisite pam_pwquality.so retry=3 minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 difok=3 gecoschec
Fügt in folgender Zeile die Optionen shadow sowie eine erhöhte Anzahl von rounds hinzu:
password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha512 shadow rounds=1000000
Speichert und schließt die Datei (:wq!).
Ein paar Zusatzinformationen zu diesen Einstellungen:
| Einstellung | Beschreibung |
|---|---|
retry = 3 | BenutzerInnen werden 3 Mal gefragt, bevor eine Fehlermeldung angezeigt wird. |
minlen = 10 | Mindestlänge des Passworts. |
ucredit = -1 | Das Passwort muss mindestens einen Großbuchstaben enthalten. |
lcredit = -1 | Das Passwort muss mindestens einen Kleinbuchstaben enthalten. |
dcredit = -1 | Das Passwort muss mindestens eine Ziffer enthalten. |
difok = 3 | Mindestens 3 Zeichen des neuen Passworts dürfen nicht im alten Passwort verwendet worden sein. |
gecoschec | Passwörter, die das Benutzerkonto beinhalten, sind nicht zulässig. |
shadow rounds=1000000 | Standardmäßig speichert das pam_unix-Modul das Administratorkennwort mit einem einzelnen, gesicherten SHA-512-Hash. Nutzt mehrere Hash-Runden, um das Kennwort besser zu schützen. |
Netzwerksicherheit¶
Sysctl ist ein Systemverwaltungsbefehl. Er ermöglicht es Euch, den Kernel anzupassen und die Netzwerksicherheit zu verbessern.
Schritt-für-Schritt-Anleitung
Legt eine Sicherungskopie der sysctl-Konfigurationsdatei an. Sollte etwas schief gehen, könnt Ihr die ursprünglichen Einstellungen wiederherstellen:
sudo cp --archive /etc/sysctl.conf /etc/sysctl.conf-COPY-$(date +"%Y%m%d%H%M%S")
Öffnet die Konfigurationsdatei:
sudo vi /etc/sysctl.conf
Löscht deren Inhalt durch Eingabe der Zeichenfolge :%d. Gebt anschließend die folgenden Zeilen ein bzw. kopiert/fügt diese in die Konfigurationsdatei ein:
# IP Spoofing protection
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Ignore ICMP broadcast requests
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Disable source packet routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0
# Block SYN attacks
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
# Log Martians
net.ipv4.conf.all.log_martians = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
# Ignore ICMP redirects
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
# Ignore Directed pings
net.ipv4.icmp_echo_ignore_all = 1
Speichert und schließt die Datei (:wq!). Ladet schließlich die neuen Einstellungen:
sudo sysctl -p
Ein paar Zusatzinformationen zu diesen Sicherheitseinstellungen:
| Einstellung | Beschreibung |
|---|---|
Enable IP spoofing protection | Schützt Euch vor IP-Spoofing, bei dem Angreifer ihre IP-Adresse verschleiern, typischerweise bei Denial of Service (DoS) Angriffen. |
Ignore ICMP broadcast requests | Vermeidet, dass Euer Server an Smurf-Angriffen teilnimmt. |
Ignore ICMP redirects | Schützt Euch vor gefälschten ICMP-Umleitungspaketen, die von Angreifern verwendet werden, um einen Denial of Service (DoS) Angriff auszuführen. |
Disable source packet routing | Schützt Euch vor quell-geleiteten Paketen, die von Angreifern zur Verschleierung ihrer Identität und ihres Standorts verwendet werden |
Block SYN attacks | Schützt Euch vor SYN-Angriffen, einer Form von Denial of Service (DoS) Angriffen. |
Log martians | Schützt Euch vor sogenannten Mars-Paketen. Dies sind gefälschte Pakete mit einer offensichtlich falschen Quelladresse. Sie können bei Denial of Service (DoS) Angriffen zum Einsatz kommen. |
Ignore directed pings | Der Ping-Befehl kann verwendet werden, um den Verbindungsstatus mit Eurem Server zu überprüfen. Er kann aber auch zur Durchführung von Angriffen missbraucht werden. |
Antivirus & Malware-Scanner¶
Quelloffene Antivirus- und Malware-Scanner wie Linux Malware Detect (LMD) und ClamAV bieten zuverlässigen Schutz. Um Euren Server effektiv abzusichern, müsst Ihr diese Lösungen korrekt installieren und konfigurieren.
Schritt-für-Schritt-Anleitung
Schadprogramm-Scanner (LMD)¶
LMD kann mit den folgenden Befehlen installiert werden:
sudo apt install wget
sudo wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
sudo tar -xvf maldetect-current.tar.gz
cd maldetect-X.X.X
sudo ./install.sh
Legt eine Sicherungskopie der maldet-Konfigurationsdatei an. Sollte etwas schief gehen, könnt Ihr die ursprünglichen Einstellungen wiederherstellen:
sudo cp --archive /usr/local/maldetect/conf.maldet /usr/local/maldetect/conf.maldet-COPY-$(date +"%Y%m%d%H%M%S")
Öffnet die Konfigurationsdatei:
sudo vi /usr/local/maldetect/conf.maldet
Ändert bzw. ergänzt die folgenden Parameter (passt den Administrator-Namen gofossadmin entsprechend an):
#Sendet Ergebnisse der Schadprogramm-Prüfung an den lokalen Systemadministrator gofossadmin (entsprechend anpassen) in /var/mail/gofossadmin
email_alert="1"
email_addr="gofossadmin@localhost"
#In Quarantäne verschieben und Alarm schlagen, wenn Schadprogramme entdeckt werden
quarantine_hits="1"
#Saubere, auf Zeichenketten basierende Schadprogramm-Injektionen werden nicht automatisch gelöscht (vermeidet das Löschen von Dateien im Falle von Fehlalarmen)
quarantine_clean="0"
#Ermöglicht die Sperrung von Nutzern, die von Schadprogrammen betroffen sind
quarantine_suspend_user="1"
#Nutzt ClamAVs Suchmaschine für schnellere Ergebnisse
scan_clamscan="1"
#Root-Dateien durchsuchen
scan_ignore_root="0"
Speichert und schließt die Datei (:wq!). Bringt LMD auf den neuesten Stand und ladet die aktuellsten Schadprogramm-Definitionen herunter:
sudo maldet --update-ver
sudo maldet --update
Antivirus (ClamAV)¶
ClamAV kann mit den folgenden Befehlen installiert werden:
sudo apt install clamav
sudo apt install bsdmainutils
Vergewissert Euch, ob das Programm erfolgreich installiert wurde:
clamscan --version
Aktualisiert die Virensignaturdatenbank:
sudo systemctl stop clamav-freshclam
sudo freshclam
sudo systemctl start clamav-freshclam
Ermöglicht ClamAV nach jedem Neustart automatisch zu laden:
sudo systemctl enable clamav-freshclam
LMD und ClamAV testen¶
Lasst uns den Schadprogramm-Scanner und das Antivirus-Programm testen. Dazu verwenden wir Schadprogramm-Attrappen, die von der Europäischen Expertengruppe für IT-Sicherheit (EICAR) zur Verfügung gestellt werden. Ladet die Dateien wie folgt herunter:
cd /var/www/html
sudo wget https://secure.eicar.org/eicar.com
sudo wget https://secure.eicar.org/eicar.com.txt
sudo wget https://secure.eicar.org/eicar_com.zip
sudo wget https://secure.eicar.org/eicarcom2.zip
Verwendet ClamAV, um das Verzeichnis /var/www/html und alle Unterverzeichnisse rekursiv nach Viren zu durchsuchen:
sudo clamscan --recursive --infected /var/www/html
Die Terminal-Ausgabe sollte in etwa folgendermaßen aussehen:
/var/www/html/eicar_com.zip: Win.Test.EICAR_HDB-1 FOUND
/var/www/html/eicar.com: Win.Test.EICAR_HDB-1 FOUND
/var/www/html/eicarcom2.zip: Win.Test.EICAR_HDB-1 FOUND
/var/www/html/eicar.com.txt: Win.Test.EICAR_HDB-1 FOUND
----------- SCAN SUMMARY -----------
Known viruses: 6880642
Engine version: 0.102.2
Scanned directories: 1
Scanned files: 5
Infected files: 4
Data scanned: 0.01 MB
Data read: 0.01 MB (ratio 1.00:1)
Time: 54.632 sec (0 m 54 s)
Untersucht anschließend das gleiche Verzeichnis mit LMD auf Schadprogramme:
sudo maldet --scan-all /var/www/html
Die Ausgabe sollte eine Scan-ID enthalten, z.B. 240510-1954.2127. Der detaillierte Bericht kann mit dem folgenden Befehl eingesehen werden (passt die Scan-ID entsprechend an):
sudo maldet --report 240510-1954.2127
Eine Liste aller Scanberichte kann mit folgendem Befehl aufgerufen werden:
sudo maldet -e list
Entfernt schließlich alle unter Quarantäne gestellten Dateien:
sudo maldet -p
sudo ls /usr/local/maldetect/quarantine/
LMD-Scans planen¶
Der Schadprogramm-Scanner LMD ist so konfiguriert, dass er täglich einen Cron-Job ausführt (/etc/cron.daily/maldet). Dieser Cron-Job aktualisiert die Schadprogramm-Datenbank und untersucht alle Heim-Verzeichnisse. Dies sollte für die meisten Anwendungsfälle ausreichend sein. Deaktiviert die Echtzeitüberwachung, um die Serverlast gering zu halten und zu vermeiden, dass alle 10 Minuten Scans laufen.
sudo rm /etc/cron.d/maldet_pub
sudo maldet -k
ClamAV-Scans planen¶
Die Virensignaturdatenbank wird durch den freshclam-Dienst aktualisiert. Standardmäßig geschieht dies stündlich, Ihr könnt die Häufigkeit in der Datei /etc/clamav/freshclam.conf ändern und den Dienst mit sudo service clamav-freshclam restart neu starten.
Damit Antiviren-Scans geplant werden können, muss erst einmal eine leere Protokolldatei angelegt:
sudo touch /var/log/clamav/clamscan.log
Erstellt nun einen Cron-Job, um jeden Tag nach Viren zu suchen:
sudo vi /etc/cron.daily/clamav
Fügt die folgenden Zeilen in die Datei ein:
#!/bin/sh
MYLOG=/var/log/clamav/clamscan.log
echo "Scanning for viruses at `date`" >> $MYLOG
clamscan --recursive --infected --max-filesize=100M --max-scansize=100M --exclude-dir=/boot --exclude-dir=/proc --exclude-dir=/sys --exclude-dir=/dev / >> $MYLOG 2>&1
Speichert und schließt die Datei (:wq!). Macht schließlich das Skript ausführbar:
sudo chmod +x /etc/cron.daily/clamav
Folgende Optionen zur Ausführung von clamscan-Skript können an Eure eigenen Bedürfnisse angepasst werden:
| Einstellungen | Beschreibung |
|---|---|
--recursive | Verzeichnisse und Unterverzeichnisse werden rekursiv auf Viren geprüft. |
--infected | Nur infizierte Dateien werden in den Scanbericht aufgenommen, nicht alle gescannten Dateien. |
--max-filesize=100M, --max-scansize=100M | Dateien von bis zu 100 MB werden gescannt. Standardmäßig scannt ClamAV keine Dateien, die größer als 20 MB sind. |
--exclude-dir=/boot,/proc,/sys,/dev | Im obigen Beispiel haben wir die Verzeichnisse /boot,/proc,/sys,/dev von der Überprüfung ausgeschlossen. Dies kann an Eure eigenen Bedürfnisse angepasst werden. |
/ | Dies ist das Verzeichnis, das ClamAV nach Viren durchsuchen soll. Im obigen Beispiel haben wir das gesamte Stammverzeichnis / gescannt. Das Zielverzeichnis könnt Ihr natürlich nach Euren eigenen Bedürfnissen anpassen. |
Testet den Cron-Job. Habt ein wenig Geduld, je nach Größe der Zielverzeichnisse kann der Scan eine Weile dauern:
sudo bash /etc/cron.daily/clamav
sudo cat /var/log/clamav/clamscan.log
Die Terminalausgabe sollte in etwa so aussehen:
----------- SCAN SUMMARY -----------
Infected files: 0
Time: 54.052 sec (0 m 54 s)
Start Date: 2024:05:22 21:05:29
End Date: 2024:05:22 21:06:23
Zugriffsberechtigungen¶
Hier erfahrt Ihr, wie man unbefugten Zugriff auf Systemdateien wirksam einschränkt.
Schritt-für-Schritt-Anleitung
sudo chmod 600 /etc/crontab
sudo chmod 600 /etc/ssh/sshd_config
sudo chmod 700 /etc/cron.d
sudo chmod 700 /etc/cron.daily
sudo chmod 700 /etc/cron.hourly
sudo chmod 700 /etc/cron.weekly
sudo chmod 700 /etc/cron.monthly
sudo chmod 750 /home/gofossroot
sudo chmod 750 /home/gofossadmin
Mehr zu Linux-Berechtigungen
umask schränkt den Benutzerzugriff auf neu erstellte Dateien oder Verzeichnisse ein. Es gibt drei Benutzerklassen:
| Benutzerklassen | Beschreibung |
|---|---|
| User | EigentümerIn der Datei oder des Verzeichnisses. |
| Group | BenutzerInnen, die zu der Gruppe der Datei oder des Verzeichnisses gehören. |
| Others | BenutzerInnen, die weder Eigentümer noch Mitglied der Gruppe der Datei oder des Verzeichnisses sind. |
Zudem gibt es drei Zugangsbeschränkungen:
| Zugangsbeschränkung | Beschreibung | Dezimalwert |
|---|---|---|
| Read ( r ) | Datei oder Verzeichnis lesen bzw. anzeigen. | 4 |
| Write ( w ) | Datei oder Verzeichnis bearbeiten bzw. ändern. | 2 |
| Execute ( x ) | Datei oder Verzeichnis ausführen. | 1 |
umask schränkt den Zugriff auf neu erstellte Dateien oder Verzeichnisse ein, indem die drei Dezimalwerte addiert werden:
| umask | Wert | Zugangsbeschränkung |
|---|---|---|
| --- | 0 = 0 + 0 + 0 | Lesen, schreiben und ausführen erlaubt. |
| --x | 1 = 0 + 0 + 1 | Lesen und schreiben erlaubt, ausführen nicht. |
| -w- | 2 = 0 + 2 + 0 | Lesen und ausführen erlaubt, schreiben nicht. |
| -wx | 3 = 0 + 2 + 1 | Lesen erlaubt, schreiben und ausführen nicht. |
| r-- | 4 = 4 + 0 + 0 | Schreiben und ausführen erlaubt, lesen nicht. |
| r-x | 5 = 4 + 0 + 1 | Schreiben erlaubt, lesen und ausführen nicht. |
| rw- | 6 = 4 + 2 + 0 | Ausführen erlaubt, lesen und schreiben nicht. |
| rwx | 7 = 4 + 2 + 1 | Weder lesen, schreiben noch ausführen sind erlaubt. |
umask besteht aus drei Werten, einen für jede Benutzerklasse. Wenn Ihr also zum Beispiel umask von 022 auf 027 ändert, wird verhindert, dass "andere (others)" Dateien und Verzeichnisse lesen, schreiben oder ausführen können:
| Umask | Beschränkungen für BenutzerInnen | Beschränkungen für Gruppen | Beschränkungen für Andere | Resultierende Berechtigungen |
|---|---|---|---|---|
022 | --- | -w- | -w- | • Der Eigentümer der Datei oder des Verzeichnisses kann lesen, schreiben und ausführen. • Gruppenmitglieder der Datei oder des Verzeichnisses können lesen und ausführen, aber nicht schreiben. • BenutzerInnen, die weder Eigentümer noch Mitglied der Gruppe der Datei oder des Verzeichnisses sind, können lesen und ausführen, aber nicht schreiben. • Mit anderen Worten: Der Eigentümer der Datei oder des Verzeichnisses hat Vollzugriff, Gruppenmitglieder und Andere können nur lesen und ausführen. |
027 | --- | -w- | rwx | • Der Eigentümer der Datei oder des Verzeichnisses kann lesen, schreiben und ausführen. • Gruppenmitglieder der Datei oder des Verzeichnisses können lesen und ausführen, aber nicht schreiben. • BenutzerInnen, die weder Eigentümer noch Mitglied der Gruppe der Datei oder des Verzeichnisses sind, können weder lesen, schreiben noch ausführen. • Mit anderen Worten: Der Eigentümer der Datei oder des Verzeichnisses hat Vollzugriff, Gruppenmitglieder können nur lesen und ausführen, und andere haben keinen Zugriff. |
In mehreren Kapiteln wird der chmod-Befehl verwendet, um Zugriffsrechte für Dateien oder Verzeichnisse festzulegen. Im Gegensatz zu umask, das die Standard-Einschränkungen für neu erstellte Dateien oder Verzeichnisse festlegt, definiert der chmod-Befehl Berechtigungen für vorhandene Dateien oder Verzeichnisse. Daher sind die Werte zwischen umask und chmod in gewisser Hinsicht symmetrisch.
Kerndumps¶
Ein Kerndump (‘core dump’) ist eine Datei, die den Speicherzustand eines Programms bei einem Absturz erfasst. Das hilft beim Debuggen, kann aber sensible Daten preisgeben. Deaktiviert Kerndumps, falls Ihr keine Fehlersuche durchführt. Untenstehend findet Ihr eine ausführliche Anleitung.
Schritt-für-Schritt-Anleitung
Legt Sicherungskopien der Konfigurationsdateien an:
sudo cp --archive /etc/security/limits.conf /etc/security/limits.conf-COPY-$(date +"%Y%m%d%H%M%S")
sudo cp --archive /etc/sysctl.conf /etc/sysctl.conf-COPY-$(date +"%Y%m%d%H%M%S")
Öffnet die erste Konfigurationsdatei:
sudo vi /etc/security/limits.conf
Fügt folgende Zeilen am Ende der Datei ein:
* soft core 0
* hard core 0
Speichert und schließt die Datei (:wq!).
Öffnet die zweite Konfigurationsdatei:
sudo vi /etc/sysctl.conf
Fügt folgende Zeilen am Ende der Datei ein:
# Disable coredumps
fs.suid_dumpable=0
Speichert und schließt die Datei (:wq!). Übernehmt schließlich alle Änderungen:
sudo sysctl -p
Kernel Module¶
Der Linux-Kernel bildet das Rückgrat des Betriebssystems. Er verwaltet Hardware, Speicher und Prozesse. Kernel-Module erweitern seine Funktionen, zum Beispiel um neue Hardware zu nutzen. Schadakteure können Module jedoch ausnutzen, um unerlaubt auf Server zuzugreifen oder Schadsoftware zu laden. Verhindert mögliche Risiken, indem Ihr unnötige Kernel-Module unterbindet.
Schritt-für-Schritt-Anleitung
Legt eine Sicherungskopie der Konfigurationsdatei an:
sudo cp --archive /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf-COPY-$(date +"%Y%m%d%H%M%S")
Öffnet die Konfigurationsdatei:
sudo vi /etc/modprobe.d/blacklist.conf
Fügt folgende Zeilen am Ende der Datei ein::
# Instruct modprobe to force inactive modules to always fail loading
install cramfs /bin/false
install freevxfs /bin/false
install hfs /bin/false
install hfsplus /bin/false
install jffs2 /bin/false
install udf /bin/false
Speichert und schließt die Datei (:wq!).