Cómo monitorizar los sensores más importantes de un firewall XG Sophos: carga de CPU, uso de RAM, espacio en disco duro, versión del firmware, usuarios conectados, hits FTP, hits HTTP, hits POP3, hits SMTP, estado de HA (High Availability), bytes enviados y recibidos en puertos, etc.. Usaremos para el artículo un firewall XG Sophos en su versión de firmware 17.5.12 y Pandora FMS 7.0NG como sistema de monitorización. Indicaremos también cómo establecer los umbrales para los monitores y cómo programar alertas en caso de superarlos.

Requisitos para monitorizar firewall XG Sophos desde Pandora FMS usando SNMP

Dispondremos de un cortafuegos XG Sophos y de un sistema de monitorización Pandora FMS. Aunque en este artículo explicamos la monitorización para este sistema, en realidad, es válido para cualquier otro como Nagios, PRTG, Zabbix, SolarWinds, Sensu, Icinga, Acronis, Paessler, etc. Servirá para todos aquellos sistemas de monitorización que admitan obtener información por SNMP.

Para poder activar el servicio SNMP en el firewall necesitaremos acceso a la consola web (IP, usuario y contraseña) y, por supuesto, también necesitaremos acceso a Pandora FMS para dar de alta el dispositivo (agente) y sus sensores (módulos).

Activar servicio SNMP en firewall XG Sophos

Necesitaremos activar el servicio SNMP en el cortafuegos XG Sophos para que Pandora FMS pueda conectarse y obtener la información. Para ello accederemos a la gestión de XG Sophos vía web. En el grupo «SYSTEM» pulsaremos en «Administration» [1], en la parte derecha pulsaremos en «SNMP» [2]. Marcaremos «Enable SNMP agent» [3] e introduciremos los datos básicos (Name, Description, Location, etc.) [4]. Pulsaremos en «Apply» [5] para aplicar los cambios.

Activar servicio SNMP en firewall XG Sophos

Además de habilitar el servicio SNMP en el cortafuegos también tendremos que añadir una comunidad en la parte inferior de la ventana, pulsando en «Add»:

Activar servicio SNMP en firewall XG Sophos

Introduciremos los datos para la comunidad SNMP, los más importantes:

  • Nombre (Name): nombre de la comunidad que posteriormente tendremos que introducir en Pandora. El estándar suele ser «public» aunque conviene cambiarlo por seguridad.
  • Dirección IP (IP address): introduciremos la dirección IP del servidor de Pandora FMS. Por seguridad, el firewall Sophos, limitará el acceso SNMP solo a la IP que le indiquemos en «IP address». Por lo tanto introduciremos la IP del servidor de monitorización Pandora, en nuestro caso 192.168.1.111.
  • Versión del protocolo SNMP (Protocol version): indicaremos también, obligatoriamente, la versión del protocolo SNMP con el que podremos conectarnos, en nuestro caso v2c.

Guardaremos los cambios pulsando en «Save»:

Activar servicio SNMP en firewall XG Sophos

Con estos pasos ya tendremos activado el acceso SNMP al cortafuegos XG Sophos desde el servidor de monitorización Pandora FMS.

Agregar dispositivo firewall Sophos XG en Pandora FMS como agente para su monitorización

Tras activar el servicio SNMP en el cortafuegos, accederemos al sistema de monitorización, en nuestro caso Pandora FMS. Desde su consola de gestión web daremos de alta el agente (dispositivo), pulsando en «Recursos» [1] y en «Gestionar agentes» [2]:

Agregar dispositivo firewall Sophos XG en Pandora FMS como agente para su monitorización

En la parte inferior derecha de la ventana de agentes tendremos el botón «Crear agente», que pulsaremos:

Agregar dispositivo firewall Sophos XG en Pandora FMS como agente para su monitorización

Introduciremos los datos para el nuevo agente (dispositivo):

  • Alias: nombre identificativo para el monitor, por ejemplo «Cortafuegos_XG_Sophos».
  • Dirección IP: el valor más importante, la dirección IP del dispositivo firewall.
  • Grupo, intervalo, SO, servidor, descripción: resto de datos a rellenar.

Una vez introducidos los datos pulsaremos en «Crear»:

Agregar dispositivo firewall Sophos XG en Pandora FMS como agente para su monitorización

Agregar módulos/monitores/sondas SNMP para firewall Sophos en Pandora FMS

Buscaremos el agente creado en la lista y pulsaremos en él para editarlo:

Agregar módulos/monitores/sondas SNMP para firewall Sophos en Pandora FMS

Una vez creado el agente, dentro de éste pulsaremos en el botón «Gestionar»:

Agregar módulos/monitores/sondas SNMP para firewall Sophos en Pandora FMS

Pulsaremos en Módulos:

Agregar módulos/monitores/sondas SNMP para firewall Sophos en Pandora FMS

En «Tipo» seleccionaremos «Crear un nuevo módulo de servidor de red» y pulsaremos en «Crear»:

Agregar módulos/monitores/sondas SNMP para firewall Sophos en Pandora FMS

Introduciremos los datos del módulo/monitor/sonda. El nombre identificativo del módulo [1], por ejemplo, vamos a monitorizar el número de usuarios VPN conectados en nuestro cortafuegos Sophos, por ello introduciremos en «Nombre» el valor «Usuarios_VPN». En el desplegable «Tipo» [2], elegiremos «Remote SNMP network agent, numeric data». Elegimos dato numérico porque será lo que esperamos para este monitor, un número de usuarios conectados. En «IP objetivo» [3] deberemos tener la IP del cortafuegos Sophos. Y por último introduciremos la clave SNMP OID para obtener el valor requerido, el número de usuarios VPN conectados, para Sophos será: .1.3.6.1.4.1.21067.2.1.2.6.0. Podemos establecer el resto de datos si son diferentes a los de defecto, como el puerto de conexión SNMP, que para nuestro caso, en el paso anterior, hemos establecido la v2c y será, por lo tanto, la que haya que indicar en el módulo. Indicaremos también el resto de datos si son distintos a los de defecto como la Comunidad. Una vez completados los datos pulsaremos en «Crear» para crear este nuevo monitor/módulo/sonda:

Agregar módulos/monitores/sondas SNMP para firewall Sophos en Pandora FMS

Esperaremos unos minutos a que Pandora FMS contacte con el firewall Sophos y recabe los datos del monitor introducido. Si todo es correcto mostrará su valor actual:

En cuanto hayamos verificado que ha obtenido ese primer valor podremos añadir el resto de monitores, exactamente de la misma forma. A continuación mostramos listado de algunas OID interesantes para monitorizar un firewall Sophos:

  • .1.3.6.1.4.1.21067.2.1.2.10.9.0: estado de HA (High Availability) cuando tenemos varios firewall en clúster. De tipo Remote SNMP network agent, numeric data.
  • .1.3.6.1.4.1.21067.2.1.2.8.0: hits FTP. De tipo Remote SNMP network agent, numeric.
  • .1.3.6.1.4.1.21067.2.1.2.7.0: hits HTTP. De tipo Remote SNMP network agent, numeric.
  • .1.3.6.1.4.1.21067.2.1.2.10.1.0: hits POP3. De tipo Remote SNMP network agent, numeric.
  • .1.3.6.1.4.1.21067.2.1.2.9.3.0: hits SMTP. De tipo Remote SNMP network agent, numeric.
  • .1.3.6.1.4.1.21067.2.1.2.2.1.0: porcentaje de uso de la CPU. De tipo Remote SNMP network agent, numeric.
  • .1.3.6.1.4.1.21067.2.1.2.3.2.0: porcentaje de uso de disco. De tipo Remote SNMP network agent, numeric.
  • .1.3.6.1.4.1.21067.2.1.2.4.2.0: porcentaje de uso de RAM. De tipo Remote SNMP network agent, numeric.
  • .1.3.6.1.2.1.2.2.1.10.8: el número de bytes de entrada de uno de los puertos (interfaces). De tipo Remote SNMP network agent, numeric.
  • .1.3.6.1.2.1.2.2.1.16.8: el número de bytes de salida de uno de los puertos (interfaces). De tipo Remote SNMP network agent, numeric.
  • .1.3.6.1.4.1.21067.2.1.2.6.0: número de usuarios VPN conectados. De tipo Remote SNMP network agent, numeric.
  • .1.3.6.1.4.1.21067.2.1.1.3.0: versión actual del firmware. De tipo Remote SNMP network agent, alphanumeric data.

Existen muchas más OID para monitorización SNMP de un firewall Sophos, pero estas son de las más importantes. Como hemos dicho, repetiremos el proceso anterior para ir creando todos los monitores/sondas/módulos que queramos para el agente.

En nuestro caso queda finalmente los siguientes monitores para el cortafuegos Sophos XG:

Agregar módulos/monitores/sondas SNMP para firewall Sophos en Pandora FMS

Establecer alertas/avisos en caso de superar umbrales algún monitor

Si queremos establecer alguna alerta para alguno de los módulos/monitores/sondas establecidos anteriormente, en primer lugar accederemos a la edición del módulo en concreto, para establecer los umbrales de aviso (normal, aviso, crítico). Por ejemplo, si queremos que nos llegue un mail de alerta cuando el porcentaje de uso de la RAM del firewall Sophos supere el 80%, editaremos este módulo:

Establecer alertas/avisos en caso de superar umbrales algún monitor

Estableceremos los umbrales máximo y mínimo para warning y para crítico. En nuestro ejemplo, entre 70 y 80 será umbral de warning y de 81 a 100 umbral crítico.

Establecer alertas/avisos en caso de superar umbrales algún monitor

Una vez establecidos los umbrales, pulsaremos en «Gestionar»:

Establecer alertas/avisos en caso de superar umbrales algún monitor

Y en «Alertas»:

Establecer alertas/avisos en caso de superar umbrales algún monitor

Elegiremos el módulo, en nuestro caso «Porcentaje_Uso_RAM», la acción a realizar «Mail_Admin_Sistemas» y la plantilla «Critical condition». De esta forma, cuando el porcentaje de uso de RAM del firwall Sophos supere el 81% nos llegará un mail de alerta:

Establecer alertas/avisos en caso de superar umbrales algún monitor

Cambio de MIB (SNMP OID) en las últimas versiones de Sophos XG

En las últimas versiones del firmware de los Sophos XG, algunas MIBs han cambiado, a continuación mostramos algunas que contienen datos interesantes para la monitorización:

  • name = «deviceName» oid = «1.3.6.1.4.1.2604.5.1.1.1.0»
  • name = «deviceType» oid = «1.3.6.1.4.1.2604.5.1.1.2.0»
  • name = «deviceFirewallVersion» oid = «1.3.6.1.4.1.2604.5.1.1.3.0»
  • name = «deviceAppKey» oid = «1.3.6.1.4.1.2604.5.1.1.4.0»
  • name = «webCatVersion» oid = «1.3.6.1.4.1.2604.5.1.1.5.0»
  • name = «ipsVersion» oid = «1.3.6.1.4.1.2604.5.1.1.6.0»
  • name = «ipsVersion» oid = «1.3.6.1.4.1.2604.5.1.1.6.0»
  • name = «currentDate» oid = «1.3.6.1.4.1.2604.5.1.2.1.0»
  • name = «upTime» oid = «1.3.6.1.4.1.2604.5.1.2.2.0»
  • name = «liveUsers» oid = «1.3.6.1.4.1.2604.5.1.2.6.0»
  • name = «httpHits» oid = «1.3.6.1.4.1.2604.5.1.2.7.0»
  • name = «ftpHits» oid = «1.3.6.1.4.1.2604.5.1.2.8.0»
  • name = «diskCapacity» oid = «1.3.6.1.4.1.2604.5.1.2.4.1.0»
  • name = «diskPercentage» oid = «1.3.6.1.4.1.2604.5.1.2.4.2.0»
  • name = «memoryCapacity» oid = «1.3.6.1.4.1.2604.5.1.2.5.1.0»
  • name = «memoryPercentage» oid = «1.3.6.1.4.1.2604.5.1.2.5.2.0»
  • name = «swapCapacity» oid = «1.3.6.1.4.1.2604.5.1.2.5.3.0»
  • name = «swapPercentage» oid = «1.3.6.1.4.1.2604.5.1.2.5.4.0»
  • name = «pop3Hits» oid = «1.3.6.1.4.1.2604.5.1.2.9.1.0»
  • name = «imapHits» oid = «1.3.6.1.4.1.2604.5.1.2.9.2.0»
  • name = «smtpHits» oid = «1.3.6.1.4.1.2604.5.1.2.9.3.0»
  • name = «pop3service» oid = «1.3.6.1.4.1.2604.5.1.3.1.0»
  • name = «imap4service» oid = «1.3.6.1.4.1.2604.5.1.3.2.0»
  • name = «smtpService» oid = «1.3.6.1.4.1.2604.5.1.3.3.0»
  • name = «ftpService» oid = «1.3.6.1.4.1.2604.5.1.3.4.0»
  • name = «ftpService» oid = «1.3.6.1.4.1.2604.5.1.3.4.0»
  • name = «httpService» oid = «1.3.6.1.4.1.2604.5.1.3.5.0»
  • name = «avService» oid = «1.3.6.1.4.1.2604.5.1.3.6.0»
  • name = «asService» oid = «1.3.6.1.4.1.2604.5.1.3.7.0»
  • name = «dnsService» oid = «1.3.6.1.4.1.2604.5.1.3.8.0»
  • name = «shaService» oid = «1.3.6.1.4.1.2604.5.1.3.9.0»
  • name = «ipsService» oid = «1.3.6.1.4.1.2604.5.1.3.10.0»
  • name = «apacheService» oid = «1.3.6.1.4.1.2604.5.1.3.11.0»
  • name = «ntpService» oid = «1.3.6.1.4.1.2604.5.1.3.12.0»
  • name = «tomcatService» oid = «1.3.6.1.4.1.2604.5.1.3.13.0»
  • name = «sslVpnService» oid = «1.3.6.1.4.1.2604.5.1.3.14.0»
  • name = «ipSecService» oid = «1.3.6.1.4.1.2604.5.1.3.15.0»
  • name = «databaseService» oid = «1.3.6.1.4.1.2604.5.1.3.16.0»
  • name = «networkService» oid = «1.3.6.1.4.1.2604.5.1.3.17.0»
  • name = «garnerService» oid = «1.3.6.1.4.1.2604.5.1.3.18.0»
  • name = «droutingService» oid = «1.3.6.1.4.1.2604.5.1.3.19.0»
  • name = «sshdService» oid = «1.3.6.1.4.1.2604.5.1.3.20.0»
  • name = «dgdService» oid = «1.3.6.1.4.1.2604.5.1.3.21.0»
  • name = «haStatus» oid = «1.3.6.1.4.1.2604.5.1.4.1.0»
  • name = «currentAppKey» oid = «1.3.6.1.4.1.2604.5.1.4.2.0»
  • name = «peerAppKey» oid = «1.3.6.1.4.1.2604.5.1.4.3.0»
  • name = «currentHAstate» oid = «1.3.6.1.4.1.2604.5.1.4.4.0»
  • name = «peerHAstate» oid = «1.3.6.1.4.1.2604.5.1.4.5.0»
  • name = «haConfigMode» oid = «1.3.6.1.4.1.2604.5.1.4.6.0»
  • name = «loadBalancing» oid = «1.3.6.1.4.1.2604.5.1.4.7.0»
  • name = «haPort» oid = «1.3.6.1.4.1.2604.5.1.4.8.0»
  • name = «haPort» oid = «1.3.6.1.4.1.2604.5.1.4.8.0»
  • name = «auxAdminPort» oid = «1.3.6.1.4.1.2604.5.1.4.11.1.0»
  • name = «auxAdminPortipv6» oid = «1.3.6.1.4.1.2604.5.1.4.11.3.0»
  • name = «baseFwLicenseStatus» oid = «1.3.6.1.4.1.2604.5.1.5.1.1.0»
  • name = «baseFwLicenseExpiry» oid = «1.3.6.1.4.1.2604.5.1.5.1.2.0»
  • name = «networkProtectLicenseStatus» oid = «1.3.6.1.4.1.2604.5.1.5.2.1.0»
  • name = «networkProtectExpiryDate» oid = «1.3.6.1.4.1.2604.5.1.5.2.2.0»
  • name = «webProtectLicenseStatus» oid = «1.3.6.1.4.1.2604.5.1.5.3.1.0»
  • name = «webProtectExpiryDate» oid = «1.3.6.1.4.1.2604.5.1.5.3.2.0»
  • name = «mailProtectLicenseStatus» oid = «1.3.6.1.4.1.2604.5.1.5.4.1.0»
  • name = «mailProtectExpiryDate» oid = «1.3.6.1.4.1.2604.5.1.5.4.2.0»
  • name = «webServerLicenseStatus» oid = «1.3.6.1.4.1.2604.5.1.5.5.1.0»
  • name = «webServerExpiryDate» oid = «1.3.6.1.4.1.2604.5.1.5.5.2.0»
  • name = «sandstormLicenseStatus» oid = «1.3.6.1.4.1.2604.5.1.5.6.1.0»
  • name = «sandstormExpiryDate» oid = «1.3.6.1.4.1.2604.5.1.5.6.2.0»
  • name = «enhancedSupportStatus» oid = «1.3.6.1.4.1.2604.5.1.5.7.1.0»
  • name = «enhancedSupportExpiryDate» oid = «1.3.6.1.4.1.2604.5.1.5.7.2.0»
  • name = «enhancedPlusStatus» oid = «1.3.6.1.4.1.2604.5.1.5.8.1.0»
  • name = «enhancedPlustExpiryDate» oid = «1.3.6.1.4.1.2604.5.1.5.8.2.0»
  • name = «ipSecVPNconnID» oid = «1.3.6.1.4.1.2604.5.1.6.1.1.1.1.1»
  • name = «ipSecVPNconnName» oid = «1.3.6.1.4.1.2604.5.1.6.1.1.1.1.2»
  • name = «ipSecVPNconnDescription» oid = «1.3.6.1.4.1.2604.5.1.6.1.1.1.1.3»
  • name = «ipSecVPNpolicyName» oid = «1.3.6.1.4.1.2604.5.1.6.1.1.1.1.4»
  • name = «ipSecVPNpolicyMode» oid = «1.3.6.1.4.1.2604.5.1.6.1.1.1.1.5»
  • name = «ipSecVPNconnMode» oid = «1.3.6.1.4.1.2604.5.1.6.1.1.1.1.6»
  • name = «ipSecVPNlocalGWport» oid = «1.3.6.1.4.1.2604.5.1.6.1.1.1.1.7»
  • name = «ipSecVPNactiveTunnel» oid = «1.3.6.1.4.1.2604.5.1.6.1.1.1.1.8»
  • name = «ipSecVPNpolicyID» oid = «1.3.6.1.4.1.2604.5.1.6.1.2.1.1.1»
  • name = «ipSecVPNpolicyName» oid = «1.3.6.1.4.1.2604.5.1.6.1.2.1.1.2»
  • name = «ipSecVPNpolicyKeyLife» oid = «1.3.6.1.4.1.2604.5.1.6.1.2.1.1.3»
  • name = «ipSecVPNpolicyKeyMargin» oid = «1.3.6.1.4.1.2604.5.1.6.1.2.1.1.4»
  • name = «ipSecVPNpolicyEncAlg1» oid = «1.3.6.1.4.1.2604.5.1.6.1.2.1.1.5»
  • name = «ipSecVPNpolicyAuthAlg1» oid = «1.3.6.1.4.1.2604.5.1.6.1.2.1.1.6»
  • name = «ipSecVPNpolicyEncAlg2» oid = «1.3.6.1.4.1.2604.5.1.6.1.2.1.1.7»
  • name = «ipSecVPNpolicyAuthAlg2» oid = «1.3.6.1.4.1.2604.5.1.6.1.2.1.1.8»
  • name = «ipSecVPNpolicyEncAlg3» oid = «1.3.6.1.4.1.2604.5.1.6.1.2.1.1.9»
  • name = «ipSecVPNpolicyAuthAlg3» oid = «1.3.6.1.4.1.2604.5.1.6.1.2.1.1.10»
  • name = «ipSecVPNpolicyKeyExchType» oid = «1.3.6.1.4.1.2604.5.1.6.1.2.1.1.11»
  • name = «deviceAPname» oid = «1.3.6.1.4.1.2604.5.1.7.1.1.1»
  • name = «deviceAPmodel» oid = «1.3.6.1.4.1.2604.5.1.7.1.1.2»
  • name = «deviceAPmacAddr» oid = «1.3.6.1.4.1.2604.5.1.7.1.1.3»
  • name = «deviceAPstatus» oid = «1.3.6.1.4.1.2604.5.1.7.1.1.4»
  • name = «deviceAPclientCount» oid = «1.3.6.1.4.1.2604.5.1.7.1.1.5»
  • name = «apClientIndex» oid = «1.3.6.1.4.1.2604.5.1.7.2.1.1»
  • name = «apClientName» oid = «1.3.6.1.4.1.2604.5.1.7.2.1.2»
  • name = «apClientIPaddrType» oid = «1.3.6.1.4.1.2604.5.1.7.2.1.3»
  • name = «apClientIPaddr» oid = «1.3.6.1.4.1.2604.5.1.7.2.1.4»
  • name = «apClientMacAddr» oid = «1.3.6.1.4.1.2604.5.1.7.2.1.5»
  • name = «apClientChannel» oid = «1.3.6.1.4.1.2604.5.1.7.2.1.6»
  • name = «apClientSSID» oid = «1.3.6.1.4.1.2604.5.1.7.2.1.7»
  • name = «trapMessage» oid = «1.3.6.1.4.1.2604.5.1.8.1.2.0»