Leitfaden zum Schutz eines VPS-Servers unter Linux

Ein VPS-Server (Virtual Private Server) ist eine logische Partition einer Festplatte über eine virtuelle Maschine. Ein VPS gibt uns mehr Kontrolle über die Verwaltung von Ressourcen als ein gemeinsam genutzter Serverdienst.

Ein VPS ist ideal für diejenigen, die einen Server professionell, aber zu geringeren Kosten als einen dedizierten Server einsetzen möchten, und auch für diejenigen, die die Serververwaltung starten und testen möchten, sich aber hinsichtlich der technischen Aspekte nicht sicher sind. Der VPS-Server ist ein guter Server Option zum Starten. Sie können damit Tools und Fähigkeiten testen, ohne zu viel Geld investieren und einen Server in der Produktion gefährden zu müssen.

Wir können einen VPS erstellen, wie im Tutorial gezeigt:

  • Erstellen Sie einen lokalen VPS-Server

Oder verwenden Sie einige Zahlungen, die es viele Unternehmen gibt, die VPS-Server pro Monat oder für Tage wie DigitalOcean anbieten, um Konfigurationen in einer realen Umgebung zu testen.

panta01.jpg

Wenn wir einen Server verwalten müssen, ist es am wichtigsten, zu entscheiden, welche Sicherheitsmaßnahmen erforderlich sind. Obwohl es viele Maßnahmen gibt und Sicherheitstools auch kontraproduktiv sein können, weil sie Ressourcen verbrauchen und möglicherweise nicht gut funktionieren, müssen wir uns der Risiken bewusst sein und über das Gleichgewicht zwischen Benutzerfreundlichkeit, Serverleistung und Sicherheit entscheiden Sicherheit

In diesem Tutorial werde ich eine Reihe von empfohlenen Konfigurationen für ein sicheres VPS bereitstellen

Zugriffssperre mit Sicherheitsservern (Firewalls)

Firewalls fungieren als Barriere zwischen dem allgemeinen Internetverkehr und dem Server. Dies ist wichtig, um internen und externen Datenverkehr zu überprüfen, zu filtern und zu blockieren.

Durch eine Reihe von Regeln, die vom Administrator konfiguriert werden, verwendet ein Server nur bestimmte Netzwerkports für autorisierte Dienste. Der Rest der Ports wurde nicht verwendet und muss sicher hinter einer Firewall geschützt werden, um den gesamten Datenverkehr für diese Orte abzulehnen.

In diesem Lernprogramm wird davon ausgegangen, dass wir einen Linux-VPS-Server verwalten, um Sicherheitsmaßnahmen zu ergreifen. Verwenden Sie den folgenden Befehl, um grundlegende Firewall-Regeln festzulegen:

 ifconfig 

Wir bestimmen die IP:

 nmap -sT -O 192.168.0.11 

panta02.jpg

Auf diese Weise wissen Sie, welche Ports empfangsbereit sind und in einigen Fällen die Nutzung von Diensten bestimmen. Die Konfiguration der Regeln unserer Firewall ist eine gute Grundlage für die Sicherheit des Servers und des Netzwerks.

Es gibt viele Firewalls, einige davon sind:

  • IPCop Firewall
  • ConfigServer Sicherheit & Firewall

Die am häufigsten verwendete Firewall ist Iptables, die bereits mit Linux geliefert wird , aber keine grafische Oberfläche hat. Im Terminalfenster ( über SSH verbunden) können wir die folgenden Befehle verwenden:

Blockiere eine bestimmte Eingabe-IP:

 sudo iptables -A INPUT -s 190.160.45.60 -j DROP 

Blockieren Sie eine Eingangs-IP und einen Port pro Ethernet-Netzwerk oder Kabel-Netzwerkschnittstelle:

 iptables -A INPUT -i eth0 -s 190.160.45.60 - Zielport 25 -j DROP 

Ich blockiere eine eingehende IP aber per WLAN:

 iptables -A INPUT -i wlan0 -s 190.160.45.60 -j DROP 

Wenn ich den -s IP-Parameter entferne und den Port verlasse, sperre ich den Port für eine beliebige IP

See also  Ausblenden von Platteneinheiten mit Gruppenrichtlinienobjekt in Windows Server 2016

Iptables ist das Tool zur Verwaltung der im Linux-Kernel enthaltenen Netfilter-Firewall . Der Vorteil von Iptables ist, dass es sehr gründlichen Sicherheitsüberprüfungen unterzogen wurde, um sicherzustellen, dass es funktioniert und nützlich ist.

Ein weiterer interessanter Aspekt ist, dass wir ein Skript oder eine Schnittstelle erstellen können, um die Regeln für iptables zu definieren, obwohl bereits viele zur Verfügung stehen, die eine sehr flexible Konfiguration mit Regelsätzen ermöglichen.

Verwenden Sie SSH sicher für die Remoteverwaltung

Wenn wir einen Server verwalten müssen, auf den wir keinen lokalen Zugriff haben, müssen wir dies remote tun. Zu diesem Zweck wird der Dienst über ein Protokoll namens SSH (Secure Shell) verwendet , mit dem der Server mithilfe eines Befehlsinterpreters vollständig verwaltet werden kann.

SSH bietet die Möglichkeit, einen Datenverkehrstunnel zwischen dem Computer und dem Server zu erstellen und aufrechtzuerhalten, sodass eine sichere Verbindung hergestellt wird, da der Tunnel Daten in einer verschlüsselten Verbindung überträgt.

Obwohl das Protokoll selbst sehr sicher ist und umfassend analysiert und Sicherheitstests unterzogen wurde, können wir einige Konfigurationsoptionen hinzufügen, um es sicherer zu machen, z. B. das Ändern des Ports, da standardmäßig der SSH-Verbindungsport der Port ist 22 , dazu verbinden wir uns per SSH und bearbeiten dann die Datei:

 / etc / ssh / sshd_config 

Wir verbinden uns mit dem folgenden Befehl:

 ssh user @ ip 

panta03.jpg

Dann bearbeiten wir die Datei und ändern den Port für einen anderen nach unseren Wünschen, der keinen Dienst stört, zum Beispiel 9200:

 nano / etc / ssh / sshd_config 

panta04.jpg

Wir zeichnen SSH auf und starten es neu, damit es die neue Konfiguration gemäß der Linux-Distribution annimmt:

Fedora, Centos

 sbin / service sshd neu starten 

Debian, Ubuntu

 /etc/init.d/sshd neu starten 

Dann müssen wir zum Zugriff zurückkehren, wir werden es auf folgende Weise tun:

 ssh user @ ip -p 9200 

Als Nächstes blockieren wir Port 22 auf diese Weise. Sie können uns nicht scannen und versuchen, einen Brute-Force-Angriff durchzuführen.

 iptables -A OUTPUT -p tcp --dport 22 -j DROP 
Installieren Sie ein IPS- oder Intrusion Prevention-System

Ein Intrusion Prevention-System ist eine Software, mit der Sie den Zugriff in einem Computernetzwerk überwachen und steuern können, um Ressourcen oder Server vor Angriffen und Eindringlingen zu schützen. Die Intrusion Prevention-Technologie ist eine wichtige Ergänzung zu einem Intrusion Detection-System (IDS), während ein IPS als Firewall fungiert, während ein IDS analysiert, welche Art von Verkehr im Netzwerk zirkuliert, aber auch den Inhalt und die Daten überprüft was dieser Inhalt tut

See also  LAN-Verbindung hat Vorrang vor WiFi

Ein Beispiel ist Fail2Ban, eine unter Python entwickelte Anwendung zur Verhinderung von Eindringlingen. Es handelt sich um ein IPS, das Remote-Verbindungen, auf die mit brachialer Gewalt zugegriffen werden soll, automatisch analysiert und blockiert.

Fail2ban verwendet nicht nur seine eigene Aufzeichnung von Zugriffsversuchen, sondern auch die Aufzeichnungen anderer Software wie iptables, die die Regeln für die Anwendung eines Blocks festlegt.

Sie können vom Administrator erstellte Regeln verwenden oder neue Regeln gemäß Ihrer eigenen Konfiguration erstellen, z. B. eine IP blockieren, auf die der Zugriff dreimal fehlgeschlagen ist.

Wir können es aus einem SSH-Fenster herunterladen oder von der offiziellen Website herunterladen . Wenn es in den Repositories unserer Distribution enthalten ist, installieren wir es.

 apt-get install fail2ban 

Dann konfigurieren wir es, indem wir die folgende Datei bearbeiten:

 nano /etc/fail2ban/jail.conf 

panta05.jpg

Hier bearbeiten wir einige der wichtigsten Parameter

  • : ip que nunca se bloquearán. ignoreip : IP, die niemals blockiert wird.
  • : tiempo en segundos que durará el bloqueo de la ip. Bantime : Zeit in Sekunden, die die IP-Blockierung andauert .
  • : cantidad máxima de intentos fallidos de intentos de acceso antes de ser bloqueado. maxretry : Maximale Anzahl erfolgloser Zugriffsversuche, bevor sie blockiert werden.

Dann können wir Filter für verschiedene Anwendungen erstellen, die wir im Verzeichnis finden:

 cd /etc/fail2ban/filter.d 

panta06.jpg

Mit diesem Intrusion Prevention-System können wir viele Angriffe abwehren und so die Gesamtsicherheit der Konfiguration unseres VPS erhöhen.

Fail2ban ist ein Dienst, der die Protokolldateien überwacht, um festzustellen, ob ein Zugriff ein legitimer Benutzer ist, und vorübergehend den Datenverkehr von der IP-Adresse blockiert, die dem Benutzer zugeordnet ist, der auf einen Dienst zugreifen möchte, sei es FTP, SSH, E-Mail , Web usw.

Dies ist eine einfache Möglichkeit, Brute-Force-Methoden automatisch zu behindern, da sie blockieren müssen, damit der Angriff nicht mehr funktioniert, solange wir dies angeben. Dies ist in der Regel ausreichend, um weitere Brute-Force-Versuche zu unterbinden.

Implementieren Sie ein Intrusion Detection System oder IDS

Ein Intrusion Detection System oder IDS ist die obligatorische Ergänzung eines Intrusion Prevention Systems. Ein IDS erkennt Änderungen an Registern oder Dateien, die Vergleiche mit diesen zuvor registrierten Zuständen durchführen, um festzustellen, ob die Dateien geändert oder eine Konfiguration geändert wurde, und registriert, dass der Benutzer dies getan hat.

Es gibt viele IDSs wie Snort , die wir im Tutorial gesehen haben:

  • Präventions- und Sicherheitstools gegen Hacker

Erdmännchen haben wir im Tutorial gesehen:

  • Suricata Intrusion Detection System

Tripwire, das wir im Tutorial gesehen haben:

  • Härtung der Sicherheit von Servern und Betriebssystemen .

Diese Tools verwenden eine Datenbank mit Systemdateien und schützen Konfigurationsdateien. Durch die Konfiguration von Regeln und Ausnahmen wird festgelegt, welche Dateien geschützt und welche informiert werden müssen, damit bei Beginn der Überwachung des Systems die Ausführung und alle Änderungen der überwachten Dateien überprüft werden.

See also  ASP.NET MVC - Vorlagen

Alle Tools können so konfiguriert werden, dass sie von Zeit zu Zeit eine automatische Überprüfung mit Cronjob durchführen und bei ungewöhnlichen Aktivitäten sogar Benachrichtigungen per E-Mail implementieren.

Wenn wir zum Beispiel Snort nehmen, installieren wir es aus den Repositories:

 apt-get install snort 

panta061.jpg

Dann gehen wir zu dem Verzeichnis, in dem sich die Regeldateien befinden:

 cd / etc / snort / rules 

panta07.jpg

Sehen wir uns zum Beispiel die Datei mysql.rules an

 nano mysql.rules 

Wo wir sehen angegeben, dass jeder externe oder Root-Benutzer Zugriff auf den MySQL-Dienst informiert werden sollte.

panta08.jpg

Ein weiteres Beispiel ist die Überwachung von Chat-Programmen entweder vom Server oder von einem Computer im Netzwerk oder von einem externen Computer, der unseren Server verwendet.

 nano chat.rules 

panta09.jpg

Wir können auch jede Regeldatei so konfigurieren, dass Downloads von einem Browser oder der Zugriff auf einen Dienst, die Änderung einer bestimmten Datei oder Webseite erkannt werden.

Erdmännchen ist moderner als Snort und Tripwire, da es wie eine Sniffer-Engine funktioniert, um den Verkehr von Ein- und Ausgängen eines Netzwerksystems zu analysieren. Es verbraucht jedoch viele Ressourcen, um Einbrüche zu analysieren und zu erkennen, indem es einen Doppeljob wie IDS und IPS ausführt.

Es hat auch Plugins, um Regeln zuzuweisen und viele Anwendungen und Programme zu analysieren. Erdmännchen funktioniert auf allen Ebenen des OSI-Modells.

Überprüfen Sie Viren und Malware mit Linux Malware Detect oder ClamAV

Obwohl Linux weniger anfällig für solche Angriffe ist, ist es nicht immun gegen schädliche Software. Die Tools eines Sicherheitssystems in Verbindung mit der Implementierung eines IPS und eines IDS zur Erkennung von Eindringversuchen erfordern Software, die in der Lage ist, nach Malware zu suchen und diese zu erkennen, um Aktivitätsspuren zu identifizieren, die darauf hinweisen, dass gefährliche Software auf dem System installiert ist. Server

Im Linux Malware Detect (LMD) -Lernprogramm zum Sichern von Linux wurde die Installation und Verwendung dieses Tools zum Erkennen von Malware erläutert. Verpassen Sie es nicht.

Es gibt eine Reihe von Malware-Scannern für Linux-Systeme, mit denen die Integrität der Server regelmäßig überprüft werden kann. Linux Malware Detect, auch bekannt als maldet oder LCD, ist eine beliebte Option, die installiert und konfiguriert werden kann, um bekannte Malware-Signaturen gemäß ihrer Datenbank zu suchen.

Es kann manuell ausgeführt werden, um einmalige Analysen durchzuführen, und es kann auch mit Cronjob ausgeführt werden, um regelmäßige vorbeugende Suchen und Überprüfungen durchzuführen, insbesondere um E-Mails und Dateien zu überprüfen, die per FTP auf den Server hochgeladen werden können. Die Berichte dieser Scans können per E-Mail an die Serveradministratoren gesendet werden.

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *