Cómo instalar Osquery en Debian Top 10

Cómo instalar Osquery en Debian Top 10
En este tutorial de Osquery, comenzaremos discutiendo qué es Osquery, cómo funciona, cómo instalarlo en Debian, una introducción rápida a SQL, y finalmente construir un proyecto que detalla cómo integrar Osquery con la pila de alces.

Para mantener este tutorial conciso, no nos sumergiremos profundamente en el "qué" y "cómo" de la pila de alces. En cambio, discutiremos rápida y directamente cómo usarlo con Osquery. También asumiremos que tiene un conocimiento práctico de SQL-la guía proporcionada a pesar de).

¿Qué es Osquery??

Desarrollado por Facebook, Osquery es una herramienta multiplataforma y de código abierto utilizada para consultar y monitorear sistemas utilizando consultas basadas en SQL.

Osquery puede interactuar con el sistema y recopilar información detallada, como el uso de la memoria, los procesos de ejecución, los módulos de núcleo cargados, los eventos de hardware, las conexiones de red, etc. La herramienta se ejecuta en todos los sistemas, incluidos Windows, Linux, Mac y BSD.

Usando Osquery, puede crear consultas SQL que muestren información sobre el sistema y usar esta información para monitorear y analizar los datos recopilados.

Cómo instalar Osquery en Debian Systems

La instalación de Osquery en Debian Systems es muy fácil, y aunque no está disponible en los reposos principales de Debian, agregando que es bastante sencillo.

Veamos el primer método que puede usar para instalar Osquery en Debian:

El primer y más simple paso es descargar el instalador DEB desde la página principal:

https: // pkg.Úsquería.IO/Deb/Osquery_4.6.0-1.linux_amd64.debutante

wget https: // pkg.Úsquería.IO/Deb/Osquery_4.6.0-1.linux_amd64.debutante
sudo dpkg -i osquery_4.6.0-1.linux_amd64.debutante

Recomendamos el método anterior ya que los paquetes DEB tienen muy pocas dependencias en la mayoría de las distribuciones de Debian. Sin embargo, si desea agregar a APT, use el siguiente método.

Ingrese los siguientes comandos para instalar Osquery desde los repositorios.

Exportar osquery_key = 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
sudo apt-key adv-keyserver hkp: // keyserver.ubuntu.com: 80--recv-keys $ osquery_key
sudo add-apt-repository 'deb [arqu = amd64] https: // pkg.Úsquería.io/Deb deb main '
actualización de sudo apt-get
sudo apt-get install oSquery

Cómo usar Osquery en Debian 10

Antes de sumergirse profundamente en la construcción de scripts automatizados y trabajar con la pila de alces, discutamos un uso simple de Osquery en el sistema local.

Osquery tiene tres componentes principales que puede usar para interactuar con la API.

Úsquería: El primer componente es Osqueryi, una sesión de shell interactiva. El modo Osqueryi es completamente independiente y no requiere interacción con el demonio Osquery-Osquery. Usando el modo Osqueryi, puede ejecutar interactivamente consultas SQL y explorar el sistema actual de manera similar a un shell SQL.

NOTA: Osquery respeta los espacios de usuario, y si ejecuta el shell como un modo de usuario regular, no tendrá acceso a tablas privilegiadas.

Osqueryd: El otro componente es Osqueryd, el demonio Osquery utilizado para programar consultas y registrar los cambios en el estado en segundo plano. El Daemon funciona agregando los resultados de la consulta ejecutados en un marco de tiempo específico y genera registros utilizados para comparar los cambios de estado de cada consulta.

OSQUERYCTL: El tercer componente es OsqueryCTL, un script auxiliar utilizado para probar la configuración de la implementación. También puede usarlo como Administrador de servicios de Osquery, lo que le permite comenzar y detener el servicio.

Fuera de la caja, Osquery no es más que una herramienta simple para consultar información sobre el sistema. Sin embargo, cuando combina las consultas para construir datos bien organizados y agregados, se convierte en más que una herramienta de consulta.

Para obtener el rollo, comencemos con lo básico para comprender cómo funciona:

El primer paso es obtener ayuda con el comando:

sudo osqueryd --help

Este comando mostrará la ayuda de Daemon Osquery, con una lista de argumentos que puede usar en el shell.

La siguiente, y la forma más fácil de interactuar con Osquery, es usar la sesión de Osqueryi. Por ejemplo, si ejecuta el comando osqueryi sin un argumento, caerá en un shell tipo SQL:

sudo osqueryi

Dentro del shell de Osqueryi, puede ejecutar comandos y sintaxis SQL para seleccionar información específica sobre el sistema.

Para ver el modo de ayuda dentro del shell de Osqueryi, use el comando:

Osquery> .ayuda

Ejecución de este comando debe mostrar ayuda con respecto a la sesión de Osquery.

Dado que Osquery es un mapeador de base de datos relacional para su sistema, tiene una lista de tablas que puede usar para seleccionar la información del uso de consultas SQLite.

NOTA: Las consultas de Osquery están basadas en sqlite. Puede consultar su documentación si Osquery no proporciona suficiente información:

https: // www.sqlite.org/índice.html

Dentro del shell de Osqueryi, use el comando:

Osquery> .mesas

Este comando enumera las tablas disponibles que contienen información del sistema.

Desde allí, puede seleccionar información de los esquemas disponibles. Por ejemplo, vea la información sobre los resoluciones de DNS.

Seleccionar * de dns_resolvers;

Dependiendo del esquema que consulte, obtendrá una gran cantidad de información y puede necesitar usar una combinación de consultas SQL para darle sentido.

Puede obtener más información sobre las tablas y esquemas de Osquery del siguiente recurso:

    https: // osquery.io/esquema

Una guía SQL básica

Osquery funciona utilizando consultas de sintaxis SQLite para recopilar información sobre un sistema. No tengo idea de por qué Facebook eligió esta ruta, pero funciona.

Este tutorial simple discutirá los conceptos básicos de SQLite para explicar cómo puede usarlo para interactuar con Osquery.

NOTA: Esto de ninguna manera está destinado a ser una guía para los idiomas SQL o relacionados. Para obtener más guías específicas del lenguaje, consulte la documentación principal.

Selección de entradas específicas de una tabla

Usando la sintaxis básica de SQLite, podemos seleccionar información específica de una tabla utilizando la instrucción SELECT como se muestra:

Seleccione PID, nombre, ruta de los procesos;

Agregar funciones SQL

Osquery también admite las funciones SQL, lo que le permite realizar varias acciones con datos recopilados de las consultas.

Por ejemplo, la función de conteo puede permitirle ver la cantidad de usuarios en su sistema.

Seleccione Count (*) de los usuarios;

Este comando devolverá el número total de usuarios en el sistema.

La capacidad de Osquery para usar la sintaxis SQL es una gran ventaja que puede ayudarlo a construir conjuntos de datos complejos que pueden brindarle un análisis más profundo de un sistema. También crea un puente que los desarrolladores de SQL que usan motores como PostgreSQL, MySQL y otros pueden usar para adaptarse con facilidad.

https: // osquery.readthedocs.IO/EN/STABLE/INTRODUCCIÓN/SQL/

Un proyecto paralelo divertido

Cuando explore a Osquery aún más y experimente con ella, descubrirá que es una herramienta integral y poderosa que facilita la creación de proyectos específicamente ajustados para monitorear sus sistemas.

Debido al alcance de este tutorial y para evitar principiantes confusos, no profundizaremos en proyectos complejos. Eso mencionó, aquí hay algunas herramientas que puede construir usando Osquery:

  • Recopilar registros con Logstash
  • Construya un tablero de monitor de sistema con Elasticsearch, Logstash y Kibana.
  • Construya la flota de Osquery con Kolide

https: // osquery.readthedocs.io/en/stable/implementment/log-agregation/
https: // www.elástico.CO/guía/en/beats/fileBeat/7.10/fileBeat-Module-Osquery.html
https: // github.com/fleetdm/flota

Conclusión

En este tutorial, observamos los conceptos básicos de Osquery, incluida cómo usarla para recopilar información del sistema.

Aunque no es integral, esta guía se propuso proporcionarle una introducción rápida y directa a Osquery; De ninguna manera fue una guía de referencia.

Siéntase libre de usar otros recursos para obtener una comprensión más profunda de los diversos conceptos que hemos discutido en este tutorial.