Anleitung zum Schutz eines VPS-Servers mit Linux

Inhaltsverzeichnis

EIN VPS-Server (Virtueller privater Server), Es ist eine logische Partition einer Festplatte durch eine virtuelle Maschine, ein vps gibt uns mehr Kontrolle über die Verwaltung von Ressourcen im Vergleich zum gemeinsam genutzten Serverdienst.

Ein VPS ist ideal für diejenigen, die einen Server professionell aber kostengünstiger als einen dedizierten nutzen möchten und auch für diejenigen, die mit der Administration von Servern beginnen und Tests durchführen möchten, sich aber in den technischen Aspekten nicht sicher sind Server ist eine gute Option, um zu starten. Es kann verwendet werden, um Tools und Fähigkeiten zu testen, ohne zu viel Geld auszugeben und einen Produktionsserver zu gefährden.

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

  • Erstellen Sie einen lokalen VPS-Server

Oder nutzen Sie einige Zahlungen, es gibt viele Unternehmen, die VPS-Server pro Monat oder pro Tag anbieten, wie z. B. DigitalOcean, um Konfigurationen in einer realen Umgebung zu testen.

Das Wichtigste, wenn wir einen Server verwalten müssen, ist zu entscheiden, welche Sicherheitsmaßnahmen wir ergreifen werden. Obwohl es viele Sicherheitsmaßnahmen und -tools gibt, können sie auch kontraproduktiv sein, da sie Ressourcen verbrauchen und einige Anwendungen möglicherweise nicht richtig funktionieren lassen. Serverleistung und Sicherheit.

In diesem Tutorial werde ich eine Reihe von empfohlenen Konfigurationen für einen sicheren VPS bereitstellen

Zugriffssperre mit Firewalls
Firewalls fungieren als Barriere zwischen dem allgemeinen Internetverkehr und dem Server. Es ist wichtig, 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. Die restlichen Ports wurden nicht verwendet und müssen sicher hinter einer Firewall geschützt werden, um jeglichen für diese Orte bestimmten Verkehr zu unterbinden.

Für dieses Tutorial gehen wir davon aus, dass wir einen Linux-VPS-Server verwalten, um Sicherheitsmaßnahmen zu ergreifen. Um grundlegende Firewall-Regeln festzulegen, müssen wir zunächst nachverfolgen, welche Ports wir geöffnet haben, dazu verwenden wir den Befehl:

 ifconfig
Wir ermitteln die IP:
 nmap -st -O 192.168.0.11

Auf diese Weise können Sie in einigen Fällen wissen, welche Ports lauschen und die Nutzung von Diensten konditionieren. Die Regeln unserer Firewall gut zu konfigurieren ist eine gute Grundlage für die Sicherheit des Servers und des Netzwerks.

Es stehen viele Firewalls zur Verfügung, einige sind:

  • IPCop-Firewall
  • ConfigServer Sicherheit & Firewall

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

Blockieren Sie eine bestimmte eingehende IP:

 sudo iptables -A INPUT -s 190.160.45.60 -j DROP
Blockieren Sie eine eingehende IP und einen Port über eine Ethernet-Netzwerkschnittstelle oder ein kabelgebundenes Netzwerk:
 iptables -A INPUT -i eth0 -s 190.160.45.60 --destination-port 25 -j DROP
Ich blockiere eine eingehende IP, aber per WiFi:
 iptables -A INPUT -i wlan0 -s 190.160.45.60 -j DROP
Wenn ich den IP-Parameter -s entferne und den Port verlasse, blockiere ich den Port für jede IP

Iptables ist das Tool zur Verwaltung der Netfilter-Firewall, die im Linux-Kernel enthalten ist. Der Vorteil von Iptables besteht darin, 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 es bereits viele gibt, mit denen Sie sehr flexibel mit Regelsätzen konfigurieren können.

SSH sicher verwenden für die Fernverwaltung
Wenn wir einen Server verwalten müssen, auf den wir keinen lokalen Zugriff haben, müssen wir dies remote tun. Dazu wird der Dienst über ein Protokoll namens SSH verwendet, das für Secure Shell steht, das es ermöglicht, den Server mittels eines Befehlsinterpreters vollständig zu verwalten.

SSH bietet die Möglichkeit, einen Verkehrstunnel zwischen dem Computer und dem Server zu erstellen und aufrechtzuerhalten, sodass eine sichere Verbindung hergestellt wird, während der Tunnel Daten über eine verschlüsselte Verbindung überträgt.

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

 /etc/ssh/sshd_config
Wir verbinden uns mit dem folgenden Befehl:
 ssh-Benutzer @ ip

Als nächstes bearbeiten wir die Datei und ändern den Port nach unserem Geschmack in einen anderen, der keinen Dienst stört, zum Beispiel 9200:

 nano / etc / ssh / sshd_config

Wir nehmen auf und wir starten SSH neu damit es die neue Konfiguration gemäß der Linux-Distribution übernimmt:

Fedora, Centos

 sbin / service sshd neu starten
Debian, Ubuntu
 /etc/init.d/sshd Neustart
Dann müssen wir wieder zugreifen, wir machen es wie folgt:
 ssh-Benutzer @ ip -p 9200
Dann blockieren wir Port 22 auf diese Weise, damit sie uns nicht scannen und einen Brute-Force-Angriff versuchen können.
 iptables -A AUSGABE -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 auf ein Computernetzwerk überwachen und steuern können, um Ressourcen oder einen 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 Datenverkehr im Netzwerk zirkuliert, aber auch den Inhalt und dessen Funktion überprüft.

Ein Beispiel ist Fail2Ban, eine unter Python entwickelte Anwendung zur Intrusion Prevention, es ist ein IPS, das automatisch reagiert, indem es Remoteverbindungen analysiert und blockiert, die einen Brute-Force-Zugriff versuchen.

Fail2ban verwendet nicht nur ein eigenes Protokoll der Zugriffsversuche, sondern verwendet auch Protokolle anderer Software wie iptables, die die Regeln angeben, um eine Sperre anwenden zu können.

Sie können vom Administrator erstellte Regeln verwenden oder neue nach Ihrer eigenen Konfiguration erstellen, zum Beispiel eine IP blockieren, auf die 3 Mal nicht zugegriffen wurde.

Wir können es von einem SSH-Fenster aus oder von seiner offiziellen Website herunterladen, wenn es in den Repositorys 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

Hier bearbeiten wir einige der wichtigsten Parameter

  • ignoreip: IP, die niemals blockiert wird.
  • bantime: Zeit in Sekunden, die die IP-Sperre dauert.
  • maxretry: maximale Anzahl fehlgeschlagener Zugriffsversuche, bevor sie blockiert wird.

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

 cd /etc/fail2ban/filter.d

Dieses Intrusion-Prevention-System wird es uns ermöglichen, viele Angriffe abzuwehren und so die allgemeine Sicherheit unserer VPS-Konfiguration zu erhöhen.

Fail2ban ist ein Dienst, der die Protokolldateien überwacht, um festzustellen, ob es sich bei einem Zugriff um einen legitimen Benutzer handelt, und um den Verkehr von der IP-Adresse des Benutzers, der auf einige Dienste zuzugreifen beabsichtigt, vorübergehend zu blockieren, sei es FTP, SSH, E-Mail, Netz usw.

Dies ist eine einfache Möglichkeit, Brute-Force-Methoden automatisch zu blockieren, da das Blockieren dazu führt, dass der Angriff so lange nicht mehr funktioniert, wie wir es angeben. Dies reicht normalerweise aus, um weitere Brute-Force-Versuche abzuschrecken.

Implementieren Sie a Intrusion Detection System oder IDS
Ein Intrusion Detection System (IDS) ist die obligatorische Ergänzung zu einem Intrusion Prevention System. Ein IDS erkennt Datei- oder Datensatzänderungen durch Ausführen von Vergleichen Anhand dieser zuvor registrierten Zustände können Sie feststellen, ob die Dateien geändert oder eine Konfiguration geändert wurde, und aufzuzeichnen, welcher Benutzer dies getan hat.

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

  • Hacker-Prävention und Sicherheitstools
Erdmännchen, das wir im Tutorial gesehen haben:
  • Suricata Eindringlingserkennungssystem
Tripwire, das wir im Tutorial gesehen haben:
  • Erhöhung der Sicherheit von Servern und Betriebssystemen.

Diese Tools verwenden eine Datenbank mit Systemdateien und schützen Konfigurationsdateien. Durch die Konfiguration von Regeln und Ausnahmen legen Sie fest, welche Dateien geschützt und gemeldet werden sollen, sodass Sie beim Starten der Überwachung des Systems die Ausführung und alle Änderungen der überwachten Dateien überprüfen können.

Alle Tools können so konfiguriert werden, dass sie von Zeit zu Zeit automatisch mit Cronjob überprüfen und bei ungewöhnlichen Aktivitäten sogar E-Mail-Benachrichtigungen implementieren.

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

 apt-get install snort

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

 cd / etc / schnauben / regeln

Schauen wir uns zum Beispiel die Datei an mysql.rules

 nano mysql.rules
Wo wir sehen, dass jeder externe oder Root-Benutzerzugriff auf den MySQL-Dienst informiert werden sollte.

Ein anderes Beispiel ist zum Beispiel die Überwachung von Chat-Programmen sowohl vom Server als auch von einem Computer im Netzwerk oder von einem externen Computer, der unseren Server verwendet.

 nano chat.regeln 

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

Suricata ist moderner als Snort und Tripwire, da es als Sniffer-Engine arbeitet, um den ein- und ausgehenden Datenverkehr eines Netzwerksystems zu analysieren. Es ist jedoch ressourcenintensiv, Eindringversuche zu analysieren und zu erkennen, indem man eine Doppelfunktion als IDS und IPS übernimmt.

Es hat auch Plugins, um Regeln zuzuweisen und viele Anwendungen und Programme zu analysieren. Suricata funktioniert auf allen Schichten des OSI-Modells.

Auf Viren und Malware prüfen mit Linux-Malware-Erkennung oder ClamAV
Obwohl Linux weniger anfällig für diese Art von Angriffen ist, ist es nicht immun gegen bösartige Software. Die Tools eines Sicherheitssystems in Verbindung mit der Implementierung eines IPS und eines IDS zur Erkennung von Eindringversuchen erfordern eine Software, die in der Lage ist, Malware zu suchen und zu erkennen, um Spuren von Aktivitäten zu identifizieren, die darauf hinweisen, dass auf dem System gefährliche Software installiert ist.

Im Linux Malware Detect (LMD)-Tutorial zum Sichern von Linux wurde die Installation und Verwendung dieses Tools zum Erkennen von Malware erklärt, verpassen Sie es nicht.

Es gibt eine Reihe von Malware-Scannern für Linux-Systeme, mit denen die Integrität von Servern 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 basierend auf ihrer Datenbank nach bekannten Malware-Signaturen zu suchen.

Es kann manuell für einmalige Scans ausgeführt werden und kann auch per Cronjob ausgeführt werden, um regelmäßige präventive Scans und Suchen durchzuführen, insbesondere um E-Mails und Dateien zu überprüfen, die per FTP auf den Server hochgeladen werden können. Berichte über diese Scans können per E-Mail an Serveradministratoren gesendet werden.

Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave