Simple Network Management Protocol SNMP
De nos jours, la plupart des périphériques réseau utilisent SNMP pour la surveillance à distance et la configuration. SNMP est un protocole simple généralement utilisée pour créer un logiciel de surveillance qui peut récupérer des informations telles que le trafic du réseau, la charge CPU, charge de disque, etc, et aussi de modifier la configuration de périphériques tels que les équipements sans fil, routeurs large bande, etc
La plupart des implémentations SNMP sur ces types de périphériques réseau utiliser la version 1 ou version 2, qui ont une méthode très faible d'authentification. SNMP version 1 contient une série de bugs dans les pièges de manière SNMP et des messages demandes sont traitées et décodées qui peut être exploité de multiples façons, d'un déni de service à la réécriture de la configuration.
SNMP versions 1 et 2 chaînes de communauté utiliser pour l'authentification.
Ces documents sont transmis sur le port UDP 161 en clair, de sorte qu'il est très facile pour un homme du milieu pour renifler les chaînes communautaires. Lorsque vous configurez SNMP sur un périphérique (y compris une boîte de Linux), vous devez créer deux chaînes de la communauté: l'une qui a accès en lecture seule et que le défaut est "public", et qui a accès en lecture-écriture et de la valeur par défaut est «privé». Si vous ne changez pas les communautés pour les appareils compatibles SNMP, il est très facile en l'absence d'un pare-feu pour voir leur configuration et le changer.
Cela est très dangereux pour les appareils et le réseau, donc voici ce que vous devriez essayer de faire:
- Essayez de ne pas utiliser SNMP, à moins que vous devez.
- Autant que possible, l'utilisation de SNMP version 3, qui a une authentification en mode utilisateur et peut faire de cryptage.
- En tout cas, si vous utiliser SNMP, changer les communautés par défaut.
- Créer un bon pare-feu sur l'appareil ou sur un périphérique en face de lui, n'autorisant que les hôtes de confiance pour se connecter en utilisant SNMP.
Par exemple, un routeur Cisco fonctionnant avec SNMP avec la chaîne de communauté «public», révèle toute sa configuration en cours d'exécution, y compris les noms d'utilisateurs et mots de passe ainsi que le enable secret et mot de passe. Si le routeur est la communauté SNMP "privé" pour l'accès en écriture, vous pouvez modifier absolument tout dans la configuration. Plus que cela, la plupart des routeurs Cisco ont SNMP activé par défaut avec les communautés par défaut et sans filtres.
Open Secure Sockets Layer (OpenSSL)
La bibliothèque OpenSSL est le choix le plus populaire pour les applications qui ont besoin de soutien cryptographique des communications en réseaux. De telles applications sont Apache (connexions HTTP sécurisé), Sendmail, OpenLDAP, OpenSSH, etc
Des vulnérabilités dans une version de la bibliothèque OpenSSL affectent toutes les applications qui les utilisent et peuvent être exploitées par ces. Selon les fonctions utilisées par l'application, les vulnérabilités dans OpenSSL peuvent être exploitées par l'application d'exécuter du code arbitraire sur le serveur ou même pour obtenir les privilèges root.
OpenSSL avait plusieurs vulnérabilités dans le passé qui a fait beaucoup de dommages aux serveurs exécutant les applications compilées avec le support OpenSSL, notamment Apache, Sendmail et OpenSSH. Dans le cas de Sendmail, un exploit qui a donné les droits root agresseur a été publiée sur les listes de diffusion de sécurité.
Pour rester protégé, envisager les mesures suivantes:
- Identifier la version OpenSSL sur chacun des serveurs qui a les bibliothèques installées. Vérifiez si vous avez la dernière version et si votre version d'OpenSSL a vulnérabilités exploitables à distance.
- Mettez à jour votre bibliothèque OpenSSL pour la dernière version sur le site d'OpenSSL http://www.openssl.org.
- Identifier les applications qui utilisent la bibliothèque OpenSSL, et si elles nécessitent une recompilation en raison de la mise à niveau, les recompiler à utiliser les nouvelles bibliothèques.
Si les applications utilisant OpenSSL ne nécessitent pas de connexions de tout le monde, créer un bon pare-feu pour permettre les connexions provenant de sites de confiance.
Protégez Running Services General Discussion
Un travail de l'administrateur réseau est de maintenir le réseau en cours d'exécution et sécuritaires. Il existe des services qui ne dépendent pas de lui ou d'elle; par exemple un serveur web pourrait être géré par un webmaster. Les étapes décrites ici vous feraient sentir plus en sécurité. Nous continuerons sur notre lancée en testant effectivement ces procédures sur une machine Linux afin de vous faire une meilleure idée.
1. Identifier les services qui s'exécutent sur chaque système. Plus important encore, d'identifier les ports ouverts et les services qui les a ouverts.
2. Vérifiez la version actuelle de tous les services en cours d'exécution. Mise à jour vers la dernière version du logiciel. Recherche de vulnérabilités pour le service à sa page d'accueil et à http://nvd.nist.gov/.
3. Vérifier les configurations, et, quand on peut, de créer un logiciel basé sur des listes d'accès pour n'autoriser que des hôtes de confiance pour utiliser ce service. Essayez de changer les noms d'utilisateurs et mots de passe par défaut à chaque fois. Si vous pouvez lancer le logiciel dans une prison chroot, faites-le.
4. Si le service ne nécessite pas l'accès de partout, créer un pare-feu pour limiter l'accès uniquement à des hôtes de confiance.
5. Audit de votre réseau! Essayez d'accéder à votre réseau. Se connecter à votre réseau comme un outsider et tester tous les services en cours d'exécution contre les exploits connus. Recherche des outils de pirates et de les utiliser contre votre propre réseau pour voir ce qui se passe.
6. Créer des journaux pour les demandes d'authentification. Également essayer d'utiliser un système de détection d'intrusion réseau tel que Snort, disponible à http://www.snort.org, qui produit des fichiers de log vraiment bon.
Pas toutes les étapes sont requises pour chaque service qui s'exécute dans votre réseau, par exemple, il ya des services pour lesquels vous autorisez uniquement les connexions depuis localhost et c'est tout.
Jetons un coup d'oeil à l'une des machines Linux dans mon réseau. Pour des raisons de sécurité, je vais échanger les adresses IP à partir du monde réel avec des adresses IP réservées.
1. Je vais d'abord identifier les ports TCP ouverts sur le serveur:
root @ routeur: ~ # netstat-an
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale Adresse distante État
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
Donc, nous avons les ports TCP 179, 2601, et 2605 à l'écoute. Pour moi, ceux qui sont très bien connus des ports, mais si je les oublie, il nous faut voir quels sont les services ouvert ces ports:
root @ routeur: ~ # fuser-TCP n 2601 2605 179
2601/tcp: 1520
2605/tcp: 1521
179/tcp: 1521
root @ routeur: ~ # ps ax | grep-E "(1520 | 1521)"
|
Zebra est un logiciel sous Linux routage qui connaît les protocoles de routage comme BGP, OSPF, RIPv1, et RIPv2. Dans ce cas, j'utilise zèbre pour les connexions BGP. Le processus est bgpd pour faire des connexions BGP, et le processus de Zebra est responsable de l'ajout d'itinéraires ont reçu des voisins dans le noyau Linux. |
- Let's identifier les versions:
root @ routeur: ~ # zebra-v
Zebra version 0.95 ()
Copyright 1996-2001, Kunihiro Ishiguro
root @ routeur: ~ # bgpd-v
bgpd version 0.95 ()
Copyright 1996-2001, Kunihiro Ishiguro
Les vulnérabilités les plus récentes pour Zebra étaient en version 0.93b; knownvulnerabilities donc pas ici.
3. L'étape suivante consiste à configurer le logiciel. Zebra, le port 2601 est pour son interface ligne de commande, qui est très semblable à un routeur Cisco. De même avec le BGP pour le port 2605.
- Le routeur dispose de connexions BGP avec 10.10.10.1, 10.10.11.13, et avec 10.10.15.1. Ce que nous voulons faire, c'est de refuser l'accès sur le port TCP 179, qui est utilisé pour les connexions BGP, à personne, sauf les adresses IP. Aussi, nous voulons doubler la protection que nous avons créé avec le logiciel de base de listes d'accès pour les zèbres et les bgpd, et permettent uniquement le serveur localhost pour vous connecter au Zèbre et VTYs son protocole de routage.
- 5. Comme nous n'avons pas de logiciel pour les vulnérabilités connues, ce que nous pouvons faire est de tester et voir si notre pare-feu fonctionne:
root @ routeur: ~ # telnet 127.0.0.1 2601
Trying 127.0.0.1 ...
Connecté à 127.0.0.1.
Escape character is'^]'.
Bonjour, ceci est zebra (version 0.95).
Copyright 1996-2004 Kunihiro Ishiguro.
User Access Verification
Mot de passe:
root @ routeur: ~ # telnet 127.0.0.1 2605
Trying 127.0.0.1 ...
Connecté à 127.0.0.1.
Escape character is'^]'.
Bonjour, ceci est zebra (version 0.95).
Copyright 1996-2004 Kunihiro Ishiguro.
User Access Verification
Mot de passe:
voir si nous pouvons le faire à partir d'autres endroits:
routeur-2: ~ # telnet 10.10.10.22 2601
Trying 10.10.10.22 ...
telnet: Impossible de se connecter à l'hôte distant: Connection refused
routeur-2: ~ # telnet 10.10.10.22 2605
Trying 10.10.10.22 ...
telnet: Impossible de se connecter à l'hôte distant: Connection refused
Bien! Nous ne pouvons pas connecter de n'importe où sauf sur localhost, l'indicateur composite avancé de zèbres et bgpd. Maintenant, nous devons essayer de se connecter sur le port TCP 179 de l'un des voisins BGP:
routeur-2: ~ # telnet 10.10.10.22 179
Trying 10.10.10.22 ...
Connected to 10.10.10.22.
Escape character is'^]'.
un article présenté par Philip A Clare
Disclaimer:Notre site n'est pas responsable du contenu de cet article. Webarticles est une ressource d'information gratuite.
Important: Cet article «Simple Network Management Protocol SNMP" a été traduit par un logiciel automatique. Nous nous sentons désolés pour les fautes d'orthographe que mai ont eu lieu. Nous vous remercions de votre compréhension.