Como instalar e usar osquery no Ubuntu

Como instalar e usar osquery no Ubuntu
Osquery é um utilitário de software de código aberto e de plataforma cruzada que pode ser usada para expor um sistema operacional como um banco de dados relacional. Podemos obter dados do sistema operacional executando consultas baseadas em SQL. Neste blog, veremos como instalar Osquery no Ubuntu e como usá -lo para obter dados do sistema operacional.

Instalando Osquery no Ubuntu

Osquery Os pacotes não estão disponíveis no repositório Ubuntu padrão, portanto, antes de instalá -lo, temos que adicionar o Osquery repositório APT executando o seguinte comando no terminal.

ubuntu@ubuntu: ~ $ echo "deb [arch = amd64] https: // pkg.Osquery.IO/Deb Main "|
sudo tee/etc/apt/fontes.lista.d/osquery.lista

Agora vamos importar a chave de assinatura executando o seguinte comando no terminal.

ubuntu@ubuntu: ~ $ sudo apt-key Adv-KeyServer.Ubuntu.com
--RECV-KEYS 1484120AC4E9F8A1A577AEEEE97A80C63C9D8B80B

Depois de importar a chave de assinatura, agora atualize seu sistema executando o seguinte comando no terminal.

ubuntu@ubuntu: ~ update APT-Get Apt-Get

Agora instale Osquery Ao executar o seguinte comando

ubuntu@ubuntu: ~ $ sudo apt-get install Osquery

Depois de instalar Osquery, Agora temos que verificar se foi instalado corretamente executando o seguinte comando

ubuntu@ubuntu: ~ $ osqueryi --version

Se fornecer a seguinte saída, ele será instalado corretamente

Usando osquery

Agora, após a instalação, estamos prontos para usar Osquery. Execute o seguinte comando para ir para o prompt de shell interativo

ubuntu@ubuntu: ~ $ osqueryi

Conseguindo ajuda

Agora podemos executar consultas baseadas em SQL para obter dados do sistema operacional. Podemos obter ajuda sobre Osquery Ao executar o seguinte comando no shell interativo.

Osquery> .ajuda

Obtendo todas as mesas

Como mencionado anteriormente, Osquery expõe dados do sistema operacional como um banco de dados relacional, para que ele tenha todos os dados na forma de tabelas. Podemos obter todas as tabelas executando o seguinte comando no shell interativo

Osquery> .mesas

Como podemos ver isso executando o comando acima, podemos obter um monte de mesas. Agora podemos obter dados dessas tabelas executando consultas baseadas em SQL.

Listando informações sobre todos os usuários

Podemos ver todas as informações sobre usuários executando o seguinte comando no shell interativo

Osquery> selecione * dos usuários;

O comando acima exibirá GID, UID, Descrição etc. de todos os usuários

Também podemos extrair apenas os dados relevantes sobre os usuários, por exemplo, queremos ver apenas os usuários e não outras informações sobre os usuários. Execute o seguinte comando no shell interativo para obter os nomes de usuário

Osquery> selecione o nome de usuário dos usuários;

O comando acima mostrará todos os usuários do seu sistema

Da mesma forma, podemos obter nomes de usuário junto com o diretório em que o usuário existe executando o seguinte comando.

Osquery> selecione Nome de usuário, diretório dos usuários;

Da mesma forma, podemos consultar quantos campos quisermos, executando os comandos semelhantes.

Também podemos obter todos os dados de usuários específicos. Por exemplo, queremos obter todas as informações sobre o usuário root. Podemos obter todas as informações sobre o usuário root executando o seguinte comando.

Osquery> selecione * de usuários onde o nome de usuário = "root";

Também podemos obter dados específicos de campos específicos (colunas). Por exemplo, queremos obter o ID do grupo e o nome de usuário do usuário raiz. Execute o seguinte comando para obter esses dados.

Osquery> Selecione o nome de usuário, GID dos usuários onde o nome de usuário = "root"

Dessa forma, podemos consultar tudo o que queremos de uma mesa.

Listando todos os processos

Podemos listar os cinco primeiros processos em execução no Ubuntu executando o seguinte comando no shell interativo

Osquery> Selecione * FROM PROCESSOS LIMITE 5;

Como existem muitos processos em execução no sistema, exibimos apenas cinco processos usando a palavra -chave limitada.

Podemos encontrar o ID do processo de um processo específico, por exemplo

Osquery> selecione PID de processos onde name = "MongoD";

Encontrando a versão do Ubuntu

Podemos encontrar a versão do nosso sistema Ubuntu executando o seguinte comando no shell interativo

Osquery> selecione * do OS_VERSION;

Isso nos mostrará a versão do nosso sistema operacional

Verificação de interfaces de rede e endereços IP

Podemos verificar o endereço IP, máscara de sub -rede das interfaces de rede executando a seguinte consulta no shell interativo.

Osquery> selecione interface, endereço, máscara da interface_addresses
Onde interface não é como '%lo%';

Verificando os usuários conectados

Também podemos verificar os usuários conectados no seu sistema, consultando dados da tabela 'logged_in_users'. Execute o seguinte comando para encontrar usuários conectados.

Osquery> selecione Usuário, host, tempo de logged_in_users onde tty não gosta '-';

Verificação da memória do sistema

Também podemos verificar a memória total, memória em cache de memória livre etc. Executando algum comando baseado em SQL no shell interativo. Para verificar a memória total, execute o seguinte comando. Isso nos dará uma memória total do sistema em bytes.

Osquery> selecione Memory_total em Memory_info;

Para verificar a memória livre do seu sistema, execute a seguinte consulta no shell interativo

Osquery> selecione Memory_Free de Memory_info;

Quando executamos o comando acima, ele nos dará memória gratuita disponível em nosso sistema

Também podemos verificar a memória em cache do sistema usando a tabela Memory_info executando a seguinte consulta.

Osquery> selecione armazenado em cache em memória_info;

Listando os grupos

Podemos encontrar todos os grupos do seu sistema executando a seguinte consulta no shell interativo

Osquery> selecione * FROM GRUPOS;

Exibindo portas de escuta

Podemos exibir todas as portas de escuta do nosso sistema executando o seguinte comando no shell interativo

Osquery> selecione * de auditório_ports;

Também podemos verificar se uma porta está ouvindo ou não executando o seguinte comando no shell interativo

Osquery> Selecione Port, endereço em audição_ports onde porta = 27017;

Isso nos dará saída, como mostrado na figura a seguir

Conclusão

Osquery é um utilitário de software muito útil para encontrar qualquer tipo de informação sobre o seu sistema. Se você já está ciente das consultas baseadas em SQL, é muito fácil de usar para você ou se você não estiver ciente das consultas baseadas em SQL, tentei o meu melhor para mostrar algumas perguntas importantes que são úteis para encontrar dados. Você pode encontrar qualquer tipo de dados de qualquer tabela executando consultas semelhantes.