Simple Network Management Protocol SNMP
En estos días, la mayoría de dispositivos de red utilizar SNMP para monitoreo remoto y la configuración. SNMP es un protocolo simple que se usa generalmente para crear software de supervisión que puede recuperar la información, tales como el tráfico de red, carga de la CPU, la carga del disco, etc, y también para modificar la configuración de dispositivos como los equipos inalámbricos, enrutadores de banda ancha, etc
La mayoría de las implementaciones de SNMP en los tipos de dispositivos de red utilizan la versión 1 o la versión 2, que tienen un método de autenticación muy débil. SNMP versión 1 contiene una serie de errores en las trampas de manera SNMP y peticiones mensajes son manipulados y decodificados que pueden ser explotados de muchas maneras, desde la denegación de servicio a la reescritura de la configuración.
SNMP versiones 1 y 2 cadenas de comunidad para la autenticación.
Estos son enviados en el puerto UDP 161 sin codificar, así que es muy fácil para un hombre en el medio para oler las cadenas de comunidad. Al configurar SNMP en un dispositivo (como una caja de Linux), debe configurar dos cadenas de la comunidad: uno que tiene acceso de sólo lectura y el valor por defecto es "público", y que tiene acceso de lectura-escritura y el valor por defecto es "privado". Si no cambian las comunidades a los dispositivos habilitados para SNMP, es muy fácil en la ausencia de un servidor de seguridad para ver su configuración y cambiarla.
Esto es muy peligroso para los dispositivos y la red, de modo que esto es lo que debe hacer:
- Trate de no utilizar SNMP, a menos que usted tenga que hacerlo.
- Siempre que sea posible, utilizar SNMP versión 3, que ha modo de autenticación de usuario y puede hacer de cifrado.
- En cualquier caso, si se utiliza SNMP, el cambio de las comunidades por defecto.
- Crear un servidor de seguridad adecuado en el dispositivo o en un dispositivo frente a ella, permitiendo que sólo los hosts de confianza para conectarse a través de SNMP.
Open Secure Sockets Layer (OpenSSL)
La librería OpenSSL es la opción más popular para aplicaciones que necesitan el apoyo de cifrado en las comunicaciones de red. Estas aplicaciones son Apache (conexiones HTTP seguro), Sendmail, OpenLDAP, OpenSSH, etc
Vulnerabilidades en una versión de las bibliotecas de OpenSSL afectan a todas las aplicaciones que los utilizan y pueden ser explotados a través de estos. Dependiendo de las funciones utilizadas por la aplicación, las vulnerabilidades en OpenSSL puede ser explotado a través de la aplicación para ejecutar código arbitrario en el servidor, o incluso para obtener privilegios de root.
OpenSSL había algunas vulnerabilidades en el pasado que hizo mucho daño a los servidores que ejecutan aplicaciones compiladas con soporte para OpenSSL, especialmente Apache, Sendmail y OpenSSH. En el caso de Sendmail, una hazaña que le dio los privilegios de root atacante fue publicado en las listas de correo de seguridad.
Para mantenerse protegido, considere lo siguiente:
- Identificar la versión de OpenSSL en cada uno de los servidores de las bibliotecas que se ha instalado. Compruebe si usted tiene la última versión y de si su versión de OpenSSL ha vulnerabilidades explotables de forma remota.
- Actualice su biblioteca OpenSSL para la última versión del sitio web de OpenSSL en http://www.openssl.org.
- Identificar las aplicaciones que utilizan la biblioteca OpenSSL, y si requieren recompilación debido a la actualización, volver a compilar a utilizar las nuevas bibliotecas.
Si las aplicaciones que utilizan OpenSSL no requieren de conexiones de todo el mundo, crear un firewall para permitir conexiones sólo de sitios de confianza.
Proteger Running Servicios General Discussion
El trabajo de un administrador de red es mantener la red funcionando y segura. Hay servicios que no dependen de él o ella, por ejemplo un servidor web puede ser administrado por un webmaster. Los pasos descritos aquí te hará sentir más seguro. Vamos a seguir por esta realidad, poner a prueba estos pasos en una máquina Linux para que tengas una mejor idea.
1. Identificar los servicios que se ejecutan en cada sistema. Más importante aún, identificar los puertos abiertos y los servicios que se abrió.
2. Compruebe la versión actual de cada servicio que se ejecuta. Actualizar a la última versión del software. Búsqueda de vulnerabilidades en el servicio en su página web y en http://nvd.nist.gov/.
3. Verifique las configuraciones y, cuando se puede, crear software basado en las listas de acceso para permitir que sólo los hosts de confianza para utilizar ese servicio. Trate de cambiar los nombres de usuario y contraseñas por defecto cada vez. Si puede ejecutar el software en una jaula chroot, lo hace.
4. Si el servicio no requiere el acceso de todas partes, crear un cortafuegos para limitar el acceso sólo a los hosts de confianza.
5. De Auditoría de la red! Trate de cortar en su red. Conectarse a la red como un extraño y probar todos los servicios en ejecución en contra de ataques conocidos. Búsqueda de herramientas de hackers y usarlas en contra de su propia red para ver qué pasa.
6. Crear los registros de solicitudes de autenticación. También intenta ejecutar una red de sistemas de detección de intrusos, como Snort, disponible en http://www.snort.org, que produce archivos de registro muy bueno.
No todos los pasos que se requieren para cada servicio que se ejecuta en la red, por ejemplo, hay algunos servicios para los que se permite sólo conexiones de localhost y eso es todo.
Echemos un vistazo a una de las cajas Linux en mi red. Por razones de seguridad, voy a intercambiar las direcciones IP desde el mundo real con direcciones IP reservadas.
1. En primer lugar voy a identificar los puertos TCP abiertos en el servidor:
root @ Router: ~ # netstat-an
Las conexiones de Internet activas (servidores y establecidos)
Proto Recv-Q Send-Q Dirección local Dirección Estado
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
Así pues, tenemos los puertos TCP 179, 2601, y 2605 de escucha. Para mí, esos son muy conocidos los puertos, pero si me olvido de ellos, tenemos que ver qué servicios abiertos los puertos:
root @ Router: ~ # fusor n-TCP 2601 2605 179
2601/tcp: 1520
2605/tcp: 1521
179/tcp: 1521
root @ Router: ~ # ps ax | grep-E "(1520 | 1521)"
|
Zebra es un software de enrutamiento de Linux que sabe los protocolos de enrutamiento como BGP, OSPF, RIPv1, y RIPv2. En este caso, yo uso cebra para las conexiones BGP. El proceso de bgpd es para hacer las conexiones BGP, y el proceso de cebra es responsable de añadir rutas recibidas de los vecinos en el núcleo de Linux. |
- Vamos a identificar las versiones:
root @ Router: ~ # cebra-V
Zebra versión 0.95 ()
Copyright 1996-2001, Kunihiro Ishiguro,
root @ Router: ~ # bgpd-V
bgpd la versión 0.95 ()
Copyright 1996-2001, Kunihiro Ishiguro,
Las últimas vulnerabilidades de Zebra se encontraban en la versión 0.93b, por lo que no knownvulnerabilities aquí.
3. El siguiente paso es configurar el software. De Zebra, el puerto 2601 está en su interfaz de línea de comandos, que es muy similar a un router de Cisco. Lo mismo con el BGP para el puerto 2605.
- El router tiene conexiones con BGP 10.10.10.1, 10.10.11.13, y con 10.10.15.1. Lo que queremos hacer es negar el acceso en el puerto TCP 179, que se utiliza para las conexiones BGP, a nadie excepto a aquellas direcciones IP. También, queremos duplicar la protección que hemos creado con el software basado en listas de acceso de cebra y bgpd, y sólo permiten conectarse a localhost, la cebra y VTYs su protocolo de enrutamiento.
- 5. Dado que no dispone de software conocidos en busca de vulnerabilidades, lo que podemos hacer es poner a prueba y ver si funciona nuestro servidor de seguridad:
root @ Router: ~ # telnet 127.0.0.1 2601
Trying 127.0.0.1 ...
Conectado a 127.0.0.1.
Escape character is'^]'.
Hola, este es cebra (versión 0.95).
Copyright 1996-2004 Kunihiro Ishiguro.
Contraseña:
root @ Router: ~ # telnet 127.0.0.1 2605
Trying 127.0.0.1 ...
Conectado a 127.0.0.1.
Escape character is'^]'.
Hola, este es cebra (versión 0.95).
Copyright 1996-2004 Kunihiro Ishiguro.
Verificación de acceso de usuario
Contraseña:
ver si podemos hacer esto desde otros lugares:
router-2: ~ # telnet 10.10.10.22 2601
Tratar 10.10.10.22 ...
telnet: No se puede conectar al servidor remoto: Conexión rechazada
router-2: ~ # telnet 10.10.10.22 2605
Tratar 10.10.10.22 ...
telnet: No se puede conectar al servidor remoto: Conexión rechazada
Bueno! No se puede conectar desde cualquier lugar, excepto localhost en la CLI de cebra y bgpd. Ahora, debemos tratar de conectar en el puerto TCP 179 de uno de los vecinos BGP:
router-2: ~ # telnet 10.10.10.22 179
Tratar 10.10.10.22 ...
Conectado a 10.10.10.22.
Escape character is'^]'.
un artículo presentado por Philip A Clara
Descargo de responsabilidad:Nuestro sitio web no es responsable por el contenido de este artículo. Webarticles es un recurso de información gratuito.
Importante: Este artículo "Simple Network Management Protocol SNMP" fue traducida por un software automático. Sentimos pena por los errores de ortografía que pueda haber ocurrido. Gracias por su comprensión.