Hervorragende Software und praktische Tutorials
So konfigurieren Sie den Ubuntu-Server, eine Anleitung für Anfänger zur sicheren Konfiguration
Für unerfahrene Ubuntu-Server-Nutzer kann eine einfache Sicherheitskonfiguration das System vor gängigen Netzwerkbedrohungen schützen. Dazu gehören die Änderung des Standard-SSH-Ports, die Beschränkung der Login-Benutzer, das Festlegen von Firewall-Regeln, die regelmäßige Aktualisierung von System-Patches und die Aktivierung von Schutztools wie Fail2Ban. Diese grundlegenden Schritte reduzieren nicht nur das Risiko von Brute-Force-Angriffen und unbefugtem Zugriff, sondern schaffen auch eine solide Sicherheitsgrundlage für den Server.
Netzwerksicherheit ist sehr wichtig, insbesondere wenn Anfänger das Betriebssystem installieren, ohne Sicherheitseinstellungen vorzunehmen, was gleichbedeutend damit ist, Hackern Tür und Tor zu öffnen.
Die Standardeinstellungen des Ubuntu-Betriebssystems allein reichen nicht aus, um die Serversicherheit zu gewährleisten. Dieser Artikel zeigt Ihnen, wie Sie die Sicherheit unter Ubuntu 22.04 konfigurieren, um die Serversicherheit zu verbessern.
Wechseln Sie zum Root-Benutzer
Geben Sie im SSH-Terminal den folgenden Befehl ein, um zum Root-Benutzer zu wechseln:
sudo -i
Nachdem Sie das Benutzerkennwort eingegeben haben, melden Sie sich beim Root-Konto an und geben Sie den folgenden Befehl ein, um das Root-Kennwort festzulegen.
sudo passwd root
Aktualisieren Sie das System
Der erste Schritt nach der Installation des Systems besteht darin, das System zu aktualisieren, damit die Software im System auf dem neuesten Stand ist.
sudo apt update und sudo apt upgrade -y
Aktivieren Sie automatische Updates, um sicherzustellen, dass Ihr System auf dem neuesten Stand bleibt:
sudo apt installiere unbeaufsichtigte Upgrades
sudo dpkg-reconfigure --priority=low unbeaufsichtigte Upgrades
Installieren Sie die neuesten Sicherheitspatches
sudo apt autoremove -y
Regelmäßige Updates und Patch-Management: Aktualisieren Sie das Ubuntu-System und alle installierten Pakete regelmäßig, um zeitnahe Sicherheitspatches sicherzustellen.
Diese Meldungen erscheinen normalerweise in Systemaktualisierungs- oder Sicherheitsüberprüfungsberichten und weisen darauf hin, dass das System in gutem Zustand ist. Die spezifische Bedeutung ist wie folgt:
- Es müssen keine Container neu gestartet werden: Derzeit gibt es keine Container, die neu gestartet werden müssen. Dies zeigt an, dass auf allen Containern der neueste Code oder die neueste Konfiguration ausgeführt wird.
- In keiner Benutzersitzung werden veraltete Binärdateien ausgeführt: In keiner Benutzersitzung werden veraltete Binärdateien ausgeführt. Dadurch wird sichergestellt, dass Benutzer die neuesten Programme verwenden und Sicherheitslücken vermieden werden.
- Auf diesem Host führen keine VM-Gäste veraltete Hypervisor-Binärdateien (QEMU) aus: Keine VM-Gäste verwenden veraltete QEMU-Binärdateien (Hypervisor), wodurch die Sicherheit der Virtualisierungsumgebung gewährleistet wird.
Insgesamt zeigt dies an, dass die Container, Benutzersitzungen und virtuellen Maschinen im System aktualisiert wurden und kein Neustart oder weitere Aktionen erforderlich sind. Dies ist eine „normale“ Eingabeaufforderung.
Installieren Sie das chinesische Sprachpaket
Das chinesische Sprachpaket kann über die grafische Benutzeroberfläche oder die Befehlszeile installiert werden.
Über die Befehlszeile:
Aktualisieren Sie die Paketliste und installieren Sie das Sprachpaket:
sudo apt update
sudo apt installiere Sprachpaket-zh-hans -y
Nachdem die Installation abgeschlossen ist, legen Sie die Gebietsschemaeinstellung des Systems fest:
sudo update-locale LANG=zh_CN.UTF-8
Starten Sie Ihr System neu oder melden Sie sich ab, um die neue Spracheinstellung anzuwenden.
Zeitzone anpassen
Die Zeitzone kann über die Befehlszeile oder die grafische Oberfläche geändert werden.
Stellen Sie die Zeitzone ein, um beispielsweise die Zeitzone auf die China Standard Time (Asien/Shanghai) einzustellen:
sudo timedatectl set-timezone Asien/Shanghai
Einrichten einer Auslagerungsdatei (optional)
Wenn der Systemspeicher klein ist, kann das Erstellen einer Auslagerungsdatei die Systemleistung verbessern:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Installieren Sie das Basis-Toolkit
Installieren Sie einige häufig verwendete Toolkits und Entwicklungstools.
sudo apt install -y build-essential curl wget git vim unzip htop nload
Installieren Sie Netzwerktools sowie einige Tools zur Netzwerkfehlerbehebung und -verwaltung.
sudo apt install -y net-tools dnsutils traceroute telnet nload
Installieren Sie Python und seine Tools. Python ist eine häufig verwendete Skriptsprache und viele Anwendungen basieren darauf.
sudo apt install -y python3 python3-pip python3-venv
Installieren Sie Node.js und npm. Node.js ist eine serverseitige JavaScript-Laufzeitumgebung und npm ist deren Paketmanager.
sudo apt install -y nodejs npm
Installieren Sie Snap und installieren Sie weitere Anwendungen. Snap ist der Paketmanager von Ubuntu, mit dem Sie viele Anwendungen installieren können:
sudo apt install -y snapd
Installieren Sie entwicklungsbezogene Tools. Installieren Sie für Java OpenJDK (z. B. OpenJDK 11 oder 17):
sudo apt install -y openjdk-17-jdk
Installieren Sie für die C/C++-Entwicklung zusätzlich zu Build-Essential einige allgemeine Bibliotheken und Tools:
sudo apt install -y cmake gdb
Installieren Sie Bildverarbeitungstools und einige gängige Bildverarbeitungs- und Konvertierungstools.
sudo apt install -y imagemagick ffmpeg
Installieren Sie Textverarbeitungstools, installieren Sie einige häufig verwendete Textverarbeitungstools.
sudo apt install -y jq silversearcher-ag tree
Mit dem folgenden Befehl können Sie nicht mehr benötigte Installationspakete und Abhängigkeiten bereinigen:
sudo apt autoremove -y
sudo apt autoclean
Wählen Sie die Installation entsprechend Ihren Anforderungen. Nach Abschluss dieser Schritte verfügt das System über die erforderlichen Tools für allgemeine Entwicklungs-, Betriebs- und Wartungsumgebungen.
Mehrere IP-Adressen hinzufügen
Anzeigen der IP-Konfigurationsdatei
ls /etc/netplan/
Bearbeiten der IP-Konfigurationsdatei
vi /etc/netplan/50-cloud-init.yaml
Anwenden des neuen Profils
sudo netplan anwenden
Anzeigen der Portbindungs-IP
IP eine Show eno1
Überprüfen Sie die Festplatte und mounten Sie die neue Festplatte in /home
Überprüfen Sie den aktuellen Festplattenstatus
sudo fdisk -l
Verwenden Sie parted, um die neue Festplatte zu partitionieren:
sudo getrennt /dev/sdb
sdb ist die zweite Festplatte auf dem Server. Im Allgemeinen wird die erste Festplatte sda als Systemfestplatte und sdb als Datenfestplatte verwendet.
SSH-Sicherheitskonfiguration
Um die Sicherheit des SSH-Zugriffs auf Linux-Server zu erhöhen, können Sie die Datei /etc/ssh/sshd_config konfigurieren, um die Anzahl der Anmeldeversuche und das Intervall zu begrenzen und die zugelassenen oder abgelehnten Benutzer zu steuern. Hier sind die genauen Schritte:
Legen Sie die Anzahl der Anmeldeversuche und die Zeit zwischen fehlgeschlagenen Anmeldeversuchen fest
Bearbeiten Sie die Datei /etc/ssh/sshd_config:
sudo vi /etc/ssh/sshd_config
Konfigurieren von MaxAuthTries
MaxAuthTries: Mit diesem Parameter wird die maximale Anzahl an Authentifizierungsversuchen eingestellt, nach deren Ablauf die Verbindung getrennt wird.
Der Standardwert ist normalerweise 6 und Sie können ihn zur Erhöhung der Sicherheit auf 3 oder weniger festlegen.
MaxAuthTries 3
Einschränken des Benutzerzugriffs mit den Anweisungen DenyUsers und AllowUsers
Konfigurieren der DenyUsers-Direktive
DenyUsers: Wird verwendet, um eine Liste von Benutzern anzugeben, denen die Anmeldung über SSH untersagt ist.
Format: DenyUsers Benutzername1 Benutzername2
Um beispielsweise den Benutzern „Testbenutzer“ und „Gast“ die Anmeldung über SSH zu verbieten:
DenyUsers Testbenutzer Gast
Konfigurieren der AllowUsers-Direktive
AllowUsers: Wird verwendet, um eine Liste von Benutzern anzugeben, denen die Anmeldung über SSH gestattet ist (nur diese Benutzer dürfen sich anmelden).
Format: AllowUsers Benutzername1 Benutzername2
Um beispielsweise nur dem Administrator die Anmeldung über SSH zu gestatten:
AllowUsers Administrator
Hinweis: AllowUsers und DenyUsers können nicht synonym verwendet werden. Bei Verwendung von AllowUsers dürfen sich nur Benutzer in der Liste anmelden. Andere Benutzer können sich nicht anmelden, auch wenn sie nicht in DenyUsers aufgeführt sind.
Speichern und schließen Sie die Datei, wenn Sie fertig sind, und starten Sie dann den SSH-Dienst neu:
sudo systemctl starte sshd neu
Verwenden Sie Tools wie Fail2Ban
Installieren Sie Fail2Ban
Verbessern Sie Ihre Sicherheit weiter, indem Sie Anmeldeprotokolle überwachen und IP-Adressen, bei denen mehrere Versuche fehlgeschlagen sind, automatisch sperren. Verwenden Sie Fail2Ban, um IPs automatisch zu sperren.
Fail2Ban ist ein sehr effektives Tool, das fehlgeschlagene SSH-Anmeldeversuche überwacht und IP-Adressen, die wiederholt fehlgeschlagen sind, automatisch sperrt. Die Installation und Konfiguration von Fail2Ban kann einen ähnlichen Verzögerungseffekt erzielen:
sudo apt installiere fail2ban
Fail2Ban konfigurieren
Bearbeiten Sie die Datei /etc/fail2ban/jail.local
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Hinweis: Wenn jail.local nicht vorhanden ist, können Sie den Inhalt von jail.conf kopieren, um jail.local zu erstellen:
sudo vi /etc/fail2ban/jail.local
Um die SSH-Überwachung einzurichten, fügen Sie Ihren SSHD-Optionen Folgendes hinzu:
[sshd] aktiviert = true Port = ssh maxretry = 3 Bantime = 6000 Findtime = 60
maxretry: FestlegenZeit finden Die maximal zulässige Anzahl von Fehlern innerhalb von (Sekunden).
Bantime: Legen Sie die Sperrzeit (in Sekunden) fest, die bei Bedarf erhöht werden kann.
Starten Sie Fail2Ban
Starten Sie den Fail2Ban-Dienst nach dem Speichern der Konfigurationsdatei neu:
sudo systemctl restart fail2ban
Überprüfen Sie, ob die Konfiguration wirksam ist
sudo fail2ban-client status
Wenn Folgendes angezeigt wird, bedeutet dies, dass die Konfiguration erfolgreich war.
Status |- Jail-Nummer: 1 `- Jail-Liste: sshd
Nachdem Sie /etc/ssh/sshd_config konfiguriert haben, können Sie durch Festlegen der Parameter MaxAuthTries, DenyUsers und AllowUsers sowie Installieren von Fail2Ban die Anzahl der SSH-Anmeldeversuche und zugelassenen Benutzer wirksam begrenzen und so das Risiko eines Brute-Force-Crackings verringern.
Fail2Ban-KonfigurationNach Abschluss ist Ihr Server effektiv vor Brute-Force-Angriffen geschützt. Sie können außerdem weitere Jails oder benutzerdefinierte Regeln entsprechend Ihren Anforderungen aktivieren.
SSH-Anmeldung ohne Verwendung des Root-Benutzers
Aus Sicherheitsgründen wird empfohlen, sich nicht direkt als Root-Benutzer am Server anzumelden, sondern einen normalen Benutzer mit Sudo-Berechtigungen für Administratoraufgaben zu erstellen. Der Einrichtungs- und Konfigurationsprozess ist wie folgt:
Erstellen eines neuen Benutzers
Erstellen Sie einen neuen Benutzer und erteilen Sie ihm mit den folgenden Befehlen Sudo-Berechtigungen:
sudo adduser neuer Benutzername
sudo usermod -aG sudo neuer Benutzername
Stellen Sie nach der Ausführung des Befehls sicher,Neuer BenutzernameWurde der Sudo-Gruppe hinzugefügt:
Gruppen Neuer Benutzername
Wenn die vom Befehl zurückgegebene Gruppenliste sudo enthält, bedeutet dies, dass das Hinzufügen erfolgreich war.
Erneut anmelden: Die Gruppeninformationen eines Benutzers werden zu Beginn einer Sitzung geladen. Sie müssen sich daher ab- und wieder anmelden, um die Änderungen zu übernehmen.
Auf einigen Systemen ist die Sudo-Gruppe möglicherweise nicht aktiviert oder die Datei /etc/sudoers nicht richtig konfiguriert.
Überprüfen Sie die Konfiguration der Sudoers-Datei mit dem folgenden Befehl:
sudo visudo
Stellen Sie sicher, dass die Datei die folgende Zeile enthält:
%sudo ALLE=(ALLE:ALLE) ALLE
Fügen Sie am Ende der Datei die folgende Zeile hinzu:
Neuer Benutzername ALL=(ALL) ALL
Dadurch wird sichergestellt, dass der neue Benutzername über Sudo-Berechtigungen verfügt.
Deaktivieren Sie die SSH-Anmeldung für den Root-Benutzer
Sie können die Sicherheit Ihres Servers weiter erhöhen, indem Sie den SSH-Zugriff für den Root-Benutzer deaktivieren. Bearbeiten Sie die SSH-Konfigurationsdatei /etc/ssh/sshd_config:
sudo vi /etc/ssh/sshd_config
Suchen Sie die folgende Zeile:
#PermitRootLogin Verbotskennwort
Geändert zu:
PermitRootLogin nein
Speichern und schließen Sie die Datei und starten Sie dann den SSH-Dienst neu, damit die Änderungen wirksam werden:
sudo systemctl starte sshd neu
Root-Passwort ändern
Nachdem Sie sich als Root angemeldet haben, ändern Sie das Root-Passwort mit dem Befehl passwd in ein komplexeres.
SSH-Anmeldung mit Schlüsseln
Die Verwendung von SSH-Schlüsselpaaren zur Anmeldung ist eine sichere und bequeme Möglichkeit, Brute-Force-Angriffe effektiv zu verhindern. Im Folgenden finden Sie detaillierte Schritte zum Generieren eines Schlüsselpaars, zum Hochladen eines öffentlichen Schlüssels und zur Konfiguration des SSH-Servers zur Deaktivierung der Kennwortanmeldung:
SSH-Schlüsselpaar generieren
Öffnen Sie auf Ihrem lokalen Computer ein Terminal und führen Sie den folgenden Befehl aus:
ssh-keygen -t rsa -b 4096
Dadurch wird ein Paar RSA-Schlüssel (öffentlich und privat) generiert.
Sie werden aufgefordert, einen Dateinamen und ein Kennwort einzugeben:
Dateiname: Sie können die Eingabetaste drücken, um den Standarddateinamen zu verwenden (normalerweise ~/.ssh/id_rsa).
Kennwort: Sie können zur zusätzlichen Sicherheit ein Kennwort festlegen oder das Feld leer lassen.
Nach der Generierung wird das Schlüsselpaar unter folgendem Pfad gespeichert:
Privater Schlüssel: ~/.ssh/id_rsa
Öffentlicher Schlüssel: ~/.ssh/id_rsa.pub
Melden Sie sich manuell beim Server an, öffnen (oder erstellen) Sie die Datei ~/.ssh/authorized_keys und fügen Sie den öffentlichen Schlüssel ~/.ssh/id_rsa.pub darin ein:
vi ~/.ssh/authorized_keys
Berechtigungseinstellungen
Stellen Sie sicher, dass die Berechtigungen für das Verzeichnis ~/.ssh und die Datei authorized_keys richtig eingestellt sind:
Das .ssh-Verzeichnis sollte auf 700 eingestellt werden:
chmod 700 /root/.ssh
Die Datei authorized_keys sollte auf 600 gesetzt werden:
chmod 600 /root/.ssh/authorized_keys
SSH-Server konfigurieren
Öffnen Sie die SSH-Konfigurationsdatei:
sudo vi /etc/ssh/sshd_config
Stellen Sie sicher, dass die folgenden Konfigurationselemente festgelegt sind:
Pubkey-Authentifizierung ja
PasswortAuthentifizierung nein
Damit die Konfigurationsänderungen wirksam werden, starten Sie den SSH-Dienst neu:
sudo systemctl starte sshd neu
Speichernutzung anzeigen
Die Speichernutzung ist auch ein wichtiger Indikator für die Serversicherheit. Mit Befehlen wie free, top oder htop können wir die aktuelle Speichernutzung des Servers anzeigen und sicherstellen, dass keine schädlichen Prozesse zu viele Speicherressourcen belegen.
Installieren Sie eine Firewall
Viren-Firewall
Unter Ubuntu können Sie zum Schutz Ihres Systems gängige Antivirenprogramme verwenden. ClamAV ist ein Open-Source-Virenscanner, der auf Linux-Systemen weit verbreitet ist.
ClamAV ist eine Open-Source-Antivirensoftware zum Erkennen und Entfernen von Malware. Nachfolgend finden Sie die detaillierten Schritte zur Installation und Konfiguration von ClamAV auf einem Ubuntu-System.
Installieren Sie ClamAV:
Installieren Sie ClamAV und Clamav-Daemon (der Echtzeit-Scan-Unterstützung bietet) mit dem APT-Paketmanager
sudo apt installiere clamav clamav-daemon -y
Überprüfen Sie, ob die Installation erfolgreich war
clamscan --version
Virendatenbank aktualisieren:
Bevor Sie die Virendatenbank aktualisieren, stoppen Sie ClamAV
sudo systemctl stop clamav-freshclam
sudo freshclam
Nachdem das Update abgeschlossen ist, starten Sie den Dienst
sudo systemctl starte clamav-daemon
sudo systemctl starte clamav-freshclam
So führen Sie einen vollständigen Systemscan durch:
sudo clamscan -r /
Automatisches Scannen (Sie können einen Cron-Job für regelmäßige Scans einrichten). Sie können den Cron-Task bearbeiten, um regelmäßig ClamAV-Scans auszuführen.
Konfigurieren Sie den ClamAV-Daemon clamav-daemon für Echtzeit-Scan-Unterstützung. Stellen Sie sicher, dass der Dienst gestartet ist:
sudo systemctl aktiviere Clamav-Daemon
sudo systemctl starte clamav-daemon
Automatische Aktualisierung der Virendatenbank
sudo systemctl aktiviere clamav-freshclam
sudo systemctl starte clamav-freshclam
Ändern der Konfigurationsdatei
vi /etc/clamav/freshclam.conf
Ändern Sie die folgende Zeile, um jede Stunde zu aktualisieren
Schecks 24
Planen Sie regelmäßige Scans
Mit Cron können Sie regelmäßige Scans planen. Bearbeiten Sie Crontab:
sudo crontab -e
Fügen Sie die folgende Zeile hinzu, um das Verzeichnis /home jeden Tag um 2 Uhr morgens zu scannen:
0 2 * * * clamscan -r /home
System-Firewall
UFW (Uncomplicated Firewall) ist ein häufig verwendetes Firewall-Tool unter Ubuntu. Es ist einfach und benutzerfreundlich und sowohl für Anfänger als auch für erfahrene Benutzer geeignet.
Installieren Sie UFW:
sudo apt installiere ufw
UFW aktivieren:
sudo ufw aktivieren
SSH-Zugriff zulassen (stellen Sie sicher, dass der Remote-Zugriff möglich ist, bevor Sie die Firewall aktivieren):
sudo ufw ssh zulassen
Zugriff auf andere Ports zulassen (wie HTTP und HTTPS):
sudo ufw allow 80/tcp # HTTP zulassen
sudo ufw allow 443/tcp # HTTPS zulassen
Überprüfen Sie den UFW-Status:
sudo ufw status ausführlich
UFW deaktivieren:
sudo ufw deaktivieren
Zusammenfassen
In einer modernen Netzwerkumgebung ist die Sicherheit Ihres Ubuntu-Servers unerlässlich. Regelmäßige System- und Software-Updates mit den neuesten Sicherheitspatches sind eine grundlegende Maßnahme, um potenziellen Schwachstellen vorzubeugen. Gleichzeitig empfiehlt es sich, SSH-Schlüssel zur Anmeldung zu verwenden und die Kennwortauthentifizierung zu deaktivieren, um die Sicherheit des Fernzugriffs zu verbessern. Die Konfiguration der UFW-Firewall kann den Zugriff auf nicht benötigte Dienste effektiv einschränken. Darüber hinaus helfen die regelmäßige Installation und Aktualisierung von Virenschutzsoftware (wie ClamAV) und die Überwachung der Systemprotokolle, Sicherheitsbedrohungen rechtzeitig zu erkennen und zu beheben. Mit diesen umfassenden Maßnahmen können Ubuntu-Nutzer ihr System effektiv vor Angriffen schützen und Datensicherheit und -stabilität gewährleisten.
CyberPanel-Konfigurations-Tutorial
Installieren Sie die CSF-Firewall (ConfigServer Security & Firewall).
Um CSF auf Ubuntu zu installieren und die Grundkonfiguration zu aktivieren, führen Sie die folgenden Schritte aus:
# Abhängigkeiten installieren sudo apt update sudo apt install -y perl libwww-perl liblwp-protocol-https-perl # CSF herunterladen wget https://download.configserver.com/csf.tgz tar -xzf csf.tgz cd csf # Installationsskript ausführen sudo bash install.sh # Prüfen, ob der Server mit CSF kompatibel ist sudo perl /usr/local/csf/bin/csftest.pl
Das offizielle Installationsskript wurde aktualisiert. Wenn nach der Installation von csf ein 500-Fehler auftritt, müssen Sie zum Aktualisieren und Installieren nur das offizielle Upgrade-Skript verwenden.
sch <(curl https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh || wget -O - https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh)