Como instalar osquery no Debian Top 10

Como instalar osquery no Debian Top 10
Neste tutorial de Osquery, começaremos discutindo o que é osquerery, como funciona, como instalá -lo no Debian, uma rápida introdução ao SQL e, finalmente, construir um projeto detalhando como integrar Osquery com a pilha de alces.

Para manter este tutorial conciso, não vamos mergulhar profundamente no “quê” e “como” da pilha de alces. Em vez disso, discutiremos de maneira rápida e direta como usá -lo com osquery. Também assumiremos que você tem um conhecimento prático do SQL-o guia fornecido, apesar de.

O que é Osquery?

Desenvolvido pelo Facebook, Osquery é uma ferramenta de plataforma cruzada e de código aberto usado para consultar e monitorar sistemas usando consultas baseadas em SQL.

Osquery pode interagir com o sistema e coletar informações detalhadas, como uso de memória, processos de execução, módulos de kernel carregados, eventos de hardware, conexões de rede, etc. A ferramenta é executada em todos os sistemas, incluindo Windows, Linux, Mac e BSD.

Usando o Osquery, você pode criar consultas SQL que exibem informações sobre o sistema e usam essas informações para monitorar e analisar os dados coletados.

Como instalar osquery em sistemas Debian

A instalação de Osquery no Debian Systems é muito fácil e, embora não esteja disponível nos principais repositórios do Debian, acrescentando que é bastante direto.

Vejamos o primeiro método que você pode usar para instalar Osquery no Debian:

A primeira e mais simples etapa é baixar o instalador Deb na página principal:

https: // pkg.Osquery.io/deb/Osquery_4.6.0-1.Linux_amd64.Deb

wget https: // pkg.Osquery.io/deb/Osquery_4.6.0-1.Linux_amd64.Deb
sudo dpkg -i Osquery_4.6.0-1.Linux_amd64.Deb

Recomendamos o método acima, pois os pacotes de Deb têm muito poucas dependências da maioria das distribuições do Debian. No entanto, se você deseja adicionar ao APT, use o próximo método.

Digite os seguintes comandos para instalar osquery a partir dos repositórios.

exportar osquery_key = 1484120ac4e9f8a1a577aeee97a80c63c9d8b80b
sudo apt-key Adv-KeyServer hkp: // KeyServer.Ubuntu.com: 80--RECV-KEYS $ osquery_key
sudo add-aprop-repository 'deb [arch = amd64] https: // pkg.Osquery.io/Deb Deb Main '
Atualização de sudo apt-get
sudo apt-get install Osquery

Como usar osquery no Debian 10

Antes de mergulhar profundamente na construção de scripts automatizados e trabalhando com a pilha de alces, vamos discutir um uso simples de osquery no sistema local.

Osquery tem três componentes principais que você pode usar para interagir com a API.

Osquery: O primeiro componente é Osqueryi, uma sessão interativa. O modo Osqueryi é totalmente independente e não requer interação com o daemon Osquery-Osquery. Usando o modo Osqueryi, você pode executar interativamente as consultas SQL e explorar o sistema atual semelhante a um shell SQL.

OBSERVAÇÃO: Osquery respeita os espaços do usuário e, se você executar o shell como um modo de usuário regular, não terá acesso a tabelas privilegiadas.

Osqueryd: O outro componente é Osqueryd, o Daemon Osquery usado para agendar consultas e gravar mudanças de estado em segundo plano. O daemon funciona agregando resultados de consultas executados em um período de tempo específico e gera toras usadas para comparar as mudanças de estado de todas as consultas.

Osqueryctl: O terceiro componente é osqueryctl, um script auxiliar usado para testar a configuração de implantação. Você também pode usá -lo como um gerente de serviço Osquery, permitindo que você inicie e interrompa o serviço.

Fora da caixa, Osquery nada mais é do que uma ferramenta simples para consultar informações sobre o sistema. No entanto, quando você combina as consultas para construir dados bem classificados e agregados, torna-se mais do que uma ferramenta de consulta.

Para se rolar, vamos começar com o básico para entender como funciona:

O primeiro passo é obter ajuda com o comando:

sudo Osqueryd -Help

Este comando exibirá a ajuda do Daemon Osquery, com uma lista de argumentos que você pode usar no shell.

A próxima maneira e mais fácil de interagir com Osquery é usar a sessão de Osqueryi. Por exemplo, se você executar o comando Osqueryi sem argumento, você entrará em um shell do tipo SQL:

sudo Osqueryi

Dentro do shell Osqueryi, você pode executar comandos e sintaxe SQL para selecionar informações específicas sobre o sistema.

Para visualizar o modo de ajuda dentro do shell Osqueryi, use o comando:

Osquery> .ajuda

A execução deste comando deve exibir ajuda em relação à sessão de Osquery.

Como Osquery é um mapeador de banco de dados relacional para o seu sistema, ele possui uma lista de tabelas que você pode usar para selecionar informações usando consultas sqlite.

OBSERVAÇÃO: As consultas de Osquery são baseadas em sqlite. Você pode consultar sua documentação se Osquery não fornecer informações suficientes:

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

Dentro do shell Osqueryi, use o comando:

Osquery> .mesas

Este comando lista as tabelas disponíveis contendo informações do sistema.

A partir daí, você pode selecionar informações dos esquemas disponíveis. Por exemplo, veja as informações sobre resolvedores de DNS.

Selecione * de dns_resolvers;

Dependendo do esquema que você consulta, você receberá um monte de informações e pode precisar usar uma combinação de consultas SQL para entender isso.

Você pode aprender mais sobre as tabelas e esquemas de Osquery a partir do seguinte recurso:

    https: // Osquery.io/esquema

Um guia básico do SQL

Osquery trabalha usando consultas de sintaxe do SQLite para coletar informações sobre um sistema. Eu não tenho ideia de por que o Facebook escolheu essa rota, mas funciona.

Este tutorial simples discutirá o básico do SQLite para explicar como você pode usá -lo para interagir com osquery.

OBSERVAÇÃO: Isso não deve ser um guia para SQL ou idiomas relacionados. Para mais guias específicos de linguagem, consulte a documentação primária.

Selecionando entradas específicas de uma tabela

Usando a sintaxe básica do sqlite, podemos selecionar informações específicas em uma tabela usando a instrução SELECT como mostrado:

Selecione PID, nome, caminho dos processos;

Adicionando funções SQL

Osquery também suporta funções SQL, permitindo que você execute várias ações com dados coletados nas consultas.

Por exemplo, a função de contagem pode permitir que você visualize o número de usuários em seu sistema.

Selecione contagem (*) dos usuários;

Este comando retornará o número total de usuários no sistema.

A capacidade de Osquery usar a sintaxe do SQL é uma enorme vantagem que pode ajudá-lo a criar conjuntos de dados complexos que podem fornecer uma análise mais aprofundada de um sistema. Ele também cria uma ponte que os desenvolvedores da SQL usando motores como PostgreSQL, MySQL e outros podem usar para se adaptar com facilidade.

https: // Osquery.ReadThEdocs.io/pt/stable/introdução/sql/

Um projeto divertido e paralelo

Quando você explora ainda mais Osquery e experimenta, você descobrirá que é uma ferramenta abrangente e poderosa que facilita a criação de projetos especificamente sintonizados para monitorar seus sistemas.

Devido ao escopo deste tutorial e, para evitar confundir iniciantes, não vamos nos aprofundar em projetos complexos. Isso mencionado, aqui estão algumas ferramentas que você pode construir usando osquery:

  • Coleta toras com Logstash
  • Construa um painel de monitor do sistema com Elasticsearch, Logstash e Kibana.
  • Construa a frota Osquery com Kolide

https: // Osquery.ReadThEdocs.io/pt/stable/implantação/agregação log/
https: // www.elástico.co/guia/en/beats/filebeat/7.10/FileBeat-Module-OSQUERY.html
https: // github.com/fleetdm/frota

Conclusão

Neste tutorial, analisamos o básico de Osquery, incluindo como usá -lo para coletar informações do sistema.

Embora não seja abrangente, este guia proposto para fornecer uma introdução rápida e direta ao Osquery; De maneira alguma era um guia de referência.

Sinta -se à vontade para usar outros recursos para obter uma compreensão mais profunda dos vários conceitos que discutimos neste tutorial.