Debian

Cómo instalar Osquery en Debian 10

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

Para mantener este tutorial conciso, no profundizaremos en el "qué" y "cómo" de la pila ELK. En su lugar, analizaremos de forma rápida y sencilla cómo usarlo con Osquery. También asumiremos que tiene un conocimiento práctico de SQL, a pesar de la guía proporcionada).

Que es Osquery?

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

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

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

Cómo instalar Osquery en sistemas Debian

Instalar Osquery en sistemas Debian es muy fácil, y aunque no está disponible en los repositorios principales de Debian, agregarlo es bastante sencillo.

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

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

https: // paquete.osquery.io / deb / osquery_4.6.0-1.linux_amd64.debutante

wget https: // paquete.osquery.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 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: // servidor de claves.ubuntu.com: 80 --recv-keys $ OSQUERY_KEY
sudo add-apt-repository 'deb [arch = amd64] https: // paquete.osquery.io / deb deb main '
sudo apt-get update
sudo apt-get install osquery

Cómo utilizar Osquery en Debian 10

Antes de profundizar en la creación de scripts automatizados y trabajar con la pila ELK, analicemos un uso simple de Osquery en el sistema local.

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

Osquery: 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. Con el modo osqueryi, puede ejecutar consultas SQL de forma interactiva y explorar el sistema actual de forma similar a un shell SQL.

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

Osqueryd: El otro componente es osqueryd, el demonio de Osquery utilizado para programar consultas y registrar cambios de estado en segundo plano. El demonio funciona agregando los resultados de las consultas ejecutadas durante un período de tiempo específico y genera registros que se utilizan para comparar los cambios de estado de cada consulta.

Osqueryctl: El tercer componente es Osqueryctl, un script auxiliar que se usa para probar la configuración de implementación. También puede usarlo como administrador de servicios de Osquery, lo que le permite iniciar y detener el servicio.

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

Para empezar a rodar, comencemos con lo básico para entender cómo funciona:

El primer paso es obtener ayuda con el comando:

sudo osqueryd --help

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

La siguiente, y la forma más sencilla de interactuar con Osquery, es utilizar la sesión de osqueryi. Por ejemplo, si ejecuta el comando osqueryi sin un argumento, caerá en un shell similar a SQL:

sudo osqueryi

Dentro del shell 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 osqueryi, use el comando:

osquery> .ayuda

La ejecución de este comando debería mostrar ayuda con respecto a la sesión de Osquery.

Dado que Osquery es un mapeador de bases de datos relacionales para su sistema, tiene una lista de tablas que puede usar para seleccionar información de las 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 / index.html

Dentro del shell 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 resolutores de DNS.

SELECCIONAR * DE dns_resolvers;

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

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

https: // osquery.io / schema / 4.6.0 /

Una guía básica de SQL

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

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

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

Seleccionar entradas específicas de una tabla

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

SELECCIONE pid, nombre, ruta DESDE los procesos;

Agregar funciones SQL

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

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

SELECCIONE CONTAR (*) 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 utilizan motores como PostgreSQL, MySQL y otros pueden utilizar para adaptarse con facilidad.

https: // osquery.readthedocs.io / en / estable / introducción / sql /

Un divertido proyecto paralelo

Cuando explore Osquery más a fondo y experimente con él, descubrirá que es una herramienta completa 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 confundir a los principiantes, no profundizaremos en proyectos complejos. Dicho esto, aquí hay algunas herramientas que puede construir usando Osquery:

https: // osquery.readthedocs.io / es / stable / deployment / log-aggregation /
https: // www.elástico.co / guide / es / beats / filebeat / 7.10 / filebeat-module-osquery.html
https: // github.com / fleetdm / fleet

Conclusión

En este tutorial, analizamos los conceptos básicos de Osquery, incluido cómo usarlo para recopilar información del sistema.

Aunque no es exhaustiva, esta guía tiene como objetivo proporcionarle una introducción rápida y sencilla a Osquery; de ninguna manera fue una guía de referencia.

No dude en utilizar otros recursos para obtener una comprensión más profunda de los diversos conceptos que hemos discutido en este tutorial.

Cómo invertir la dirección de desplazamiento del mouse y los paneles táctiles en Windows 10
Ratón y Panel táctils no solo facilitan la informática, sino que también hacen que sea más eficiente y requieran menos tiempo. No podemos imaginar una...
Cómo cambiar el tamaño, el color y el esquema del puntero del mouse y del cursor en Windows 10
El puntero y el cursor del mouse en Windows 10 son aspectos muy importantes del sistema operativo. Esto también se puede decir de otros sistemas opera...
Motores de juegos gratuitos y de código abierto para desarrollar juegos de Linux
Este artículo cubrirá una lista de motores de juegos de código abierto y gratuitos que se pueden usar para desarrollar juegos 2D y 3D en Linux. Existe...