Einführung
Diese Anleitung hilft Ihnen bei der Ersteinrichtung von Debian 8.2, damit Sie Ihren Server erfolgreich sichern können und gleichzeitig die Gewissheit haben, dass Ihr Server geschützt ist.
Bei jedem Server sollte das Hauptziel immer die Sicherheit sein. Viele Benutzer werden Opfer von böswilligen Infiltrationen auf ihren Servern, da von Anfang an keine Sicherheitsgrenzen festgelegt wurden. Beginnen wir den richtigen Weg, indem wir unser Fundament mit Sicherheit legen.
Was brauchen Sie?
Sie benötigen einen Debian 8.2-Server, der mit einer statischen IP-Adresse konfiguriert ist. Wenn Sie noch keinen Server haben, können Sie unsere Seite für virtuelle private Server besuchen und in weniger als 30 Sekunden einen neuen Server einrichten.
Servervorbereitung
Melden Sie sich zunächst über SSH oder die VNC-Konsole in cloud.atlantic.net bei Ihrem Debian 8.2 an. Atlantic.Net Cloud-Server werden als minimale Installationen eingerichtet, um zu vermeiden, dass unnötige Pakete installiert und nie verwendet werden. Stellen wir daher sicher, dass Ihr Server auf dem neuesten Stand ist und der sudo-Dienst installiert ist.
apt-get update
apt-get install sudo
Wenn der Server auf dem neuesten Stand ist, können wir den Vorgang fortsetzen und Ihren Server sichern.
Root-Passwort unter Debian 8.2 aktualisieren
Aktualisieren Sie das Root-Passwort da Sie die einzige Person sein werden, die es wissen wird. Wir empfehlen mindestens 8 Zeichen, einschließlich Kleinbuchstaben, Großbuchstaben und Zahlen.
passwd
Erstellen Sie einen neuen Benutzer mit sudo-Berechtigungen unter Debian 8.2
Neuen Benutzer erstellen mit sudo-Privilegien können Sie Ihren Server einfach verwalten, ohne sich Sorgen machen zu müssen, versehentlich unerwünschte Änderungen vorzunehmen. Lassen Sie uns den user1! erstellen
adduser user1
Geben Sie die Informationen ein, die für den Benutzer gelten, und bestätigen Sie die Informationen
[email protected]:~# adduser user1 Adding user `user1' ... Adding new group `user1' (1000) ... Adding new user `user1' (1000) with group `user1' ... Creating home directory `/home/user1' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for user1 Enter the new value, or press ENTER for the default Full Name []: user1 Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] y
In Debian 8.2 werden durch einfaches Hinzufügen Ihres Benutzers zur sudo-Gruppe sudo-Berechtigungen für diesen Benutzer gewährt, indem sudo eingegeben wird, bevor ein Befehl ausgeführt wird. Lassen Sie uns den Benutzer are zur sudo-Gruppe hinzufügen.
adduser user1 sudo
Nach Abschluss können Sie den Befehl su – user1 verwenden, um den Benutzer von root auf user1 zu ändern. Denken Sie daran, dass Sie dann sudo verwenden müssen, bevor Sie einen Befehl mit dem Benutzer ausführen.
SSH-Zugriff unter Debian 8.2 konfigurieren
In Linux-Systemen ist Port 22 der Standardport für Remote-Verbindungen über SSH. Indem Sie den ssh-Port ändern, erhöhen Sie die Sicherheit Ihres Servers, indem Sie verhindern, dass Brute-Force-Angriffe und unerwünschte Benutzer Ihren Server erreichen (ich werde Port 5022 für dieses Tutorial verwenden). Öffnen Sie Ihre SSH-Konfigurationsdatei, suchen Sie die Port-Zeile und ändern Sie Port 22 in Ihren benutzerdefinierten Port. Speichern und beenden.
sudo nano /etc/ssh/sshd_config
# What ports, IPs and protocols we listen for
Port 22 to 5022
Damit Ihr System die neuen Einstellungen aus der SSH-Konfigurationsdatei aktualisieren kann, müssen wir den sshd-Dienst neu starten.
sudo systemctl restart sshd.service
SSH wurde jetzt so konfiguriert, dass es Port 5022 verwendet, und wenn Sie versuchen, sich über Port 22 anzumelden, schlägt Ihre Anmeldung fehl.
Root-Zugriff auf Debian 8.2 beschränken
Da wir einen neuen Nutzer mit Root-Berechtigungen erstellt haben, ist es nicht erforderlich, den eigentlichen Root-Nutzer über SSH auf Ihrem Server verfügbar und angreifbar zu halten. Lassen Sie uns den Zugriff des Root-Benutzers so einschränken, dass er nur auf dem lokalen Server verfügbar ist, und dem neuen Benutzer die Berechtigung über SSH erteilen.
Öffnen Sie die SSH-Konfigurationsdatei, suchen Sie die PermitRootLogin-Zeile und ändern Sie sie von yes in no.
sudo nano /etc/ssh/sshd_config
PermitRootLogin no
Damit Ihr System die neuen Einstellungen in der SSH-Konfigurationsdatei aktualisieren kann, müssen wir den sshd-Dienst neu starten.
sudo systemctl restart sshd.service
Erstellen Sie einen privaten SSH-Schlüssel unter Debian 8.2
Private/Öffentliche SSH-Schlüssel sind großartige zusätzliche Funktionen, die die Sicherheit bei der Methode, auf die auf einen Server zugegriffen wird, erhöhen. Allerdings erfordert die Einrichtung etwas mehr Aufwand. Die Frage ist, ist Ihr Server die zusätzliche Sicherheit wert? Wenn Sie diese Sicherheitsfunktion und zusätzliche Maßnahmen implementieren möchten, können Sie auch mit den folgenden Schritten fortfahren, lassen Sie uns fortfahren und den SSH-Schlüssel generieren.
ssh-keygen
Wenn Sie den Ort ändern möchten, an dem der SSH-Schlüssel gespeichert wird, können Sie ihn hier angeben, wenn nicht, ist der Standardort OK. Drücken Sie die Eingabetaste, wenn Sie mit der folgenden Frage aufgefordert werden, und geben Sie dann eine Passphrase ein, es sei denn, Sie möchten keine.
Enter file in which to save the key (/home/user1/.ssh/id_rsa):
Sie sehen dann die folgenden Informationen auf dem Bildschirm.
Das Konfigurieren des SSH-Schlüssels ist entscheidend, wir müssen die vollständige Schlüsselzeichenfolge in ein Word-/Notepad-Dokument kopieren. Der Schlüssel kann an der folgenden Stelle mit dem cat-Befehl angezeigt werden.
cat ~/.ssh/id_rsa.pub
Kopieren Sie den SSH-Schlüssel, der mit ssh-rsa beginnt und mit [email protected] endet, in Ihr Word-/Notepad-Dokument, damit wir ihn der Konfigurationsdatei hinzufügen können. Sobald der SSH-Schlüssel sicher gespeichert ist, müssen wir weitere Änderungen auf dem Server vornehmen. Hier kommen die sudo-Berechtigungen für Ihren Benutzer1 ins Spiel.
su - user1
Das Verzeichnis für die SSH-Schlüssel benötigt eingeschränkte Berechtigungen, die nur der Besitzer lesen, schreiben und ausführen kann.
sudo chmod 700 .ssh
Innerhalb des SSH-Verzeichnisses muss eine Datei mit dem SSH-Schlüssel hinzugefügt werden, einfach mit Ihrem Editor (in diesem Fall VI) an folgendem Ort:
nano .ssh/authorized_keys
Fügen Sie den SSH-Schlüssel ein, speichern Sie ihn und beenden Sie ihn im Nano-Format.
Schließlich müssen wir die Berechtigungen der gerade erstellten Datei „authorized_keys“ einschränken, sodass nur der Eigentümer lesen und schreiben kann.
chmod 600 .ssh/authorized_keys
Wir können jetzt überprüfen, ob der Schlüssel funktioniert, indem wir Ihre Sitzung schließen und Folgendes in Ihre SSH-Konsole [email protected] oder den Hostnamen Ihres Servers eingeben. Dies kann mit dem folgenden Befehl erreicht werden:
ifconfig eth0 | grep inet | awk '{ print $2 }'
Außerdem können Sie „hier“ klicken, um unseren Artikel zum Generieren und Verwenden von SSH-Schlüsseln anzuzeigen.
Grundlegende Firewall-Regeln unter Debian 8.2
sudo apt-get install firewalld
Wir müssen jetzt unseren zuvor erstellten benutzerdefinierten SSH-Port zulassen, um öffentlich auf den Server zugreifen zu können. Außerdem gibt es mehrere andere Regeln, die je nach Art des Servers, den Sie bereitstellen möchten, verwendet werden können.
sudo firewall-cmd --permanent --add-port=5022/tcp
Wenn Sie einen Webserver haben, möchten Sie vielleicht die folgenden Regeln zulassen, damit auf Ihre Sites über das Internet zugegriffen werden kann.
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
Wenn Sie einen Mailserver haben, möchten Sie vielleicht die folgenden Regeln zulassen, wenn Sie Ihren Server für eingehende POP3-Einstellungen verwenden. Port 110 ist der Standardport und Port 995 ist für eine sicherere Verbindung mit SSL.
sudo firewall-cmd --permanent --add-service=pop3s
Darüber hinaus möchten Sie möglicherweise die folgenden Regeln zulassen, wenn Sie Ihren Server für ausgehende SMTP-Einstellungen verwenden.
sudo firewall-cmd --permanent --add-service=smtp
Schließlich möchten Sie vielleicht die folgenden Regeln zulassen, wenn Sie Ihren Server mit IMAP-Einstellungen verwenden.
sudo firewall-cmd --permanent --add-service=imaps
Speichern Sie Ihre Arbeit und beenden Sie.
Damit Firewalld diese Einstellungen akzeptiert, müssen Sie die Firewall neu starten.
sudo firewall-cmd --reload
Ihre Einstellungen wurden gespeichert und Sie können fortfahren, indem Sie alle verfügbaren Dienste/Ports überprüfen, indem Sie Folgendes ausführen:
sudo firewall-cmd --permanent --list-all
NTP-Zeitsynchronisierung auf Debian 8.2
Das NTP (Network Time Protocol) wird im Wesentlichen verwendet, um die Uhrzeit und das Datum von Computern über das Netzwerk zu synchronisieren, um genau und aktuell zu bleiben. Beginnen wir mit der Installation des NTP-Dienstes (falls noch nicht geschehen) und konfigurieren den Dienst so, dass er sich mit seinen Servern synchronisiert.
sudo apt-get install ntp
Sobald der NTP-Dienst installiert ist, müssen wir sicherstellen, dass der Dienst eingeschaltet ist.
sudo /etc/init.d/ntp start
Wenn der Dienst eingeschaltet ist, synchronisiert er automatisch die Zeitinformationen des Servers mit dem NTP-Server.
Auslagerungsdatei unter Debian 8.2 hinzufügen
Eine Auslagerungsdatei ist einfach eine kleine Menge an Speicherplatz, die auf einer Serverfestplatte erstellt wird, um Ram zu simulieren. Für den Fall, dass dem Server der Arbeitsspeicher ausgeht, wird er sich die Festplatte ansehen und die Last verringern, indem er das System dazu bringt, zu glauben, dass es mehr Arbeitsspeicher hat. Wir werden die Auslagerungsdatei auf der Festplatte einrichten, um die Leistung des Servers noch ein wenig zu steigern.
Überprüfen Sie zunächst Ihre Ressourcen, um sicherzustellen, dass wir die Datei hinzufügen können. Wenn Sie den folgenden Befehl ausführen, sehen Sie den prozentualen Speicherplatz auf Ihrer Festplatte, der derzeit belegt ist.
df -h
Wenn Sie eine Auslagerungsdatei erstellen, möchten Sie normalerweise die Hälfte Ihres vorhandenen Arbeitsspeichers auf 4 GB erweitern (wenn Sie 1 GB tatsächlichen Arbeitsspeicher haben, fügen Sie eine 512-MB-Datei hinzu). In diesem Teil werde ich dem Laufwerk eine 512-MB-Auslagerungsdatei hinzufügen. Die Art und Weise, wie dies berechnet wird, ist 1024 x 512 MB =524288 Blockgröße.
sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288
Nachdem wir nun eine Auslagerungsdatei hinzugefügt haben, muss ein Auslagerungsdateibereich erstellt werden, um fortzufahren.
sudo mkswap /swapfile
Nachdem die Auslagerungsdatei erstellt und der Auslagerungsdateibereich hinzugefügt wurde, können wir fortfahren und der Datei Berechtigungen hinzufügen, sodass nur der Besitzer lesen und schreiben kann.
sudo chown root:root /swapfile
sudo chmod 600 /swapfile
Jetzt, da die Auslagerungsdatei die entsprechenden Berechtigungen hat, können wir fortfahren und sie aktivieren.
sudo swapon /swapfile
Sie können Ihre neu hinzugefügte Auslagerungsdatei wie folgt überprüfen.
sudo swapon -s
Damit die Auslagerungsdatei auch nach einem Neustart immer aktiv ist, müssen wir sie entsprechend konfigurieren.
sudo nano /etc/fstab
Fügen Sie den folgenden Befehl am Ende der Datei ein, speichern Sie Ihre Arbeit und beenden Sie.
/swapfile swap swap defaults 0 0
Überprüfen Sie schließlich, ob Ihre Auslagerungsdatei aktiviert ist, indem Sie den folgenden Befehl eingeben:
free -m
Was kommt als Nächstes?
Sie haben jetzt einen Server mit einer starken Sicherheitsgrundlage, die Ihnen die Gewissheit gibt, dass Ihr Server geschützt ist. Je nach Zweck des Servers können Sie mit der Installation zusätzlicher Software beginnen.