
Osquery es una instrumentación del sistema operativo alimentado por SQL, monitoreo y marco de análisis.
Disponible para Linux, MacOS y Windows.


Osquery expone un sistema operativo como una base de datos relacional de alto rendimiento. Esto le permite escribir consultas basadas en SQL para explorar los datos del sistema operativo. Con Osquery, las tablas SQL representan conceptos abstractos como procesos en ejecución, módulos de núcleo cargados, conexiones de red abiertas, complementos de navegador, eventos de hardware o hashes de archivos.
Las tablas SQL se implementan a través de un complemento simple y una API de extensiones. Ya existen una variedad de tablas y se están escribiendo más: https://osquery.io/schema. Para comprender mejor la expresividad que le brinda Osquery, considere las siguientes consultas SQL:
Lista de los users :
SELECT * FROM users; Verifique los processes que tienen un ejecutable eliminado:
SELECT * FROM processes WHERE on_disk = 0 ;Obtenga el nombre del proceso, el puerto y el PID, para los procesos que escuchan en todas las interfaces:
SELECT DISTINCT processes . name , listening_ports . port , processes . pid
FROM listening_ports JOIN processes USING (pid)
WHERE listening_ports . address = ' 0.0.0.0 ' ;Encuentre todos los macOS Launchdaemon que lanza un ejecutable y lo mantiene en funcionamiento:
SELECT name, program || program_arguments AS executable
FROM launchd
WHERE (run_at_load = 1 AND keep_alive = 1 )
AND (program != ' ' OR program_arguments != ' ' );Verifique las anomalías ARP desde la perspectiva del anfitrión:
SELECT address, mac, COUNT (mac) AS mac_count
FROM arp_cache GROUP BY mac
HAVING count (mac) > 1 ;Alternativamente, también puede usar una subcreamera SQL para lograr el mismo resultado:
SELECT address, mac, mac_count
FROM
( SELECT address, mac, COUNT (mac) AS mac_count FROM arp_cache GROUP BY mac)
WHERE mac_count > 1 ;Estas consultas pueden ser:
Para descargar las últimas compilaciones estables y para información de repositorio e instrucciones de instalación, visite https://osquery.io/downloads.
Utilizamos un esquema de versiones de numerada simple XYZ , donde X es una versión principal, y es menor de edad y Z es un parche. Planeamos lanzamientos menores aproximadamente cada dos meses. Estos lanzamientos se rastrean en nuestra página de hitos. Se usa una versión en el parche cuando hay errores imprevistos con nuestra versión menor y necesitamos un parche rápidamente. Se podría usar una rara versión de 'revisión' si necesitamos cambiar las configuraciones de compilación.
Las versiones mayores, menores y de parches están etiquetadas en GitHub y se pueden ver en la página de versiones. Abrimos un nuevo problema de la lista de verificación de lanzamiento cuando preparamos una versión menor. Si está interesado en el estado de una versión, encuentre el problema de la lista de verificación correspondiente y tenga en cuenta que el problema se marcará cuando estemos terminados la lista de verificación. Consideramos un lanzamiento 'en prueba' durante el período de alojamiento de nuevas descargas en nuestro sitio web y agregándolas a nuestros repositorios alojados. Marcaremos el lanzamiento como 'estable' en GitHub cuando se haya producido suficientes pruebas, esto generalmente lleva dos semanas.
¡Se alienta la construcción de Osquery a partir de la fuente! Echa un vistazo a nuestra guía de compilación. También vea nuestra guía de contribución y únase a la comunidad en Slack.
Hay muchos gerentes de flota de Osquery por ahí. El proyecto Osquery no respalda, recomienda ni prueba estos. Se proporcionan como punto de partida
| Proyecto | Licencia |
|---|---|
| Flota | Núcleo abierto |
| Kolide | Comercial |
| OSCTRL | Código abierto |
| Zentral | Código abierto |
Al contribuir a Osquery, acepta que sus contribuciones se licenciarán según lo definido en el archivo de licencia.
Hacemos un seguimiento de los anuncios de seguridad en nuestra versión etiquetada de la versión de versión en GitHub. Los agregamos a Security.md también.
La documentación de Osquery está disponible en línea. La documentación para versiones anteriores también se puede encontrar por número de versión.
Si está interesado en aprender más sobre Osquery, lea la publicación del blog de lanzamiento para obtener experiencia en el proyecto, visite la Guía de usuarios.
El desarrollo y la discusión de uso están ocurriendo en la holgura de Osquery, ¡tome una invitación aquí!