Logstash: seguridad y supervisión

En este capítulo, discutiremos los aspectos de seguridad y monitoreo de Logstash.

Supervisión

Logstash es una muy buena herramienta para monitorear los servidores y servicios en entornos de producción. Las aplicaciones en el entorno de producción producen diferentes tipos de datos de registro, como registros de acceso, registros de errores, etc. Logstash puede contar o analizar el número de errores, accesos u otros eventos utilizando complementos de filtro. Este análisis y recuento se puede utilizar para monitorear diferentes servidores y sus servicios.

Logstash ofrece complementos como HTTP Pollerpara monitorear el monitoreo del estado del sitio web. Aquí, estamos monitoreando un sitio web llamadomysite alojado en un servidor Apache Tomcat local.

logstash.conf

En este archivo de configuración, el complemento http_poller se utiliza para acceder al sitio especificado en el complemento después de un intervalo de tiempo especificado en la configuración del intervalo. Finalmente, escribe el estado del sitio en una salida estándar.

input {
   http_poller {
      urls => {
         site => "http://localhost:8080/mysite"
      }
      request_timeout => 20
      interval => 30
      metadata_target => "http_poller_metadata"
   }
}
output {
   if [http_poller_metadata][code] == 200 {
      stdout {
         codec => line{format => "%{http_poller_metadata[response_message]}"}
      }
   }
   if [http_poller_metadata][code] != 200 {
      stdout {
         codec => line{format => "down"}
      }
   }
}

Ejecutar logstash

Podemos ejecutar Logstash con el siguiente comando.

>logstash –f logstash.conf

stdout

Si el sitio está activo, el resultado será:

Ok

Si paramos el sitio usando el Manager App de Tomcat, la salida cambiará a -

down

Seguridad

Logstash proporciona muchas funciones para una comunicación segura con sistemas externos y admite el mecanismo de autenticación. Todos los complementos de Logstash admiten autenticación y cifrado a través de conexiones HTTP.

Seguridad con protocolo HTTP

Hay configuraciones como usuario y contraseña para fines de autenticación en varios complementos ofrecidos por Logstash, como en el complemento Elasticsearch.

elasticsearch {
   user => <username>
   password => <password>
}

La otra autenticación es PKI (public key infrastructure)para Elasticsearch. El desarrollador debe definir dos configuraciones en el complemento de salida de Elasticsearch para habilitar la autenticación PKI.

elasticsearch {
   keystore => <string_value>
   keystore_password => <password>
}

En el protocolo HTTPS, un desarrollador puede usar el certificado de la autoridad para SSL / TLS.

elasticsearch {
   ssl => true
   cacert => <path to .pem file>
}

Seguridad con protocolo de transporte

Para utilizar el protocolo de transporte con Elasticsearch, los usuarios deben establecer la configuración del protocolo en transporte. Esto evita la clasificación de objetos JSON y conduce a una mayor eficiencia.

La autenticación básica es la misma que se realiza en el protocolo http en el protocolo de salida de Elasticsearch.

elasticsearch {
   protocol => “transport”
   user => <username>
   password => <password>
}

La autenticación PKI también necesita que los conjuntos de SSL sean verdaderos con otras configuraciones en el protocolo de salida de Elasticsearch:

elasticsearch {
   protocol => “transport”
   ssl => true
   keystore => <string_value>
   keystore_password => <password>
}

Finalmente, la seguridad SSL requiere un poco más de configuración que otros métodos de seguridad en la comunicación.

elasticsearch {
   ssl => true
   ssl => true
   keystore => <string_value>
   keystore_password => <password>
   truststore => 
      
        truststore_password => <password> } 
      

Otros beneficios de seguridad de Logstash

Logstash puede ayudar a las fuentes del sistema de entrada para prevenir ataques como los ataques de denegación de servicio. La supervisión de los registros y el análisis de los diferentes eventos en esos registros pueden ayudar a los administradores del sistema a verificar la variación en las conexiones entrantes y los errores. Estos análisis pueden ayudar a ver si el ataque está ocurriendo o va a ocurrir en los servidores.

Otros productos de Elasticsearch Company como x-pack y filebeat proporciona algunas funciones para comunicarse de forma segura con Logstash.