Ir al contenido principal

[Logs II] Instalar ELK elastic stack 7.5

Requerimientos

  • Ubuntu 18.04.3 LTS
  • 4 GB de Ram

¿Qué es entonces el ELK Stack?

ELK es la sigla para tres proyectos open source: Elasticsearch, Logstash y Kibana. Elasticsearch es un motor de búsqueda y analítica. Logstash es un pipeline de procesamiento de datos del lado del servidor que ingesta datos de una multitud de fuentes simultáneamente, los transforma y luego los envía a como Elasticsearch. Kibana permite a los usuarios visualizar los datos en cuadros y gráficos con Elasticsearch.
Si quieres aprender mas del proyecto puedes visitar https://www.elastic.co/es/what-is/elk-stack

Instalar elasticsearch

La opción de instalación mas conveniente para Ubuntu es usar los paquetes deb.
El paquete deb de elasticsearch funciona para sistemas operativos Debian y sus derivados, los puedes bajar directamente del sitio web de elasticsearch o desde el repositorio usando APT.
El paquete que vamos a instalar usa la licencia de elastic, que es open source pero tenemos la opción de pasarnos a la licencia comercial, con la licencia open source ser suficiente para una buena cantidad de requerimientos.

Importar PGP key de elastic

Los paquetes están firmados con la clave D88E42B4, disponible desde https://pgp.mit.edu con el fingerprint:
4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4
Descargar e instalar la clave publica

Instalar desde los repositorios APT

Antes de iniciar necesitamos instalar apt-transport-https

Agregamos el repositorio

Instalamos los paquetes

Iniciar automáticamente elasticsearch al iniciar el sistema

Por default elasticsearch no inicia automáticamente después de la instalación, iniciar y detenerse depende del sistema SysV init o systemd
Podemos saber que sysV estamos usando con el comando

ps -p 1
PID TTY          TIME CMD
    1 ?        00:00:13 systemd
    

En Ubuntu 18.04 por default usa systemd
Para configurar que elasticsearch inicie automáticamente después de un reinicio del sistema usaremos.

para iniciar o detener elasticsearch

estos comandos no tienen salida en consola, pero podemos usar journalctl para ver el estado del inicio de la aplicación

Validar el funcionamiento

Vamos a enviar una petición con curl al puerto 9200 para ver si esta corriendo.

nos regresara algo parecido a esto

{
  "name" : "lnr",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "iv8LyrgVTZW_ax6W2wuxHw",
  "version" : {
    "number" : "7.5.1",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "3ae9ac9a93c95bd0cdc054951cf95d88e1e18d96",
    "build_date" : "2019-12-16T22:57:37.835892Z",
    "build_snapshot" : false,
    "lucene_version" : "8.3.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Directorios importantes

Tipo Descricion Directorio Setting
home directorio home or $ES_HOME /usr/share/elasticsearch
bin Binary scripts incluyendo elasticsearch y elasticsearch-plugin para instalar plugins /usr/share/elasticsearch/bin
conf Archivos de configuración incluyendo elasticsearch.yml /etc/elasticsearch ES_PATH_CONF
conf Variables de entorno incluyendo heap size, file descriptors. /etc/default/elasticsearch
data Datos de index / /var/lib/elasticsearch path.data
logs Archivos de Log /var/log/elasticsearch path.logs
plugins Archivos de plugins /usr/share/elasticsearch/plugins
Referencias

instalar kibana

Kibana es un panel de visualización de datos de código abierto para Elasticsearch. Proporciona capacidades de visualización sobre el contenido indexado en un clúster Elasticsearch. Los usuarios pueden crear gráficos de barras, líneas y dispersión, o gráficos circulares y mapas sobre grandes volúmenes de datos.
Vamos a instalar kibana usando los paquetes deb. Si seguimos los pasos anteriores de la parte de la instalación de elasticsearch podemos continuar de lo contrario, agregamos el PGP key, el repositorio e intalamos el apt transports.
Instalamos kibana con apt

Kibana no inicia por default con el sistema podemos hacer que inicie automáticamente con systemd

para iniciar y detener el sistema

validamos el status con

y podemos ver los logs de salida del sistema con journalctl

Validamos el correcto funcionamiento entrado en un navegador a localhost:5601/app/kibana o con curl

si queremos que kibana este disponible en alguna interfaz de especifica editamos el archivo /etc/kiaba/kibana.yml para editar la server.host: "tu ip"

y agregamos la etiqueta

#
#
#
server.host: "tu ip"
#
#

y agregamos las reglas al firewall ufw
entramos desde el navegador o usando curl y si nos regresa el logo de kibana esta listo

Direcciones importantes

Tipo Descrición PATH
home Home de kibana o $KIBANA_HOME /usr/share/kibana
bin Binary scripts incluyendo kibana y kibana-plugin /usr/share/kibana/bin
config Archivos de configuración incluyendo kibana.yml /etc/kibana
data Informacion escrita por kibana /var/lib/kibana
logs Logs /var/log/kibana
plugins Archivos de plugins /usr/share/kibana/plugins
Referencias

instalar logstash

instalar java

Para instalar logstash necesitar java 1.8, podemos instalar java la versión de Oracle o el openjdk, aquí usaremos el openjdk.

verificamos la instalación
java -version

instalar logstash


iniciar o detener el servicio

ver el estatus del servicio

ver salida de logs

Esta es la forma mas fácil de instalar ELK, pero dejaremos para otra entrada la configuración de logstash para dividir los logs.

Comentarios

Entradas más populares de este blog

Defensa contra malware

controlar la instalación, propagación y ejecución de código malicioso en múltiples puntos de la organización, al mismo tiempo que optimizar el uso de automatización para permitir la actualización rápida de la defensa, la recopilación de datos y la acción correctiva. ¿Por qué es importante este control? El software malicioso (malware) es un aspecto integral y peligroso de las amenazas en Internet, ya que está diseñado para atacar sus sistemas, dispositivos y sus datos. Se mueve rápidamente, cambia rápidamente y entra a través de múltiples y diversos puntos, como dispositivos de usuario final, archivos adjuntos de correo electrónico, páginas web, servicios en la nube, acciones del usuario y medios extraíbles. El malware moderno está diseñado para evitar las defensas y atacarlas o deshabilitarlas. Las defensas contra malware deben ser capaces de operar en este entorno dinámico a través de la automatización a gran escala, la actualización rápida y la integración con procesos como la re

Introducción a los CIS controls

Introducción CIS Controls es un conjunto de acciones priorizadas que colectivamente forman un conjunto de mejores prácticas de defensa que mitigan los ataques más comunes contra sistemas y redes. Los Controles CIS son desarrollados por una comunidad de expertos en TI que aplican su experiencia de primera mano como defensores cibernéticos para crear estas mejores prácticas de seguridad aceptadas globalmente. Los expertos que desarrollan los Controles CIS provienen de una amplia gama de sectores que incluyen retail, fabricación, salud, educación, gobierno, defensa y otros. Estamos en un punto fascinante en la evolución de lo que ahora llamamos defensa cibernética. Pérdidas masivas de datos, robo de propiedad intelectual, violaciones de tarjetas de crédito, robo de identidad, amenazas a nuestra privacidad, denegación de servicio: se han convertido en una forma de vida para todos nosotros en el ciberespacio. Y, como defensores, tenemos acceso a una extraordinaria

Vulnerando Bludit v3.9.2

Buenos días, el día de hoy vamos a ver como usar herramientas de hacking para vulnerar Bludit ( https://www.bludit.com/es/ ). Bludit es una aplicación web para construir nuestro propio sitio web o blog en segundos; Es completamente gratuito y de código abierto, podemos encontrar el repositorio en GitHub ( https://github.com/bludit/bludit ). Bludit es un CMS de archivo plano, que (en este caso) significa que Bludit usa archivos en formato JSON para almacenar el contenido. No necesita instalar o configurar una base de datos; solo necesita un servidor web con soporte PHP.   Para iniciar con el proceso de hacking de esta aplicación iniciaremos con el reconocimiento tenemos que identificar toda la información relevante de la aplicación, como, en que lenguaje esta programada, quienes son los desarrolladores, si tiene exploit conocidos, si existen vulnerabilidades conocidas, etc. Como parte de tu investigación debes de considerar consultar las siguientes fuentes https://cve.mitre.org/ , http