En la primera parte de esta serie, analizamos los pasos que debe seguir para descargar, instalar y ejecutar la herramienta Net-SNMP.
En esta parte, nos centraremos en el aspecto de configuración, explicando cómo puede configurar el agente Net-SNMP, así como configurar la autenticación y el cifrado de los mensajes que se transmiten entre este y el cliente.
Configuración del agente Net-SNMP: snmpd
Suponiendo que el paquete Net-SNMP está instalado en su sistema y está funcionando, ejecute lo siguiente snmpwalk
dominio:
snmpwalk -v2c -c public localhost system
En mi sistema, se produjo el siguiente resultado:
SNMPv2-MIB::sysDescr.0 = STRING: Linux himanshu-desktop 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (6481067) 18:00:10.67 SNMPv2-MIB::sysContact.0 = STRING: Me <me@example.org> SNMPv2-MIB::sysName.0 = STRING: himanshu-desktop SNMPv2-MIB::sysLocation.0 = STRING: Sitting on the Dock of the Bay SNMPv2-MIB::sysServices.0 = INTEGER: 72 SNMPv2-MIB::sysORLastChange.0 = Timeticks: (22) 0:00:00.22 ... ... ...
Si observa, esta salida contiene valores correspondientes a variables específicas del sistema presentes en el árbol MIB “.iso.org.dod.internet.mgmt.mib-2.system”.
Ahora, suponga que desea modificar información como «sysLocation» y «sysContact». Esto se puede hacer editando los valores correspondientes en /etc/snmp/snmpd.conf
un archivo que puede utilizar para configurar el agente Net-SNMP («snmpd»).
Como puede ver en la captura de pantalla anterior, el archivo contiene muchas entradas, algunas de las cuales están comentadas deliberadamente y deben activarse explícitamente. En este archivo, cambié el valor del parámetro «sysLocation» de «Sitting on the Dock of the Bay» a «Datacenter, Row 2, Rack 1».
Para que el cambio entre en vigor, simplemente reinicie el demonio Net-SNMP con el siguiente comando:
/etc/init.d/snmpd restart
y luego ejecuta el snmpwalk
comando de nuevo:
$ snmpwalk -v2c -c public localhost system SNMPv2-MIB::sysDescr.0 = STRING: Linux himanshu-desktop 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (470) 0:00:04.70 SNMPv2-MIB::sysContact.0 = STRING: Me <me@example.org>; SNMPv2-MIB::sysName.0 = STRING: himanshu-desktop SNMPv2-MIB::sysLocation.0 = STRING: Datacenter, Row 2, Rack 1 SNMPv2-MIB::sysServices.0 = INTEGER: 72 SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
Entonces, como puede ver, el valor del parámetro «sysLocation» se cambió con éxito. De manera similar, puede modificar los valores de otros parámetros presentes en este archivo, así como agregar parámetros que aún no están allí.
Nota: También puede utilizar Net-SNMP snmpconf
utilidad para crear y modificar archivos de configuración SNMP. Para saber más sobre el comando, lea su página de manual aquí.
Configurar la autenticación y el cifrado
Las utilidades de cliente Net-SNMP como snmpget
, snmpwalk
, y más, así como el daemon (snmpd) admiten las tres versiones del protocolo SNMP: v1, v2c y v3. Mientras que los dos primeros solo admiten autenticación, v3 también admite cifrado. Entonces, en esta sección, discutiremos cómo configurar SNMPv3.
Como primer paso, detenga el servicio del demonio snmpd con el siguiente comando:
luego abre el /var/lib/snmp/snmpd.conf
archivo y agregue la siguiente línea en la parte inferior:
createUser USERNAME SHA "AUTHENTICATION-PASSWORD" AES "ENCRYPTION-PASSWORD"
los createUser
El comando crea un usuario específico de SNMPv3 con el fin de autenticar y cifrar los mensajes de SNMPV3.
En el comando anterior, reemplace «AUTENTICACIÓN-CONTRASEÑA» y «ENCRIPTACIÓN-CONTRASEÑA» con las contraseñas reales que desea conservar. Además, vale la pena señalar que si no menciona «CONTRASEÑA DE ENCRIPTACIÓN», Net-SNMP utilizará «CONTRASEÑA DE AUTENTICACIÓN» como «CONTRASEÑA DE ENCRIPTACIÓN».
Ahora abierto etc/snmp/snmpd.conf
y agregue la siguiente línea en la parte inferior:
Esta línea se asegura de que el usuario que creamos anteriormente tenga permisos de solo lectura y solo se puede acceder mediante AuthPriv, un modo Net-SNMP que permite la comunicación con autenticación, así como la privacidad. Si desea que el usuario también tenga permisos de escritura, simplemente use rwuser
(en vez de rouser
) en ese caso.
Ahora, inicie el servicio demonio Net-SNMP nuevamente usando el siguiente comando:
y luego ejecute el siguiente comando para probar SNMPV3:
snmpwalk -v 3 -l authPriv -a sha -A [AUTHENTICATION-PASSWORD] -x AES -X [ENCRYPTION-PASSWORD] -u [USERNAME] localhost system
Si SNMPV3 se configura correctamente, el resultado debe ser el mismo que se muestra al principio de este artículo.
Nota:
1. Asegúrese de reemplazar [AUTHENTICATION-PASSWORD], [ENCRYPTION-PASSWORD]y [USERNAME] con valores apropiados.
2. La compatibilidad con la autenticación SHA y el cifrado DES/AES solo está disponible si tiene OpenSSL instalado o si ha compilado usando --with-openssl=internal
.
Conclusión
Net-SNMP proporciona muchas opciones de configuración, y lo que hemos discutido aquí son solo los conceptos básicos, aunque debería ser suficiente para comenzar. Para más información, pasa por el Página de manual de snmpd.conf.