Si queremos monitorizar de manera segura con SNMP equipos de comunicaciones, cabinas de discos, impresoras o cualquier otro dispositivo debemos tener en cuenta algunos consejos.
Podremos monitorizar los equipos que tengamos en la red con este protocolo SNMP.
Vaya por delante que hablaremos por encima de SNMP a modo de introducción. La información oficial la podéis consultar en RFC (buscando SNMP porque hay varias RFC).
¿Qué es SNMP?
SNMP es un acrónimo de “Simple Network Management Protocol”.
Atención especial a la palabra “Management”, porque sí, este protocolo permite administrar el dispositivo. Se asocia a la monitorización, pero es importante considerar que tener acceso a él admite gestionar los equipos.
Este protocolo tiene una forma activa (se le pregunta al equipo a monitorizar por un valor), y una pasiva (el equipo monitorizado nos manda él mismo el valor).
Analizaremos esta forma activa, que es la más peligrosa a nivel de seguridad.
Versiones de SNMP
Hay que tener en cuenta que existen 3 versiones de SNMP: versión 1, versión 2c y versión 3 (vale, no perdieron tiempo pensando nombres).
Entre la versión 1 i la 2c no hay cambios importantes. La única diferencia es que la 1 siempre que preguntas por un valor te devuelve un único valor, mientras la 2c te devuelve una tabla de valores. Si el equipo es actual, mejor trabajar con la versión 2c.
En las versiones 1 y 2c se accede autentificándote con un usuario, llamado “community” o comunidad. Esta comunidad no tiene contraseña.
De manera que al ser publico, cualquier puede pedir información al equipo y este le respondrá: Por ejemplo, si yo le digo al router: soy la comunidad “public” dame el valor de CPU, el router me contestará 25%.
Es importante cambiar el nombre de “community” para tener mayor seguridad y evitar ataques de hackers.
Hay dos tipos de comunidades: de lectura y escritura. La mayoría de los equipos tienen por defecto la comunidad “public” como lectura, y la comunidad “private” como escritura.
Es muy importante que si habilitamos un SNMP con versiones 1 o 2c:
- Solo usemos comunidades de tipo “lectura” si queremos monitorizar (u obtener datos).
- Que nunca usemos las comunidades “public” o “private”. Lo correcto sería o eliminarlas o bien renombrarlas ya que es por donde pueden atacar los hackers
La versión 3 es, a afectos funcionales, exactamente igual que la 2c. La diferencia radica en la parte de seguridad. Ya no usamos comunidades. Ahora disponemos de usuarios con contraseña y método de autenticación.
Sabiendo eso, nuestras prioridades para monitorizar de manera segura con SNMP:
- Usar siempre que podamos la versión 3 por delante de 2c y 1.
- Si usamos la versión 2c o 1, usar comunidades que no sean las que vengan por defecto (especialmente la llamada “public”).
Listas de control de acceso (ACL)
En algunos casos, los fabricantes incorporan una lista de control de acceso al protocolo SNMP. Si se tiene la lista, úsala. Normalmente es una lista de las IP autorizadas a realizar las consultas SNMP.
Cuidado. Si algún día cambiamos de herramienta, realizamos pruebas, o cualquier otra función que nos obligue a lanzar consultas desde otra IP deberemos concederle permisos.
VLAN de administración
Esta medida debería tomarse en el momento de diseño de red. Se recomienda que el protocolo SNMP se autorice solo a una VLAN de administración, que no sea accesible por un usuario desde un punto de trabajo. Esta medida es quizás la más importante, y entendible a cualquier protocolo más allá del SNMP.
Los protocolos de administración deberían solo publicarse en VLAN de administración.
Resumiendo
Si utilizamos SNMP para monitorizar intentemos siempre:
- Usar versión 3
- No usar nunca con comunidades genéricas (ni de escritura).
- Usar las llistas de control de acceso
- Publicar únicamente SNMP en las VLAN de administración.
Con estas 4 recomendaciones tendremos bien protegido el SNMP de nuestra compañía, y seguro los CISO nos tendrán en buena consideración.