Debian

Como instalar o Osquery no Debian 10

Como instalar o Osquery no Debian 10
Neste tutorial do Osquery, começaremos discutindo o que é o Osquery, como funciona, como instalá-lo no Debian, uma introdução rápida ao SQL e, finalmente, construir um projeto detalhando como integrar o Osquery com o ELK Stack.

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

O que é Osquery?

Desenvolvido pelo Facebook, o Osquery é uma ferramenta de plataforma cruzada de código aberto usada 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 em execução, módulos de kernel carregados, eventos de hardware, conexões de rede, etc. A ferramenta funciona 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 usar essas informações para monitorar e analisar os dados coletados.

Como instalar o Osquery em sistemas Debian

Instalar o Osquery em sistemas Debian é muito fácil e, embora não esteja disponível nos repositórios principais do Debian, adicioná-lo é bastante simples.

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

A primeira e mais simples etapa é baixar o deb installer 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 visto que os pacotes deb têm muito poucas dependências na maioria das distribuições Debian. No entanto, se você deseja adicionar ao apt, use o próximo método.

Digite os seguintes comandos para instalar o Osquery dos repositórios.

export OSQUERY_KEY = 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
sudo apt-key adv --keyserver hkp: // keyserver.ubuntu.com: 80 --recv-keys $ OSQUERY_KEY
sudo add-apt-repository 'deb [arch = amd64] https: // pkg.Osquery.io / deb deb main '
sudo apt-get update
sudo apt-get install osquery

Como usar o Osquery no Debian 10

Antes de mergulhar na construção de scripts automatizados e trabalhar com a pilha ELK, vamos discutir alguns usos simples do 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 de shell interativa. O modo osqueryi é totalmente autônomo e não requer interação com o daemon Osquery-Osquery. Usando o modo osqueryi, você pode executar consultas SQL interativamente e explorar o sistema atual semelhante a um shell SQL.

NOTA: O Osquery respeita os espaços do usuário, e se você executar o shell como um modo de usuário normal, você não terá acesso às tabelas privilegiadas.

Osqueryd: O outro componente é osqueryd, o daemon Osquery usado para agendar consultas e registrar mudanças de estado em segundo plano. O daemon funciona agregando resultados de consulta executados em um período de tempo específico e gera logs usados ​​para comparar as mudanças de estado de cada consulta.

Osqueryctl: O terceiro componente é Osqueryctl, um script auxiliar usado para testar a configuração da implantação. Você também pode usá-lo como um gerenciador de serviço Osquery, permitindo que você inicie e pare 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 começar, vamos começar com o básico para entender como funciona:

A primeira etapa é obter ajuda com o comando:

sudo osqueryd --help

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

A próxima, e a maneira mais fácil de interagir com o Osquery, é usar a sessão do Osqueryi. Por exemplo, se você executar o comando osqueryi sem um argumento, entrará em um shell semelhante ao 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

Executar este comando deve exibir ajuda sobre a sessão Osquery.

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

NOTA: As consultas do Osquery são baseadas em SQLite. Você pode consultar sua documentação se Osquery não fornecer informações suficientes:

https: // www.sqlite.org / index.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.

SELECT * FROM dns_resolvers;

Dependendo do esquema que você consultar, você obterá um monte de informações e pode precisar usar uma combinação de consultas SQL para entendê-lo.

Você pode aprender mais sobre as tabelas e esquemas do Osquery no seguinte recurso:

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

Um guia básico de SQL

Osquery funciona usando consultas de sintaxe SQLite para coletar informações sobre um sistema. Não tenho ideia de por que o Facebook escolheu esse caminho, mas funciona.

Este tutorial simples irá discutir os fundamentos do SQLite para explicar como você pode usá-lo para interagir com o Osquery.

NOTA: Isso não tem a intenção de ser um guia para SQL ou linguagens relacionadas. Para obter mais guias específicos de idioma, consulte a documentação principal.

Seleção de entradas específicas de uma tabela

Usando a sintaxe SQLite básica, podemos selecionar informações específicas de uma tabela usando a instrução SELECT, conforme mostrado:

SELECT pid, nome, caminho de processos;

Adicionar funções SQL

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

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

SELECT COUNT (*) FROM users;

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

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

https: // osquery.readthedocs.io / en / estável / introdução / sql /

Um divertido projeto paralelo

Quando você explorar mais o Osquery e experimentá-lo, descobrirá que é uma ferramenta abrangente e poderosa que facilita a criação de projetos especificamente ajustados para monitorar seus sistemas.

Por causa do escopo deste tutorial, e para evitar confundir os iniciantes, não vamos nos aprofundar em projetos complexos. Dito isso, aqui estão algumas ferramentas que você pode construir usando o Osquery:

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

Conclusão

Neste tutorial, vimos os fundamentos do Osquery, incluindo como usá-lo para coletar informações do sistema.

Embora não seja abrangente, este guia tem como objetivo fornecer uma introdução rápida e direta ao Osquery; de forma 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.

Como aumentar o FPS no Linux?
FPS significa Quadros por segundo. A tarefa do FPS é medir a taxa de quadros em reproduções de vídeo ou desempenho de jogos. Em palavras simples, o nú...
Top jogos do Oculus App Lab
Se você é proprietário de um fone de ouvido Oculus, deve estar informado sobre o carregamento lateral. Sideload é o processo de instalação de conteúdo...
Os 10 melhores jogos para jogar no Ubuntu
A plataforma Windows tem sido uma das plataformas dominantes para jogos devido à grande porcentagem de jogos que estão sendo desenvolvidos hoje para o...