SNMP
EN LINUX
CENTOS / RED HAT /WHITE BOX ENTERPRISE
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 5, Red
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:
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
|
FUENTE DE
INFORMACION:
COMPLEMENTADO Y MODIFICADO POR RUBEN DARIO MEDINA – ADRC CEET