Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Configuración de SNMP.

Autor: Joel Barrios Dueñas Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/ Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2014 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

Introducción.

Acerca de SNMP.

SNMP (Simple Network Management Protocol o Protocolo Simple de administración de red) es uno protocolos del conjunto definido por la Fuerza de Trabajo en Ingeniería de Internet (IETF o Internet Engineering Task Force), clasificada en el nivel de aplicación del modelo TCP/IP y que está diseñado para facilitar el intercambio de información entre dispositivos de red y es ampliamente utilizado en la administración de redes para supervisar el desempeño, la salud y el bienestar de una red, equipo de computo y otros dispositivos.

URL: http://tools.ietf.org/html/rfc1157.

Acerca de Net-SNMP.

Net-SNMP, el equipamiento lógio utilizado en este documento, es un conjunto de aplicaciones utilizados para implementar SNMP v1, SNMP v2c y SNMP v3 utilizando IPv4 y/o IPv6. El proyecto fue iniciado como un conjunto de herramientas SNMP por Steve Waldbusser en la CMU (Carnegie Mellon University), Pittsburgh, Pennsylvania, EE.UU., en 1992. Tras ser abandonado, fue retomado por Wes Hardaker en la UCDavis (University of California, Davis), renombrado como UCD-SNMP y mejorado para cubrir las necesidades del Departamento de Ingeniería Eléctrica de dicha institución. Tras dejar la universidad, Hardaker continuó el proyecto, cambiando el nombre de éste a Net-SNMP.

URL: http://net-snmp.sourceforge.net/

Equipamiento lógico necesario.

CentOS y Red Hat™ Enterprise Linux.

Instale lo necesario ejecutando lo siguiente:

yum -y install net-snmp net-snmp-utils

Procedimientos

Este documento considera las siguientes variables que deberán ser reemplazadas por valores reales:

  • 192.168.1.0/24: Dirección IP de la red y máscara de subred en formato CIDR correspondientes a la red de área local.
  • contraseña: Cualquier contraseña lo suficientemente buena.
  • m064.alcancelibre.org.mx: Nombre de anfitrión del sistema donde se está configurando el servicio.
  • fulano@algún-dominio.net: Cuenta de correo del administrador del servidor.
  • 192.168.1.254: Dirección IP del servidor.

Archivo de configuración /etc/snmp/snmpd.conf.

El archivo /etc/snmp/snmpd.conf que se instala junto con el paquete y puede resultar para algunos una verdadera maraña de comentarios y opciones de todo tipo. Lo más recomendable será crear un archivo nuevo y limpio de contenido para poder partir de algo más simple y funcional.

Respalde el archivo original:

mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf-original

Genere un nuevo archivo vacío ejecutando lo siguiente:

touch /etc/snmp/snmpd.conf

Edite el nuevo archivo vacío:

vi /etc/snmp/snmpd.conf

Proceda a añadir configuraciones como se describe a continuación.

Listas de control de acceso.

Se deben crear las listas de control de acceso (ACL o Access Control List) correspondientes en el archivo /etc/snmp/snmpd.conf, las cuales servirán para definir lo que tendrá acceso hacia el servicio snmpd. A una de estas listas se le otorgará permiso de acceso de lectura y escritura, para lo que sea necesario en relación con administración y a la otra de solo lectura. Por razones de seguridad solo la interfaz 127.0.0.1 estará en la lista de lectura escritura. Se otorgará permiso de acceso de solo lectura a una red o bien a una dirección IP en la otra lista de control de acceso.

Considerando lo anterior, se podrían agregar un par de líneas como las siguientes:

com2sec local 127.0.0.1/32 contraseña
com2sec MiRedLocal 192.168.1.0/24 contraseña

En lo anterior la primera línea significa que habrá una lista de control de acceso denominada «local» y que corresponderá solo a 127.0.0.1/32, asignando contraseña como contraseña. La segunda línea hace lo mismo pero definiendo a la red 192.168.1.0/24. Se puede definir lo que uno guste mientras no sea la clave de root, esto debido a que dicha clave se transmite a través de la red en forma de texto simple (es decir, sin cifrar).

Definición de grupos.

Se crean al menos dos grupos: MiGrupoRW y MiGrupoRO. El primero será un grupo al que se asignarán más adelante permisos de lectura escritura y el segundo será un grupo al que posteriormente se asignarán permisos de solo lectura. Por cada grupo se asignan tres líneas que especifican el tipo de acceso que se permitirá en un momento dado a un grupo en particular. Es decir, MiGrupoRW se asocia a local y MiGrupoRO a MiRedLocal.

#Se asigna local al grupo de lectura escritura
group MiGrupoRW v1 local
group MiGrupoRW v2c local
group MiGrupoRW usm local

#Se asigna MiRedLocal al grupo de solo lectura
group MiGrupoRO v1 MiRedLocal
group MiGrupoRO v2c MiRedLocal
group MiGrupoRO usm MiRedLocal

Ramas permitidas.

Se especifican las ramas que se van a permitir ver a través del servicio. Lo más común, para, por ejemplo, utilizarse con MRTG, es lo siguiente:

## name   incl/excl subtree   mask(optional)
view all  included  .1        80

Asignación de permisos a los grupos.

Se debe especificar que permisos tendrán los dos grupos, MiGrupoRO y MiGrupoRW. Son de especial interés las últimas columnas.

## group         context  sec.model sec.level prefix read   write notif
access MiGrupoRO ""       any       noauth    exact  all    none  none
access MiGrupoRW ""       any       noauth    exact  all    all   all

Opciones de carácter informativo.

Se definen dos opciones de carácter informativo para que cuando utilicen aplicaciones cliente como MRTG se incluya algo de información acerca de que sistema se está accediendo.

syslocation Servidor Linux en servidor.algún-dominio.net
syscontact Administrador (fulano@algún-dominio.net)

Un ejemplo funcional de configuración.

El ejemplo que mostramos a continuación se utiliza en todas los equipos que posee el autor en casa y en la oficina. Solo hay que reemplazar el valor redlocal por lo que uno considere apropiado y reemplazar el valor 192.168.1.0/24 por el valor de la red o la dirección IP desde donde se requiera acceder con un cliente snmp, como MRTG.

# Listas de control de acceso (ACL)
## sec.name source community (alias contraseña)
com2sec local 127.0.0.1/32 contraseña
com2sec MiRedLocal 192.168.1.0/24 contraseña

#Se asigna ACL al grupo de lectura escritura
group MiGrupoRW v1 local
group MiGrupoRW v2c local
group MiGrupoRW usm local

#Se asigna ACL al grupo de solo lectura
group MiGrupoRO v1 MiRedLocal
group MiGrupoRO v2c MiRedLocal
group MiGrupoRO usm MiRedLocal

# Ramas MIB que se permiten ver
## name   incl/excl subtree   mask(optional)
view all  included  .1        80

# Establece permisos de lectura y escritura
## group         context  sec.model sec.level prefix read   write notif
access MiGrupoRO ""       any       noauth    exact  all    none  none
access MiGrupoRW ""       any       noauth    exact  all    all   all

# Información de Contacto del Sistema
syslocation Servidor Linux en m064.alcancelibre.org.mx
syscontact Administrador (fulano@algún-dominio.net)

Siga el siguiente procedimiento para añadir más anfitriones clientes al servicio:

  1. Agregue una ACL con un nombre único. Ejemplo:
    com2sec nuevo-acl 192.168.1.251 contraseña
  2. Agregue un juego reglas asignadas al grupo como se muestra en el siguiente ejemplo:

    group nuevo-grupo v1 nuevo-acl
    group nuevo-grupo v2c nuevo-acl
    group nuevo-grupo usm nuevo-acl
  3. Agregue una línea que establezca cuáles permisos tendrá nuevo-grupo. En el ejemplo se establece un permiso de sólo lectura:
    access nuevo-grupo "" any noauth exact all none none

Activar, iniciar, detener y reiniciar el servicio.

Ejecute lo siguiente para activar el servicio en todos los niveles de ejecución:

chkconfig snmpd on

Ejecute lo siguiente para ejecutar por primera vez el servicio:

service snmpd start

Ejecute lo siguiente para reiniciar el servicio y aplicar cambios hechos a la configuración:

service snmpd restart

Ejecute lo siguiente para detener el servicio:

service snmpd stop

Comprobaciones.

Considerando, como ejemplo, que sea signó como contraseña contraseña en un sistema cuya dirección IP es 192.168.1.254, para probar si la configuración funciona, solo hay que ejecutar los dos siguiente mandatos a fin verificar que devuelvan información acerca del sistema consultado.

snmpwalk -v 1 192.168.1.254 -c contraseña system

snmpwalk -v 1 192.168.1.254 -c contraseña interfaces

Modificaciones necesarias en el muro cortafuegos.

Si se utiliza un cortafuegos con políticas estrictas, como por ejemplo Shorewall, es necesario abrir los puerto 161 y 162 por UDP (SNMP y SNMPTRAP, respectivamente).

Las reglas para el archivo /etc/shorewall/rules de Shorewall en un sistema con una zona (net), correspondería a lo siguiente:

#ACTION	SOURCE	DEST	PROTO 	DEST		SOURCE
#				PORT		PORT(S)1
ACCEPT	net	fw	udp	161,162

Las reglas para el archivo /etc/shorewall/rules de Shorewall en un sistema con dos zonas (net y loc), donde solo se va a permitir el acceso al servicio snmpd desde la red local, correspondería a lo siguiente:

#ACTION	SOURCE	DEST	PROTO 	DEST		SOURCE
#				PORT		PORT(S)1
ACCEPT	loc	fw	udp	161,162

Ejecute lo siguiente para aplicar los cambios:

service shorewall restart

Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Última Edición: 03/06/2014, 18:56|Hits: 190,176 Ver la versión para imprimir