Simple Network Management Protocol SNMP

Heutzutage verwenden die meisten SNMP-Netzwerk-Geräten für die Fernüberwachung und Konfiguration. SNMP ist ein einfaches Protokoll in der Regel zur Erstellung von Monitoring-Software, die Informationen wie Netzwerk-Traffic, CPU-Auslastung, Festplatte laden, usw. abrufen kann, und auch die Konfiguration von Geräten wie Wireless-Geräten zu ändern, Breitband-Router, etc.
Die meisten SNMP-Implementierungen, die auf diese Art von Netzwerk-Geräten die Version 1 oder Version 2, die eine sehr schwache Authentifizierung Methode zu haben. SNMP Version 1 enthält eine Reihe von Fehlern in der Art, SNMP-Traps und Anfragen behandelt werden Nachrichten und entschlüsselt, die in vielfältiger Weise genutzt werden können, von Denial of Service "neu zu schreiben die Konfiguration.
SNMP-Versionen 1 und 2 verwenden Community-Strings für die Authentifizierung.

  

Diese basieren auf den UDP-Port 161 unverschlüsselt gesendet, so ist es sehr einfach für einen Mann in der Mitte zu den Community-Strings schnuppern. Beim Einrichten von SNMP auf einem Gerät (einschließlich einer Linux-Box), müssen Sie zwei Community-Strings: eine, die nur gelesen hat, Zugang und der Standard ist "public", und eines, das gelesen hat, Schreib-Zugriff und der Standard ist "private". Wenn Sie nicht ändern, die Gemeinden, um SNMP-fähige Geräte, ist es sehr einfach in das Fehlen einer Firewall, um ihre Konfiguration anzeigen und ändern.
Das ist sehr gefährlich für die Geräte und das Netzwerk, so ist hier, was Sie zu tun versuchen sollte:

  • Versuchen Sie nicht, SNMP verwenden, es sei denn, Sie haben.
  • Wann immer möglich, verwenden Sie SNMP Version 3, die Benutzer-Modus-Authentifizierung und Verschlüsselung.
  • In jedem Fall, wenn Sie SNMP, ändern Sie die Standard-Gemeinden.
  • Erstellen Sie eine richtige Firewall auf dem Gerät oder auf einem Gerät vor sich her, so dass nur vertrauenswürdige Hosts sich zu verbinden mit SNMP.

Zum Beispiel, einem Cisco-Router läuft mit der SNMP-Community-String "public" zeigt die gesamte Konfiguration ausgeführt, einschließlich Benutzernamen und Passwörter sowie der damit geheime und Passwort an. Wenn der Router die SNMP-Community "privat" für den schreibenden Zugriff hat, können Sie ändern, absolut alles in der Konfiguration. Mehr als das, haben die meisten SNMP-fähigen Cisco-Routern standardmäßig mit dem Standard-Gemeinden und ohne Filter.

Open Secure Sockets Layer (OpenSSL)

Die OpenSSL-Bibliothek ist die beliebteste Wahl für Anwendungen, die kryptographische Unterstützung in der Netzkommunikation müssen. Solche Anwendungen sind Apache HTTP (sichere Verbindungen), Sendmail, OpenLDAP, OpenSSH, etc.
Sicherheitslücken in einer Version der OpenSSL-Bibliotheken betreffen alle Anwendungen, die sie benutzen und können durch diese genutzt werden. Je nach den Funktionen der Anwendung verwendet werden kann, Schwachstellen in OpenSSL durch die Anwendung ausnutzen, um beliebigen Code auf dem Server ausgeführt werden oder sogar Root-Rechte zu erhalten.
OpenSSL hatte eine Reihe von Schwachstellen in der Vergangenheit, dass viele Schäden an Servern, Anwendungen mit OpenSSL-Unterstützung kompiliert wurde, hat vor allem Apache, Sendmail und OpenSSH. Im Fall von Sendmail, ein Exploit, gab der Angreifer Root-Rechte auf Sicherheits-Mailinglisten veröffentlicht.
Um geschützt zu sein, sollten Sie Folgendes beachten:

  • Identifizieren Sie die OpenSSL-Version auf jedem der Server, dass die Bibliotheken installiert ist. Überprüfen Sie, ob Sie die neueste Version haben und wenn Ihre Version von OpenSSL hat das Netzwerk ausnutzbare Schwachstellen.
  • Aktualisieren Sie Ihren OpenSSL-Bibliothek auf die neueste Version aus dem OpenSSL-Website unter http://www.openssl.org.
  • Identifizieren von Anwendungen, die OpenSSL-Bibliothek, und wenn sie erfordern eine Neukompilierung wegen der Aktualisierung, neu kompilieren sie an die neuen Bibliotheken zu nutzen.

Sind Anwendungen mit OpenSSL benötigen keine Verbindungen von allen, eine richtige Firewall zu errichten, damit Verbindungen nur von vertrauenswürdigen Sites.

Schützen Running Services General Discussion

Ein Netzwerk-Administrator hat die Aufgabe, das Netzwerk am Laufen zu halten und sicher. Es gibt Dienstleistungen, die nicht abhängig von ihm oder ihr zum Beispiel einen Web-Server konnte von einem Webmaster verwaltet werden. Die hier skizzierten Maßnahmen würden Sie sich sicherer fühlen. Wir werden diese Follow-up von tatsächlich testet diese Schritte auf einer Linux-Box, so dass Sie eine bessere Idee.
1. Viren und Dienste, die auf jedem System. Am wichtigsten ist, zu identifizieren, offene Ports und die Dienste, die sie eröffnet.
2. Überprüfen Sie, ob alle laufenden Dienst der aktuellen Version. Update auf die neueste Software-Version. Suche nach Schwachstellen für den Dienst auf seiner Homepage und an http://nvd.nist.gov/.
3. Überprüfen Sie die Konfigurationen und, wenn Sie können, erstellen Software-basierten Access-Listen, damit Sie nur vertrauenswürdigen Hosts zu diesem Dienst zu verwenden. Ändern Sie Standard-Benutzernamen und Passwörter jedes Mal, wenn. Wenn Sie die Software in einer chroot-Umgebung ausführen, tun Sie es.
4. Wenn der Dienst kein Zugriff von überall, erstellen Sie eine Firewall, um den Zugriff nur auf vertrauenswürdigen Hosts zu begrenzen.
5. Audit your network! Versuchen Sie, in Ihrem Netzwerk zu hacken. Verbindung zu Ihrem Netzwerk als Außenseiter und testen Sie alle laufenden Dienste vor bekannten Exploits. Suche nach Hacker-Tools, um sie gegen das eigene Netzwerk, um zu sehen, was passiert.

Nicht alle Schritte sind für jeden Dienst erforderlich, dass in Ihrem Netzwerk läuft, zum Beispiel gibt es einige Dienstleistungen, für die Sie erlauben nur Verbindungen von localhost und das ist es.
Werfen wir einen Blick auf eines der Linux-Rechner in meinem Netzwerk. Aus Sicherheitsgründen werde ich die IP-Adressen für kommerzielle Zwecke aus der realen Welt mit reservierten IP-Adressen.

1. Zuerst will ich ermitteln geöffneten TCP-Ports auf dem Server:


root @ router: ~ # netstat-an
Aktive Internetverbindungen (Server und etablierte)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:2601 0.0.0.0: * LISTEN
tcp 0 0 0.0.0.0:2605 0.0.0.0: * LISTEN
tcp 0 0 0.0.0.0:179 0.0.0.0: * LISTEN

So haben wir die TCP-Ports 179, 2601 und 2605 hören. Für mich sind die sehr bekannten Ports, aber wenn ich sie vergessen, müssen wir sehen, welche Dienste diese Ports geöffnet:

root @ router: ~ # fuser-n tcp 2601 2605 179
2601/tcp: 1520
2605/tcp: 1521
179/tcp: 1521
root @ router: ~ # ps ax | grep-E "(1520 | 1521)"

Zebra ist Linux-Routing-Software, die Routing-Protokolle wie BGP, OSPF, RIPv1 und RIPv2 kennt. In diesem Fall verwende ich Zebra für BGP-Verbindungen. Die bgpd Prozess zur Herstellung von BGP-Verbindungen und das Zebra-Prozess ist für das Hinzufügen von Routen von Nachbarn in der Linux-Kernel erhalten verantwortlich.

  • Let's Ermittlung der Versionen:

root @ router: ~ # Zebra-v
Zebra-Version 0,95 ()
Copyright 1996-2001, Kunihiro Ishiguro
root @ router: ~ # bgpd-v
bgpd Version 0.95 ()
Copyright 1996-2001, Kunihiro Ishiguro

Die letzten Lücken für Zebra wurden in der Version 0.93b, so dass keine knownvulnerabilities hier.
3. Der nächste Schritt ist die Konfiguration der Software. Für Zebra, ist Port 2601 für die Kommandozeilen-Interface, das ist sehr ähnlich wie bei einem Cisco-Router. Das gleiche mit der BGP für Port 2605.

  • Der Router verfügt über BGP-Verbindungen mit 10.10.10.1, 10.10.11.13, und mit 10.10.15.1. Was wir wollen, ist, verweigern Sie den Zugriff auf den TCP-Port 179, der für BGP-Verbindungen verwendet wird, für jede Person, mit Ausnahme der IP-Adressen. Außerdem möchten wir auf den Schutz haben wir mit der Software-basierten Access-Listen für Zebras und bgpd Doppel-, und lassen Sie nur localhost auf die Zebra und seine Routing-Protokolls VTYs Verbindung zu treten.
  • 5. Da wir keine Software für bekannte Lücken haben, was wir tun können, ist zu testen und zu sehen, ob unsere Firewall arbeitet:

root @ router: ~ # telnet 127.0.0.1 2601
Trying 127.0.0.1 ...
Connected to 127.0.0.1.
Escape character is'^]'.
Hallo, dies ist Zebra (Version 0.95).
Copyright 1996-2004 Kunihiro Ishiguro.
User Access Verification
Passwort:
root @ router: ~ # telnet 127.0.0.1 2605
Trying 127.0.0.1 ...
Connected to 127.0.0.1.
Escape character is'^]'.
Hallo, dies ist Zebra (Version 0.95).
Copyright 1996-2004 Kunihiro Ishiguro.
User Access Verification
Passwort:

sehen, wenn wir dies von anderen Orten zu tun:

Router-2: ~ # telnet 10.10.10.22 2601
Trying 10.10.10.22 ...
telnet: Unable, sich auf remote Host zu verbinden: Connection refused
Router-2: ~ # telnet 10.10.10.22 2605
Trying 10.10.10.22 ...
telnet: Unable, sich auf remote Host zu verbinden: Connection refused

Gut! Wir können nicht von überall außer localhost auf dem CLI Zebras und bgpd. Nun sollten wir versuchen, auf TCP-Port 179 von einem der BGP Nachbarn in Verbindung zu treten:

Router-2: ~ # telnet 10.10.10.22 179
Trying 10.10.10.22 ...
Zu 10.10.10.22 Connected.
Escape character is'^]'.

Ein Artikel eingereicht von Philip A Clare


Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle.
Wichtig: Dieser Artikel "Simple Network Management Protocol SNMP" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.


Online: 247 users browsing the articles directory