Ubuntu

Como instalar e usar o Osquery no Ubuntu

Como instalar e usar o Osquery no Ubuntu
Osquery é um utilitário de software de código aberto e plataforma cruzada que pode ser usado 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 pacotes não estão disponíveis no repositório padrão do Ubuntu, portanto, antes de instalá-lo, temos que adicionar o Osquery repositório apt executando o seguinte comando no terminal.

[email protegido]: ~ $ echo "deb [arch = amd64] https: // pkg.Osquery.io / deb deb main "|
sudo tee / etc / apt / sources.Lista.d / osquery.Lista

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

[email protegido]: ~ $ sudo apt-key adv --keyserver keyserver.ubuntu.com
--recv-keys 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B

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

[email protegido]: ~ $ sudo apt-get update

Agora instale Osquery executando o seguinte comando

[email protegido]: ~ $ sudo apt-get install osquery

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

[email protegido]: ~ $ osqueryi --version

Se der o seguinte resultado, então está 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

[email protegido]: ~ $ osqueryi

Conseguindo ajuda

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

osquery> .ajuda

Obtendo todas as tabelas

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

osquery> .mesas

Como podemos ver, executando o comando acima, podemos obter um monte de tabelas. 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 os usuários executando o seguinte comando no shell interativo

osquery> SELECT * FROM users;

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> SELECT username FROM users;

O comando acima irá mostrar todos os usuários em seu sistema

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

osquery> SELECT nome de usuário, diretório DE 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> SELECT * FROM users WHERE username = "root";

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

osquery> SELECT nome de usuário, gid FROM usuários WHERE nome de usuário = ”root”

Desta forma, podemos consultar qualquer coisa que quisermos de uma tabela.

Listando todos os processos

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

osquery> SELECT * FROM processos LIMIT 5;

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

Podemos encontrar o id do processo de um processo específico, por exemplo, queremos encontrar o id do processo do mongodb por isso iremos executar o seguinte comando na shell interactiva

osquery> SELECT pid FROM processos WHERE name = "mongod";

Encontrar a versão do Ubuntu

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

osquery> SELECT * FROM os_version;

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

Verificando 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> SELECT interface, endereço, máscara FROM interface_addresses
WHERE interface NÃO COMO '% lo%';

Verificando usuários conectados

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

osquery> SELECIONE usuário, host, hora de usuários_logados WHERE tty NÃO COMO '-';

Verificando a memória do sistema

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

osquery> SELECT memory_total FROM memory_info;

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

osquery> SELECT memory_free FROM memory_info;

Quando executamos o comando acima, ele nos dará memória livre 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> select cached from memory_info;

Listando os grupos

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

osquery> SELECT * FROM groups;

Exibindo portas de escuta

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

osquery> SELECT * FROM listening_ports;

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

osquery> SELECT porta, endereço FROM listen_ports WHERE port = 27017;

Isso nos dará a saída conforme 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á conhece as consultas baseadas em SQL, então é muito fácil de usar para você ou se você não conhece as consultas baseadas em SQL, então eu tentei o meu melhor para mostrar a você algumas das principais consultas que são úteis para encontrar dados. Você pode encontrar qualquer tipo de dado em qualquer tabela executando consultas semelhantes.

OpenTTD vs Simutrans
Criar sua própria simulação de transporte pode ser divertido, relaxante e extremamente atraente. É por isso que você precisa ter certeza de experiment...
Tutorial OpenTTD
OpenTTD é um dos jogos de simulação de negócios mais populares que existem. Neste jogo, você precisa criar um maravilhoso negócio de transporte. No en...
SuperTuxKart para Linux
SuperTuxKart é um ótimo título projetado para trazer a você a experiência Mario Kart gratuitamente em seu sistema Linux. É bastante desafiador e diver...