Instalace Osquery v Ubuntu
Osquery balíčky nejsou k dispozici ve výchozím úložišti Ubuntu, takže před instalací musíme přidat Osquery úložiště apt spuštěním následujícího příkazu v terminálu.
[chráněno e-mailem]: ~ $ echo "deb [arch = amd64] https: // pkg.osquery.io / deb deb hlavní "|sudo tee / etc / apt / sources.seznam.d / osquery.seznam
Nyní importujeme podpisový klíč spuštěním následujícího příkazu v terminálu.
[chráněno e-mailem]: ~ $ sudo apt-key adv --keyserver keyserver.ubuntu.com--Recv klíče 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
Po importu podpisového klíče nyní aktualizujte svůj systém spuštěním následujícího příkazu v terminálu.
[chráněno e-mailem]: ~ $ sudo apt-get aktualizaceNyní nainstalujte Osquery spuštěním následujícího příkazu
[chráněno e-mailem]: ~ $ sudo apt-get install osqueryPo instalaci Osquery, nyní musíme zkontrolovat, zda byl správně nainstalován spuštěním následujícího příkazu
[chráněno e-mailem]: ~ $ osqueryi - verzePokud poskytuje následující výstup, je nainstalován správně
Používání Osquery
Nyní po instalaci jsme připraveni k použití Osquery. Spuštěním následujícího příkazu přejděte na výzvu interaktivního prostředí
[chráněno e-mailem]: ~ $ osqueryi
Získání pomoci
Nyní můžeme spustit dotazy založené na SQL, abychom získali data z operačního systému. Můžeme získat pomoc Osquery spuštěním následujícího příkazu v interaktivním prostředí.
osquery> .Pomoc
Získání všech tabulek
Jak již bylo zmíněno dříve, Osquery vystavuje data z operačního systému jako relační databázi, takže má všechna data ve formě tabulek. Všechny tabulky můžeme získat spuštěním následujícího příkazu v interaktivním prostředí
osquery> .tabulky
Jak vidíme, spuštěním výše uvedeného příkazu můžeme získat spoustu tabulek. Nyní můžeme získat data z těchto tabulek spuštěním dotazů založených na SQL.
Výpis informací o všech uživatelích
Všechny informace o uživatelích můžeme zobrazit spuštěním následujícího příkazu v interaktivním prostředí
osquery> SELECT * FROM users;Výše uvedený příkaz zobrazí gid, uid, description atd. všech uživatelů
Můžeme také extrahovat pouze relevantní data o uživatelích, například chceme vidět pouze uživatele a ne další informace o uživatelích. Spusťte následující příkaz v interaktivním prostředí a získejte uživatelská jména
osquery> VYBRAT uživatelské jméno OD uživatelů;Výše uvedený příkaz zobrazí všechny uživatele ve vašem systému
Podobně můžeme získat uživatelská jména spolu s adresářem, ve kterém uživatel existuje, spuštěním následujícího příkazu.
osquery> VYBRAT uživatelské jméno, adresář OD uživatelů;
Podobně můžeme spustit dotaz na tolik polí, kolik chceme, spuštěním podobných příkazů.
Můžeme také získat všechna data konkrétních uživatelů. Například chceme získat všechny informace o uživateli root. Všechny informace o uživateli root získáme spuštěním následujícího příkazu.
osquery> SELECT * FROM users WHERE username = "root";
Můžeme také získat konkrétní data z konkrétních polí (sloupců). Například chceme získat ID skupiny a uživatelské jméno uživatele root. Spuštěním následujícího příkazu získáte tato data.
osquery> VYBRAT uživatelské jméno, gid OD uživatelů WHERE uživatelské jméno = ”root”
Tímto způsobem můžeme z tabulky dotazovat na cokoli chceme.
Výpis všech procesů
Můžeme vypsat prvních pět procesů spuštěných v ubuntu spuštěním následujícího příkazu v interaktivním prostředí
osquery> SELECT * FROM procesy LIMIT 5;
Jelikož v systému běží mnoho procesů, tak jsme pomocí klíčového slova LIMIT zobrazili pouze pět procesů.
Můžeme najít ID procesu konkrétního procesu, například chceme najít ID procesu MongoDB, takže v interaktivním prostředí spustíme následující příkaz
osquery> SELECT pid FROM procesy WHERE name = "mongod";
Nalezení verze Ubuntu
Verzi našeho systému Ubuntu najdeme spuštěním následujícího příkazu v interaktivním prostředí
osquery> SELECT * FROM os_version;Ukáže nám verzi našeho operačního systému
Kontrola síťových rozhraní a IP adres
Můžeme zkontrolovat IP adresu, masku podsítě síťových rozhraní spuštěním následujícího dotazu v interaktivním prostředí.
osquery> SELECT interface, address, mask FROM interface_addressesWHERE interface NOT LIKE '% lo%';
Kontrola přihlášených uživatelů
Můžeme také zkontrolovat přihlášené uživatele ve vašem systému dotazem na data z tabulky „protokolovaní_uživatelé“. Spuštěním následujícího příkazu vyhledejte přihlášené uživatele.
osquery> VYBRAT uživatele, hostitele, čas OD ZÁZNAMU_uživatele WHERE tty NENÍ RÁD '' - ';
Kontrola systémové paměti
Můžeme také zkontrolovat celkovou paměť, volnou paměť v mezipaměti atd. spuštěním nějakého příkazu založeného na SQL v interaktivním prostředí. Chcete-li zkontrolovat celkovou paměť, spusťte následující příkaz. To nám dá celkovou paměť systému v bajtech.
osquery> SELECT memory_total FROM memory_info;
Chcete-li zkontrolovat volnou paměť vašeho systému, spusťte následující dotaz v interaktivním prostředí
osquery> VYBRAT memory_free FROM memory_info;Když spustíme výše uvedený příkaz, dá nám volnou paměť dostupnou v našem systému
Můžeme také zkontrolovat mezipaměť systému pomocí tabulky memory_info spuštěním následujícího dotazu.
osquery> select cached from memory_info;
Výpis skupin
Všechny skupiny ve vašem systému najdeme spuštěním následujícího dotazu v interaktivním prostředí
osquery> SELECT * FROM groups;
Zobrazení poslechových portů
Můžeme zobrazit všechny naslouchající porty našeho systému spuštěním následujícího příkazu v interaktivním prostředí
osquery> SELECT * FROM listening_ports;
Můžeme také zkontrolovat, zda port naslouchá nebo ne, spuštěním následujícího příkazu v interaktivním prostředí
osquery> SELECT port, adresa FROM listening_ports WHERE port = 27017;To nám dá výstup, jak je znázorněno na následujícím obrázku
Závěr
Osquery je velmi užitečný softwarový nástroj k vyhledání jakýchkoli informací o vašem systému. Pokud již víte o dotazech založených na SQL, je pro vás velmi snadné je používat, nebo pokud si nejste vědomi dotazů založených na SQL, pokusil jsem se ze všech sil ukázat vám některé hlavní dotazy, které jsou užitečné pro vyhledání dat. Spuštěním podobných dotazů můžete najít jakýkoli druh dat z libovolné tabulky.