GNU/LINUX ATRAVEZ DEL TIEMPO

GNU/LINUX ATRAVEZ DEL TIEMPO
1992-2010

miércoles, 21 de marzo de 2012

snmp on linux

SNMP EN LINUX
USANDO CENTOS/REDHAT/WHITE BOX ENT.



Introducción.

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 ), perteneciente al 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 y monitorear  el desempeño, la estabilidad y el rendimiento de una red, equipo de computo y otros dispositivos.

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 El proyecto se inicio en los 90s, luego renombrado como UCD-SNMP y mejorado para cubrir las necesidades del Departamento de Ingeniería Eléctrica de la universidad de california. Pero solo tras dejar la universidad,Wes Hardaker continuó el proyecto, cambiando el nombre de éste a Net-SNMP.






Instalación a través de yum.

Si utiliza CentOS 4 y 5Red Hat Enterprise Linux 5 o White Box Enterprise Linux 4 y 5, solo se necesita el siguiente comando.

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

Instalación a través de up2date.

Si se utiliza Red Hat, solo bastará el siguiente comando para instalar o actualizar el equipamiento lógico necesario:

up2date -i net-snmp net-snmp-utils






Procedimientos

·         192.168.1.0/24: Dirección de red y máscara de subred en bits que correspondan a los de la red local a la que se pertenece.(cambian según los parámetros de la red en la que estemos configurando el protocolo)

·         ADad54@^&%&-Acc3s0: Cualquier clave de acceso lo suficientemente buena.

·         150716.arc.edu: Nombre de anfitrión del sistema donde se está configurando el servicio.

·         sojeroz@misena.edu.co: Cuenta de correo del administrador del servidor.

·         190.168.1.99: 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 ello utilizamos las siguientes líneas de comando.

cd /etc/snmp
mv snmpd.conf snmpd.conf-OLD
touch snmpd.conf

Listas de control de acceso.

Se deben crear las listas de control de acceso (ACL ) 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 clave de acceso
com2sec miredlocal 192.168.1.0/24 clave de acceso

OJO: Se puede definir lo que uno prefiera 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: MyRWGroup y MyROGroup. SEGÚN LOS PERMISOS DE LECTURA Y ESCRITURA. 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, MyRWGroup se asocia a local y MyROGroup a miredlocal.


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

#Se asigna miredlocal al grupo de solo lectura
group MyROGroup v1 miredlocal
group MyROGroup v2c miredlocal
group MyROGroup 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 conMRTG, ASÍ:


## 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, MyROGroup y MyRWGroup. Son de especial interés las últimas columnas.


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

Parámetros de carácter informativo.

Se definen dos parámetros 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 SU-SERVIDOR.algun-dominio.net
syscontact Administrador (fulano@algun-dominio.net)




Un ejemplo funcional de configuración.

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 redo 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 clave de acceso)
com2sec local 127.0.0.1/32 Cl4v3-d3-Acc3s0
com2sec miredlocal 192.168.1.0/24 Cl4v3-d3-Acc3s0
#Se asigna ACL al grupo de lectura escritura
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
#Se asigna ACL al grupo de solo lectura
group MyROGroup v1 miredlocal
group MyROGroup v2c miredlocal
group MyROGroup 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 MyROGroup ""       any       noauth    exact  all    none  none
access MyRWGroup ""       any       noauth    exact  all    all   all
# Información de Contacto del Sistema
syslocation Servidor Linux en 150716.ARC.EDU
syscontact Administrador (SOJEROZ@MISENA.EDU.CO)



AHORA QUE TENEMOS COMPLETA LA CONFIGURACION, REVISEMOS UN GRUPO DE COMANDOS MUY UTILES PARA INTERACTUAR CON EL SERVICIO.




Iniciar, detener y reiniciar el servicio snmpd.

Para ejecutar por primera vez el servicio snmpd, usamos:
service snmpd start
Para hacer que los cambios hechos tras modificar la configuración surtan efecto, usamos:
service snmpd restart
Para detener el servicio snmpd usamos:
service snmpd stop

Agregar el servicio snmpd al arranque del sistema.

Para hacer que el servicio de snmpd esté activo con el siguiente inicio del sistema, en todos los niveles de ejecución (2, 3, 4, y 5), se utiliza lo siguiente:

chkconfig snmpd on


PARA TERMINAR UN GRUPO DE COMANDOS MUY UTILES PARA HACER TESTEO Y MODIFICACIONES DEL FIREWALL

Comprobaciones.

Considerando, como ejemplo, que sea signó como clave de acceso 150716 en un sistema cuya dirección IP es190.168.1.99, 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 190.168.1.99 -c 150716 system

snmpwalk -v 1 192.168.1.99 -c 150716 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
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE

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
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE


COMPLEMENTADO Y MODIFICADO POR RUBEN DARIO MEDINA – ADRC CEET