expiracion de certificados

expiracion de certificados

Expiración de certificados SSL; monitorización con Pandora FMS

Escenario

Uno de los principales requisitos y preocupaciones de los administradores de plataformas online es la expiracion de certificados SSL. En este artículo vamos a explicar cómo monitorizar fácilmente la validez de los certificados de cualquier sitio web con Pandora FMS, para tener siempre control del tiempo restante y evitar que nos pille desprevenidos.

Debemos disponer de un servidor de Pandora FMS con salida a Internet, o al menos conexión con las páginas web específicas de las cuales queramos monitorizar su certificado SSL. El plugin que vamos a utilizar será ejecutado por el servidor de Pandora FMS y puede lanzarse contra cualquier sitio web, por lo que la ubicación del servidor es importante, así como, obviamente, su conectividad con los sitios web.

Despliegue

Debemos descargar el plugin ssl_plugin.sh de la librería de plugins oficial de Pandora FMS, aquí.

Una vez descargado, desplegamos el plugin a un directorio de nuestro servidor de Pandora FMS; en este caso lo guardamos en la ruta: /usr/share/pandora_server/util/plugin/

Para desplegar el plugin fácilmente podemos valernos de la utilidad WinSCP, que nos permite intercambiar archivos entre sistemas Windows (nuestro PC local) y sistemas Linux (nuestro servidor de Pandora FMS).
En caso de que utilicemos Linux como sistema habitual, podemos copiar el plugin al servidor de Pandora FMS con este sencillo comando:

scp /ssl_plugin.sh [email protected]:/allowed_path

En el ejemplo anterior debemos sustituir por la ruta local donde se encuentre el plugin, por ejemplo /home/Antonio/Downloads debemos sustituir username por un usuario válido de nuestro servidor de Pandora FMS, por ejemplo root, 192.168.50.1 por la dirección IP del servidor de Pandora FMS en cuestión, y /allowed/path por la ruta donde queremos almacenar el plugin dentro del servidor de Pandora FMS. Es importante tener en cuenta que el usuario utilizado en username deberá tener permisos de escritura sobre esta ruta. Un comando válido podría ser:

scp/home/Antonio/Downloads/ssl_plugin.sh [email protected]:/etc/pandora/plugins

Registro

Una vez tenemos el plugin desplegado en el servidor de Pandora FMS, vamos a registrarlo en la consola. Para ello accederemos a la sección de plugins del menú.

expiracion de certificados

A continuación definiremos el plugin completando los campos del formulario tal y como se muestra en la siguiente captura:

expiracion de certificados

Los campos más importantes serán Plug-in command, que deberá completarse con la ruta absoluta donde el plugin se encuentre guardado, y Plug-in parameters, que deberá contener la macro _field1_. También es importante establecer el parámetro Max. a un valor bajo, de unos segundos, para que, en caso de problemas en la ejecución del plugin, el servidor pueda finalizar su ejecución para evitar dejar procesos o hilos abiertos.

El resto de campos son descriptivos y podemos completarlos del modo que más nos ayude.

Ejecución

Ahora que hemos registrado el plugin en la consola, vamos a proceder a crear un módulo que compruebe la validez del certificado SSL de un sitio web, y nos diga cuántos días restantes le quedan. Crearemos un nuevo módulo de tipo plug-in:

expiracion de certificados

Para crear el módulo, es tan sencillo como completar algunos de los campos del siguiente formulario. Debemos indicar un nombre que nos permita identificarlo rápidamente, elegir el plugin que hemos registrado -en este caso SSL certificate check- y un sitio web a comprobar -en este caso pandorafms.org- y hacer click en Create:

expiracion de certificados

Una vez creado, si no hay problemas de conectividad entre el servidor y el sitio web, nos devolverá los días restantes de validez del certificado:

expiracion de certificados

Es importante destacar que los umbrales (warning, critical) deben ser especificados a mano a la hora de crear los módulos o al editarlos posteriormente, ya que no serán automáticamente definidos por el plugin, y no nos avisarán por defecto de la expiración de certificados. En el ejemplo anterior, los módulos pasarán a estado warning a partir de 100 días, y a estado crítico a partir de 60 días.

Ampliación

Además de la monitorización básica que nos ofrece el plugin, su lógica es fácilmente ampliable, ya que openssl tiene diferentes opciones para conocer otro tipo de información del certificado SSL. Es posible conocer la fecha de expedición, la entidad, el destinatario, etc.

En caso de querer ampliar la lógica, deberemos modificar el plugin para incluir cualquiera de estos chequeos adicionales. También es posible hacer algunos cambios en el plugin para permitir su ejecución desde un agente de software, y así poder realizar los chequeos desde diferentes localizaciones, especialmente útil si nuestro servidor de Pandora FMS no tiene acceso a Internet o conectividad con los sitios web a monitorizar.

Shares