Grundlegende Sicherheit auf einem Linux-Server

Linux

Hier in diesem Anleitung zeigen wir Ihnen, wie Sie einige grundlegende Sicherheits Konfigurationen
auf dem Server vornehmen können, damit er etwas sicherer gegen Hacker ist.

In diesem Beispiel verwenden wir einen neu installierten “Ubuntu 16.04 – Plesk Onyx” vServer M8,
um ihn zu präsentieren und zu testen.

1. Stellen Sie sicher, dass der Server auf dem neuesten Stand ist.

(dies ist etwas, was Sie regelmäßig auf dem Server tun sollten, damit die neuesten Sicherheitspatches etc. installiert werden).

Code:

2. Login über SSH-Schlüssel konfigurieren und Passwort-Anmeldung deaktivieren

Folgen Sie dazu unserem Leitfaden hier:
https://www.server4you.com/community/forum/operating-systems/debian/1783-how-to-setup-ssh-key

 

3. Anlegen eines neuen Nicht-Root-Benutzers

(Sie können diesen Benutzer zur sudo-Liste “usermod -aG sudo <benutzername>”
als Root-Benutzer hinzufügen, oder einfach “su root”, wenn nötig.

Code:

Fügen Sie dort auch einen SSH-Schlüssel für die Anmeldung hinzu.

Code:


Testen Sie, ob Sie sich mit den neuen Benutzer einloggen können.

4. Konfigurieren Sie die sshd_config

(SSH-Port ändern / Root-Login deaktivieren).

Ändern Sie dort den SSH-Port (wenn Sie bereits eine Firewall konfiguriert haben, vergessen Sie nicht, die Verbindung auf dem neuen Port zuzulassen)
und deaktivieren Sie die Root-Anmeldung.

Code:

Ändern Sie dort “Port 22” auf die gewünschte Port-Nummer, in diesem Beispiel werde ich 1923 verwenden.

Unsere SSHD_CONFIG sieht nun so aus:

Code:

5a. grundlegende Konfiguration der Firewall über UFW (unkomplizierte Firewall)

Beachten Sie, dass es auf den vServern eine Grenze für die Regeln gibt, die Sie festlegen können.
Sie können überprüfen, wie viele Sie verwenden und wie viele Sie einstellen können mit:
cat /proc/user_beancounters | grep numiptent

Beispiel:

# cat /proc/user_beancounters | grep -iE “numiptent|uid”
uid resource held maxheld barrier limit failcnt
numiptent 173   177   256   256   256

Wie Sie sehen können, verwende ich 173 und ich darf maximal 256

unter https://hilfe-server.de/server4you-vserver-resourcenlimits/ finden Sie ein resource übersicht für Ihr vServer type.

UFW installieren

Code:


Da wir kein IPv6 haben, können wir es deaktivieren.

Code:


und ändern Sie “IPV6=ja” in “IPV6=nein”.

Fügen Sie die Regeln hinzu:

Code:


Ändern Sie diese in die Portnummer, die Sie für SSH verwenden.

ufw allow 22 -> für das gefälschte SSH
Fügen Sie alle Ports hinzu, die Sie verwenden

Wenn Sie sicher sind, dass der SSH-Port erlaubt ist, dann wird er ausgeführt.
(mit “ufw show added” können Sie alle Regeln überprüfen, die hinzugefügt werden sollen”.

Beispiel:
# ufw show added
Added user rules (see ‘ufw status’ for running firewall):
ufw allow 1923
ufw allow 22
ufw allow 21
ufw allow 8443
ufw allow 80
ufw allow 443
ufw allow Postfix)

um die Firewall zu starten und die Regeln zu aktualisieren:

Code:

5b. Grundkonfiguration der Firewall über IPTables

Bitte vergessen Sie nicht, dass die Firewall-Konfiguration von Ihren Bedürfnissen und Ihrer Konfiguration abhängt,
so dass die Regeln und Ports entsprechend Ihrem Server geändert werden müssen!
Das blinde Ausführen dieser Funktion kann zum Verlust der Verbindung zum Server führen.
Hierfür übernehmen wir keine Haftung.

Sie können die Konfiguration auch über IPTables vornehmen.
Hier in diesem Beispiel werden wir den gesamten eingehenden Verkehr blockieren und nur denjenigen zulassen, den wir wollen.
Vergessen Sie nicht, Ihren SSH-Port so einzustellen, dass er zuerst ankommt, bevor Sie die Drop-Richtlinie festlegen!

Um alle Ihre Regeln zu überprüfen, können Sie den Befehl “iptables -L” verwenden.

Hier sehen Sie, dass es im Moment keine Regeln gibt und die Vorgehensweise ist, alles zu akzeptieren:

Code:


Auch als externe Prüfung haben wir vor dem Setup einen Port-Scan durchgeführt:

Code:


Wie oben beschrieben, werden wir unsere SSH-Port so einstellen, dass er die Verbindungen akzeptiert:

Code:


Ändern Sie den 1923 auf den Port, an dem Ihr SSH aktiv ist.

Code:


Dies erlaubt Verbindungen zu Port 22, wo ich das gefälschte SSH in Schritt 6 einrichten werde.

Code:


Hier habe ich nun den Zugriff auf den Webserver und Plesk erlaubt.

Code:


Hier erlauben wir die Loopback-Verbindungen, damit wir keine Probleme mit einigen Diensten etc. bekommen.
Nun, da wir unsere SSH erlaubt haben, können wir die regel ändern, um sie verwerfen zu lassen:

Code:


Dies führt nun dazu, dass alle eingehenden Verbindungen, bei denen keine Zulassungsregel angegeben ist, abgelehnt werden.

Jetzt überprüfen wir noch einmal mit iptables -L

Code:


Wie Sie “Chain INPUT (policy DROP)” sehen können, ist die Voreinstellung so eingestellt, dass alle Eingaben/Eingaben abgelehnt werden.
Und die anderen Regeln, um die Verbindung zu akzeptieren.
Wir können das mit einem neuen Port-Scan überprüfen:

Code:


Und ein zweiter Scan, der alle Ports überprüft, die beim ersten Scan geöffnet waren:

Code:


Wie Sie sehen, werden alle Ports, die wir in den IPTables nicht angegeben haben, gefiltert (die Verbindung wird nicht akzeptiert).
Seien Sie bitte vorsichtig, wenn Sie diese Regeln festlegen, da es zu einfach ist, sich aus dem Server auszusperren, wenn es falsch gemacht wird oder in eine falsche Reihenfolge.

Wir empfehlen Ihnen, ein Bash-Skript zu verwenden, um diese Änderungen auszuführen.
Hier ein kleines Beispiel:

Wir gehen davon aus, dass wir einen Server mit einem Plesk-Setup haben, also benötigen wir Webserver, Mailserver, Plesk, SSH erreichbar.

Code:

hier werden wir alle Regeln eingeben, die wir festlegen wollen:

Code:


Lassen Sie uns nun die Datei verwenden:

Code:


Das lässt die Regeln so aussehen:

Code:

6. Ein gefälschtes SSH installieren

(optional, dies kann gegen Bots und weniger erfahrene Hacker helfen, die vielleicht nicht einmal versuchen, den richtigen ssh-Port zu finden).

Check: https://github.com/tylermenezes/FakeSSH Es gibt weitere Möglichkeiten

Code:


Speichern unter /opt/FakeSSH/data/rsa

Code:


Sie können /opt/FakeSSH/data/config.json nach Bedarf bearbeiten.

Code:

Code:


Fügen Sie dort hinzu:

Code:


Führen Sie nun die Datei server.py aus.
Beispiel:

Code:


Nun, um es zu überprüfen:

Code:


Wie Sie sehen können, antwortet der Server und sagt immer, dass es sich um ein falsches Passwort handelt.
Also wird ein Bot, etc. denken, dass es ein echter Port ist.

Mit diesen Schritten sollte Ihr Server weitgehend sicher sein.

Wenn Sie Plesk verwenden, ist es wahrscheinlich auch empfehlenswert, dies zu überprüfen:
https://support.plesk.com/hc/en-us/a…best-practices
Achten Sie auch darauf, dass Ihre CMS-Systeme etc. immer auf dem neuesten Stand sind!

(DIES IST KEINE GARANTIE DAFÜR, DASS IHR SERVER HACKSICHER IST, ABER ES SOLLTE IN DEN MEISTEN FÄLLEN HELFEN).

 

Quelle: https://www.server4you.com/community/forum/operating-systems/debian/1780-how-to-basic-security-on-a-linux-server

1+
Linux
Aktuelle Systemstatus-Informationen

Auf dieser Seite informieren wir Sie über aktuelle Störungen und Ausfälle, an deren schnellstmöglicher Behebung wir selbstverständlich arbeiten – ebenso wie über notwendige Wartungsarbeiten, die wir nach Möglichkeit frühzeitig ankündigen. https://server4you.statuspage.io Server4you Kunden können auch im Powerpanel unter News eine E-Mail hinterlegen.Sie bekommen dann Status Informationen per E-Mail zugeschickt.   …

Linux
.htaccess

Was ist eine .htaccess-Datei eigentlich genau? Bei der .htaccess handelt es sich um eine textbasierte Datei, durch deren Verwendung berechtigte Nutzer verzeichnisspezifisch die Konfiguration eines NCSA-kompatiblen Webservers beeinflussen können. Der bekannteste Webserver des „National Center for Supercomputing Applications“ (NCSA) ist der weit verbreitete Apache HTTP Server. Seine Arbeitsweise wird durch …

E-Mail
Plesk Web Admin Edition Mailboxgröße ändern

Bei der Plesk Web Admin Edition gibt es keine Ressourcenverwaltung. Daher ist es über die Administrationsoberfläche per Webbrowser nicht möglich Ressourcen eines Hostings zu ändern. Dies geht nur per SSH und folgendem Befehl: plesk bin subscription –switch-subscription example.com -service-plan unlimited Hierbei werden die Ressourcen eines Hostings auf unlimited gesetzt. Dies …