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> .ajudaObtendo 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> .mesasComo 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_addressesVerificando 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.