Prüfen der Netzwerkleistung, -sicherheit und -problembehandlung unter Linux - Teil 12
Eine solide Analyse eines Computernetzwerks beginnt damit, zu verstehen, welche Werkzeuge zur Ausführung der Aufgabe zur Verfügung stehen, wie man die richtigen Werkzeuge für jeden Schritt auswählt und nicht zuletzt, wo man anfangen soll.
Dies ist der letzte Teil der LFCE-Serie (Linux Foundation Certified Engineer), hier werden wir einige bekannte Tools überprüfen, um die Leistung zu untersuchen und die Sicherheit eines Netzwerks zu erhöhen, und was zu tun ist, wenn die Dinge nicht wie erwartet laufen.
Einführung in das Zertifizierungsprogramm der Linux Foundation
Bitte beachten Sie, dass diese Liste nicht den Anspruch erhebt, vollständig zu sein, also zögern Sie nicht, diesen Beitrag über das Formular unten zu kommentieren, wenn Sie ein weiteres nützliches Dienstprogramm hinzufügen möchten, das uns möglicherweise fehlen könnte.
Welche Dienste werden ausgeführt und warum?
Eines der ersten Dinge, die ein Systemadministrator über jedes System wissen muss, ist, welche Dienste ausgeführt werden und warum. Mit diesen Informationen in der Hand ist es eine kluge Entscheidung, alle zu deaktivieren, die nicht unbedingt erforderlich sind, und es zu vermeiden, zu viele Server auf demselben physischen Computer zu hosten.
Zum Beispiel müssen Sie Ihren FTP-Server deaktivieren, wenn Ihr Netzwerk keinen benötigt (es gibt übrigens sicherere Methoden, um Dateien über ein Netzwerk freizugeben). Darüber hinaus sollten Sie vermeiden, einen Webserver und einen Datenbankserver im selben System zu haben. Wenn eine Komponente kompromittiert wird, laufen die anderen Gefahr, ebenfalls kompromittiert zu werden.
Untersuchen von Socket-Verbindungen mit ss
ss wird verwendet, um Socket-Statistiken auszugeben und zeigt ähnliche Informationen wie netstat an, obwohl es mehr TCP- und Statusinformationen anzeigen kann als andere Tools. Darüber hinaus ist es in man netstat als Ersatz für netstat aufgeführt, das veraltet ist.
In diesem Artikel konzentrieren wir uns jedoch nur auf die Informationen, die sich auf die Netzwerksicherheit beziehen.
Beispiel 1: Anzeigen ALLER TCP-Ports (Sockets), die auf unserem Server geöffnet sind
Alle Dienste, die auf ihren Standardports laufen (z. B. http auf 80, mysql auf 3306), werden mit ihren jeweiligen Namen gekennzeichnet. Andere (hier aus Datenschutzgründen verborgen) werden in numerischer Form angezeigt.
# ss -t -a
In der ersten Spalte wird der TCP-Status angezeigt, während in der zweiten und dritten Spalte die Datenmenge angezeigt wird, die sich derzeit für den Empfang und die Übertragung in der Warteschlange befindet. Die vierte und fünfte Spalte zeigen die Quell- und Ziel-Sockets jeder Verbindung.
Nebenbei bemerkt, möchten Sie vielleicht RFC 793 überprüfen, um Ihr Gedächtnis über mögliche TCP-Zustände aufzufrischen, da Sie auch die Anzahl und den Status offener TCP-Verbindungen überprüfen müssen, um auf (D)DoS-Angriffe aufmerksam zu werden.
Beispiel 2: Anzeige ALLER aktiven TCP-Verbindungen mit ihren Timern
# ss -t -o
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, bemerken Sie einen Wert von 36 Minuten in der ersten Verbindung. Das ist die Zeitspanne, bis der nächste Keepalive-Test gesendet wird.
Da es sich um eine Verbindung handelt, die am Leben erhalten wird, können Sie mit Sicherheit davon ausgehen, dass es sich um eine inaktive Verbindung handelt, und können daher den Prozess beenden, nachdem Sie seine PID herausgefunden haben.
Was die zweite Verbindung betrifft, so 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 Sicht des Servers müssen Sie nach Verbindungen suchen, bei denen der Quellport 80 ist.
# ss -tn sport = :80
Ergebend..
Schutz vor Port-Scanning mit NMAP
Port-Scanning ist eine gängige Technik, die von Crackern verwendet wird, 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.
Ein kluger Systemadministrator muss überprüfen, wie seine Systeme von Außenstehenden gesehen werden, und sicherstellen, dass nichts dem Zufall überlassen wird, indem er sie regelmäßig überprüft. Das nennt man "defensives Port-Scanning".
Beispiel 4: Anzeigen von Informationen über offene Ports
Mit dem folgenden Befehl können Sie überprüfen, welche Ports auf Ihrem System oder auf einem Remote-Host geöffnet sind:
# nmap -A -sS [IP address or hostname]
Mit dem obigen Befehl wird der Host auf Betriebssystem- und Versionserkennung, Portinformationen und Traceroute (-A) überprüft. Schließlich sendet -sS einen TCP-SYN-Scan, der verhindert, dass nmap den 3-Wege-TCP-Handshake abschließt und somit typischerweise keine Protokolle auf dem Zielrechner hinterlässt.
Bevor Sie mit dem nächsten Beispiel fortfahren, denken Sie bitte daran, dass das Scannen von Ports keine illegale Aktivität ist. Was illegal ist, ist die Verwendung der Ergebnisse für einen böswilligen Zweck.
Zum Beispiel gibt die Ausgabe des obigen Befehls, der auf dem Hauptserver einer lokalen Universität ausgeführt wird, Folgendes zurück (nur ein Teil des Ergebnisses wird der Kürze halber angezeigt):
Wie Sie sehen können, haben wir einige Anomalien entdeckt, die wir den Systemadministratoren dieser lokalen Universität melden sollten.
Dieser spezielle Port-Scan-Vorgang stellt alle Informationen bereit, die auch durch andere Befehle abgerufen werden können, wie z. B.:
Beispiel 5: Anzeigen von Informationen zu einem bestimmten Port in einem lokalen oder Remote-System
# nmap -p [port] [hostname or address]
Beispiel 6: Anzeigen von Traceroute zu und Ermitteln der Version von Diensten und Betriebssystemtyp, Hostname
# nmap -A [hostname or address]
Beispiel 7: Mehrere Ports oder Hosts gleichzeitig scannen
Sie können auch mehrere Ports (Bereich) oder Subnetze wie folgt scannen:
# 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 auf der Manpage nachsehen, wie Sie andere Arten von Port-Scans durchführen können. Nmap ist in der Tat ein sehr leistungsfähiges und vielseitiges Netzwerk-Mapper-Dienstprogramm, und Sie sollten damit sehr gut vertraut sein, um die Systeme, für die Sie verantwortlich sind, gegen Angriffe zu verteidigen, die nach einem böswilligen Port-Scan durch Außenstehende ausgelöst wurden.





