Einführung
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. Diese Anleitung hilft Ihnen bei Ihrer Ersteinrichtung unter Ubuntu 15.04, damit Sie Ihren Server erfolgreich sichern können und gleichzeitig die Gewissheit haben, dass Ihr Server geschützt ist.
Was brauchen Sie?
Sie benötigen einen Ubuntu 15.04-Server, der mit einer statischen IP-Adresse konfiguriert ist. Wenn Sie noch keinen Server haben, können Sie unsere branchenführende VPS-Hosting-Seite besuchen und in weniger als 30 Sekunden einen neuen Server einrichten.
Servervorbereitung
Melden Sie sich zunächst über SSH oder die hier befindliche VNC-Konsole bei Ihrem Ubuntu 15.04-Server an. Atlantic.Net Cloud-Server werden als minimale Installationen eingerichtet, um zu vermeiden, dass unnötige Pakete installiert und nie verwendet werden. Wenn einige Softwarepakete, an die Sie gewöhnt sind, nicht standardmäßig installiert sind, können Sie sie nach Bedarf installieren.
Lassen Sie uns sicherstellen, dass Ihr Server auf dem neuesten Stand ist.
Aktualisieren Sie das Root-Passwort für Ubuntu 15.04
Geben Sie den folgenden Befehl ein, um Ihre Anfrage zu aktivieren, und befolgen Sie die Anweisungen auf dem Bildschirm, um Ihr Root-Passwort zu aktualisieren/bestätigen:
passwd
Erstellen Sie einen neuen Benutzer mit sudo-Berechtigungen
Nachdem Sie Ihr Passwort erfolgreich aktualisiert haben, wird empfohlen, dass Sie einen neuen Benutzer mit sudo/root-Berechtigungen erstellen. Da der Standard-Admin-Benutzer für viele Linux-Betriebssysteme wie Ubuntu 15.04 „root“ ist, werden wir einen neuen Admin-Benutzer erstellen, der für alltägliche Verwaltungsaufgaben verwendet wird. Das Erstellen eines neuen Benutzers mit Root-Berechtigungen erhöht die Sicherheit beim Zugriff auf Ihren Server. Personen, die auf Ihr System abzielen möchten, zielen auf den Root-Benutzer ab, da bekannt ist, dass es sich um das Standard-Admin-Konto handelt. Indem Sie einen neuen Benutzer mit sudo/root-Berechtigungen erstellen und den Root-Benutzer deaktivieren, erhöhen Sie die Sicherheit, indem Sie einen Benutzer verwenden, der noch nicht öffentlich bekannt ist.
Geben Sie den folgenden Befehl ein, um Ihren neuen Benutzer zu erstellen, indem Sie „Benutzer1“ durch Ihren Benutzernamen ersetzen, und bestätigen Sie.
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
Erstellen Sie ein Passwort für diesen Benutzer, indem Sie den folgenden Befehl eingeben, um Ihre Anfrage zu aktivieren, und den Anweisungen auf dem Bildschirm folgen, um Ihr „Benutzer1“-Passwort zu aktualisieren/bestätigen:
passwd user1
Nachdem Sie einen neuen Benutzer erstellt und das Passwort für diesen Benutzer erstellt haben, ist es an der Zeit, den Benutzer zur sudo-Wheel-Gruppe hinzuzufügen. In Ubuntu 15.04 werden ihnen automatisch sudo/root-Berechtigungen zugewiesen, sobald Sie sie zur sudo-Wheel-Gruppe hinzugefügt haben. Führen Sie den folgenden Befehl aus, um den Benutzer zur sudo-Wheel-Gruppe hinzuzufügen.
adduser user1 sudo
Wenn Sie schließlich den Benutzer mit sudo/root-Berechtigungen erstellt haben, können Sie Ihre Sitzung beenden und sich wieder mit Ihrem „user1“ anmelden, um die vorgenommenen Änderungen zu überprüfen. Alternativ können Sie den folgenden Befehl ausführen und Benutzer von root auf „user1“ umstellen, wodurch Sie nach dem Passwort dieses Benutzers gefragt werden. Denken Sie daran, dass Sie sudo verwenden müssen, bevor Sie einen Befehl mit dem Benutzer ausführen.
su - user1
SSH-Zugriff konfigurieren
Port 22 ist der Standardport für Remote-Verbindungen über SSH in Linux-Systemen. 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 über den Standardport erreichen. Verwenden Sie für dieses Tutorial Port 5022 als Beispiel.
Öffnen Sie Ihre SSH-Konfigurationsdatei, suchen Sie die Port-Zeile, entfernen Sie die # und ändern Sie die Nummer 22 in Ihren benutzerdefinierten Port. Speichern und beenden.
sudo nano /etc/ssh/sshd_config
# What ports, IPs and protocols we listen for Port 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 für die Verwendung von Port 5022 konfiguriert, und wenn Sie versuchen, sich über Port 22 anzumelden, schlägt Ihre Anmeldung fehl. Beenden Sie Ihre Sitzung jedoch nicht, da wir zuerst den benutzerdefinierten Port im Firewall-Konfigurationsteil konfigurieren müssen, den wir in den nächsten Schritten konfigurieren werden.
Root-Zugriff einschränken
Da wir einen neuen Benutzer mit Root-Berechtigungen und einen benutzerdefinierten SSH-Port erstellt haben, besteht keine Notwendigkeit, den eigentlichen Root-Benutzer über SSH auf Ihrem Server verfügbar und anfällig zu halten. Lassen Sie uns den Zugriff des Root-Benutzers auf den lokalen Server beschränken und dem neuen Benutzer die Berechtigung nur über SSH erteilen.
Öffnen Sie die SSH-Konfigurationsdatei, suchen Sie die PermitRootLogin-Zeile, entfernen Sie das # und ändern Sie es von yes in no.
sudo nano /etc/ssh/sshd_config
#PermitRootLogin yes 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
Hinweis:Sie haben jetzt den Root-Benutzer deaktiviert, um diese Änderungen vorzunehmen, also müssen Sie sich mit dem von Ihnen erstellten „user1“ bei Ihrem Server anmelden. Beenden Sie Ihre Sitzung jedoch nicht. Wir müssen den benutzerdefinierten Port in den nächsten Schritten auf der Firewall konfigurieren.
Erstellen Sie einen privaten SSH-Schlüssel
Private/Öffentliche SSH-Schlüssel sind großartige Zusatzfunktionen, die die Sicherheit in einer Servermethode erhöhen. Der Aufbau erfordert allerdings etwas mehr Aufwand. Die Frage ist, ist Ihr Server die zusätzliche Sicherheit wert? Wenn Sie die folgenden Sicherheitsfunktionen implementieren möchten, können Sie mit den nächsten 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. Der Standardspeicherort sollte jedoch in Ordnung sein. 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):
Dies ist die Standardseite bei der Installation von SSH-Schlüsseln auf einem Ubuntu 15.04-Server
Die Konfiguration des SSH-Schlüssels ist entscheidend. Wir müssen die gesamte 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 ein Word-/Notepad-Dokument, um ihn später zur Konfigurationsdatei hinzuzufügen.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNcnc3pMOytM7xgwZHUX0Wi/O78hDvLUmQVtKn8Qk1ijBY82jVftKXKRhf8toNkgm9jaZmfapLa7ynzUG4jbFjyy8H+iEs1R8P7eu+e8/fmGwjorbMFuWdoi7h2CldoqKTdMEb/dMNxjNMzBbovl3XtZviQGm4/TMVO1hHxy85JR8zAtNFu7liaP7IonexNrOGhY8CjqRcBsceQLkl1MlX7cWaWAMqd6jQnAvggTLerI9P286AP8Sk4uColj7GKOljj8X6J/2pcjp9v2IvJOqwC/zLwUKZ6qTEV6SrfdbjopoCVvpXkVhmcbHX5Xv1gwynO+vTkpPFwVTjSnAai71L [email protected]
Sobald der SSH-Schlüssel sicher gespeichert ist, benötigt das Verzeichnis für die SSH-Schlüssel eingeschränkte Berechtigungen, sodass nur der Besitzer die Datei 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, indem Sie einfach mit Ihrem Editor (in diesem Fall NANO) den folgenden Speicherort verwenden:
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 Besitzer lesen und schreiben kann.
chmod 600 .ssh/authorized_keys
Wir könnten jetzt überprüfen, ob der Schlüssel funktioniert, indem wir die Sitzung schließen und [email protected] oder den Hostnamen Ihres Servers in Ihre SSH-Konsole eingeben. Außerdem können Sie „hier“ klicken, um weitere Informationen in unserem Artikel Generieren und Verwenden von SSH-Schlüsseln zu erhalten.
Grundlegende Firewall-Regeln
sudo apt-get install firewalld
Als Nächstes fügen wir eine Regel hinzu, die es dem zuvor erstellten benutzerdefinierten SSH-Port 5022 ermöglicht, öffentlich auf den Server zuzugreifen. Gleichzeitig entfernen wir die vorherige Standardregel, die den SSH-Zugriff auf TCP/22 erlaubt.
sudo firewall-cmd --permanent --add-port=5022/tcp
sudo firewall-cmd --permanent --remove-service=ssh
Wenn Sie einen Webserver haben, möchten Sie möglicherweise den folgenden Regeln den Zugriff auf Ihre Websites über das Internet erlauben.
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https
Sie können dies für ähnliche Regeln in Bezug auf alle Systeme verwenden, die öffentlich zugänglich sein sollen. Dieser Testserver ist zum Hosten einer Website und von E-Mail-Diensten eingerichtet, daher wurden zusätzlich zu den aktualisierten SSH- und HTTP(S)-Regeln zusätzliche Regeln für sicheres POP3, IMAP und SMTP hinzugefügt.
sudo firewall-cmd --permanent --add-service=pop3s sudo firewall-cmd --permanent --add-service=imaps sudo firewall-cmd --permanent --add-service=smtp
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. Führen Sie Folgendes aus, um alle verfügbaren Dienste/Ports zu überprüfen:
sudo firewall-cmd --permanent --list-all
Dies ist die Standardseite nach dem Konfigurieren der Firewalld-Regeln auf dem Ubuntu 15.04-Server
NTP-Zeitsynchronisierung
Das NTP (Network Time Protocol) wird 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 (falls noch nicht geschehen) und der Konfiguration des Dienstes zur Synchronisierung mit ihren Servern.
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
Auslagerungsdatei hinzufügen
Eine Auslagerungsdatei ist einfach ein kleiner Speicherplatz, der auf einer Serverfestplatte erstellt wird, um Ram zu simulieren. Wenn 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 richten die Auslagerungsdatei auf der Festplatte ein, 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 Bereich erstellt werden, um fortzufahren.
sudo mkswap /swapfile
Mit der erstellten Auslagerungsdatei und dem hinzugefügten Auslagerungsdateibereich könnten 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
Da die Auslagerungsdatei nun über die entsprechenden Berechtigungen verfügt, 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
Dies ist die Standardseite nach dem Erstellen einer Auslagerungsdatei auf einem Ubuntu 15.04-Server
Was kommt als Nächstes?
Damit haben Sie jetzt einen Server mit einer starken Sicherheitsgrundlage, der Ihnen die Gewissheit gibt, dass Ihr Server geschützt ist. Sie können nun damit fortfahren, Ihre Plattform gemäß Ihren Anforderungen zu erstellen. Vielen Dank, dass Sie uns folgen, und zögern Sie nicht, uns für weitere Updates zu kontaktieren.
Atlantic.Net hat es sich zur Aufgabe gemacht, unseren Kunden den allerbesten technischen Support zu bieten, zusammen mit einem umfassenden Angebot an VPS-Hosting-Lösungen für Unternehmen jeder Größe.