Wie man Netzwerk-Performance, Sicherheit und Fehlerbehebung in Linux überprüft – Teil 12

A sound analysis of a computer network begins by understanding what are the available tools to perform the task, how to pick the right one(s) for each step of the way, and last but not least, where to begin.

Dies ist der letzte Teil der LFCE (Linux Foundation Certified Engineer) Serie, hier werden wir einige bekannte Tools zur Untersuchung der Leistung und Erhöhung der Sicherheit eines Netzwerks überprüfen und was zu tun ist, wenn die Dinge nicht wie erwartet funktionieren.

Linux Foundation Certified Engineer – Part 12
Vorstellung des Linux Foundation Zertifizierungsprogramms

Bitte beachten Sie, dass diese Liste nicht den Anspruch erhebt, umfassend zu sein. Fühlen Sie sich frei, auf diesen Beitrag zu antworten und ein weiteres nützliches Dienstprogramm hinzuzufügen, das uns möglicherweise entgeht.

Welche Dienste laufen und warum?

Eines der ersten Dinge, die ein Systemadministrator über jedes System wissen muss, ist, welche Dienste laufen und warum. Mit diesen Informationen ist es ratsam, alle zu deaktivieren, die nicht unbedingt erforderlich sind, und zu vermeiden, zu viele Server auf demselben physischen Gerät zu hosten.

Zum Beispiel sollten Sie Ihren FTP-Server deaktivieren, wenn Ihr Netzwerk keinen benötigt (übrigens gibt es sicherere Methoden, um Dateien über ein Netzwerk zu teilen). Darüber hinaus sollten Sie vermeiden, einen Webserver und einen Datenbankserver im selben System zu haben. Wenn eine Komponente kompromittiert wird, besteht die Gefahr, dass auch die anderen kompromittiert werden.

Untersuchung von Socket-Verbindungen mit ss

ss wird verwendet, um Socket-Statistiken abzurufen und ähnliche Informationen wie netstat anzuzeigen, obwohl es mehr TCP- und Statusinformationen als andere Tools anzeigen kann. Außerdem wird es im man netstat als Ersatz für netstat aufgeführt, der veraltet ist.

In diesem Artikel werden wir uns jedoch ausschließlich auf die Informationen im Zusammenhang mit der Netzwerksicherheit konzentrieren.

Beispiel 1: Anzeigen ALLER TCP-Ports (Sockets), die auf unserem Server geöffnet sind

Alle Dienste, die auf ihren Standardports ausgeführt werden (d. h. http auf 80, mysql auf 3306), werden durch ihre jeweiligen Namen angezeigt. Andere (hier aus Datenschutzgründen verdeckt) werden in ihrer numerischen Form angezeigt.

# ss -t -a
Check All Open TCP Ports

Die erste Spalte zeigt den TCP-Zustand an, während die zweite und dritte Spalte die Menge der Daten anzeigen, die derzeit für den Empfang und die Übertragung in der Warteschlange stehen. Die vierte und fünfte Spalte zeigen die Quell- und Ziel-Sockets jeder Verbindung an.
Übrigens sollten Sie vielleicht einen Blick auf RFC 793 werfen, um Ihr Gedächtnis über mögliche TCP-Zustände aufzufrischen, da Sie auch die Anzahl und den Zustand der offenen TCP-Verbindungen überprüfen müssen, um sich über (D)DoS-Angriffe im Klaren zu werden.

Beispiel 2: Anzeigen ALLER aktiven TCP-Verbindungen mit ihren Timern
# ss -t -o
Check all Active Connections

In der obigen Ausgabe können Sie sehen, dass es 2 etablierte SSH-Verbindungen gibt. Wenn Sie den Wert des zweiten Feldes von timer: bemerken, werden Sie einen Wert von 36 Minuten in der ersten Verbindung feststellen. Das ist die Zeit, bis die nächste Keepalive-Sonde gesendet wird.

Da es sich um eine Verbindung handelt, die aufrechterhalten wird, können Sie sicher davon ausgehen, dass es sich um eine inaktive Verbindung handelt und daher den Prozess nach Ermittlung seiner PID beenden können.

Kill Active Process

Was die zweite Verbindung betrifft, können Sie sehen, dass sie derzeit verwendet wird (wie durch on angezeigt).

Beispiel 3: Filtern von Verbindungen nach Socket

Angenommen, Sie möchten TCP-Verbindungen nach Socket filtern. Aus der Sicht des Servers müssen Sie nach Verbindungen suchen, bei denen der Quellport 80 ist.

# ss -tn sport = :80

Was dazu führt..

Filter Connections by Socket

Schutz vor Port-Scans mit NMAP

Port-Scannen ist eine häufig verwendete Technik von Crackern, um aktive Hosts und offene Ports in einem Netzwerk zu identifizieren. Sobald eine Schwachstelle entdeckt wird, wird sie ausgenutzt, um Zugriff auf das System zu erhalten.

A wise sysadmin needs to check how his or her systems are seen by outsiders, and make sure nothing is left to chance by auditing them frequently. That is called “defensive port scanning”.

Beispiel 4: Anzeigen von Informationen zu offenen Ports

Sie können den folgenden Befehl verwenden, um zu scannen, welche Ports auf Ihrem System oder auf einem Remote-Host geöffnet sind:

# nmap -A -sS [IP address or hostname]

Der obige Befehl wird den Host auf OS– und Version-Erkennung, Portinformationen und Traceroute (-A) scannen. Schließlich sendet -sS einen TCP SYN-Scan, der nmap daran hindert, den 3-Wege-TCP-Handshake abzuschließen und somit in der Regel keine Protokolle auf dem Zielrechner hinterlässt.

Bevor Sie mit dem nächsten Beispiel fortfahren, denken Sie bitte daran, dass Port-Scannen keine illegale Aktivität ist. Was illegal ist, ist die Verwendung der Ergebnisse für bösartige Zwecke.

Zum Beispiel gibt die Ausgabe des obigen Befehls, der gegen den Hauptserver einer lokalen Universität ausgeführt wird, folgendes zurück (nur ein Teil des Ergebnisses wird aus Gründen der Kürze gezeigt):

Check Open Ports

Wie Sie sehen können, haben wir mehrere Anomalien entdeckt, die wir den Systemadministratoren an dieser lokalen Universität melden sollten.

Diese spezielle Port-Scan-Operation liefert alle Informationen, die auch mit anderen Befehlen abgerufen werden können, wie:

Beispiel 5: Anzeige von Informationen zu einem bestimmten Port in einem lokalen oder entfernten System
# nmap -p [port] [hostname or address]
Beispiel 6: Anzeigen des Traceroute zu und Ermitteln der Version von Diensten und Betriebssystemtyp, Hostnamen
# nmap -A [hostname or address]
Beispiel 7: Scannen mehrerer Ports oder Hosts gleichzeitig

Sie können auch mehrere Ports (Bereich) oder Subnetze scannen, wie folgt:

# nmap -p 21,22,80 192.168.0.0/24 

Hinweis: Dass der obige Befehl die Ports 21, 22 und 80 auf allen Hosts in diesem Netzwerksegment scannt.

Sie können die man page für weitere Details dazu konsultieren, wie andere Arten von Portscans durchgeführt werden. Nmap ist tatsächlich ein sehr leistungsfähiges und vielseitiges Netzwerk-Mapping-Dienstprogramm, und Sie sollten sehr gut damit vertraut sein, um die Systeme, für die Sie verantwortlich sind, gegen Angriffe zu verteidigen, die nach einem bösartigen Portscan von Außenstehenden ausgehen.

Source:
https://www.tecmint.com/audit-network-performance-security-and-troubleshooting-in-linux/