Namestitev Osqueryja v Ubuntu
Osquery paketi niso na voljo v privzetem repozitoriju Ubuntu, zato moramo pred namestitvijo dodati Osquery apt repozitorij z zagonom naslednjega ukaza v terminalu.
[e-pošta zaščitena]: ~ $ echo "deb [arch = amd64] https: // pkg.osquery.io / deb deb glavni "|sudo tee / etc / apt / sources.seznam.d / osquery.seznam
Zdaj bomo ključ za podpis uvozili tako, da v terminalu zaženemo naslednji ukaz.
[zaščiteno po e-pošti]: ~ $ sudo apt-key adv --keyserver keyserver.ubuntu.com--ključi za popravek 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
Po uvozu podpisnega ključa zdaj posodobite sistem, tako da v terminalu zaženete naslednji ukaz.
[e-pošta zaščitena]: ~ $ sudo apt-get updateZdaj namestite Osquery z zagonom naslednjega ukaza
[zaščiteno po e-pošti]: ~ $ sudo apt-get install osqueryPo namestitvi Osquery, zdaj moramo preveriti, ali je bil pravilno nameščen, tako da zaženemo naslednji ukaz
[zaščiteno po e-pošti]: ~ $ osqueryi --versionČe da naslednji izhod, je pravilno nameščen
Uporaba Osqueryja
Po namestitvi smo pripravljeni za uporabo Osquery. Zaženite naslednji ukaz, da odprete interaktivni poziv lupine
[e-pošta zaščitena]: ~ $ osqueryi
Pridobivanje pomoči
Zdaj lahko izvajamo poizvedbe, ki temeljijo na SQL, za pridobivanje podatkov iz operacijskega sistema. Lahko dobimo pomoč glede Osquery z zagonom naslednjega ukaza v interaktivni lupini.
osquery> .pomoč
Pridobivanje vseh tabel
Kot smo že omenili, Osquery izpostavi podatke iz operacijskega sistema kot relacijsko bazo podatkov, tako da ima vse podatke v obliki tabel. Vse tabele lahko dobimo tako, da v interaktivni lupini zaženemo naslednji ukaz
osquery> .mize
Kot lahko vidimo, lahko z zagonom zgornjega ukaza dobimo kopico tabel. Zdaj lahko podatke iz teh tabel dobimo z izvajanjem poizvedb, ki temeljijo na SQL.
Informacije o seznamu O vseh uporabnikih
Vse informacije o uporabnikih lahko vidimo tako, da v interaktivni lupini zaženemo naslednji ukaz
osquery> SELECT * FROM uporabniki;Zgornji ukaz bo prikazal gid, uid, opis itd. vseh uporabnikov
Izvlečemo lahko tudi samo ustrezne podatke o uporabnikih, na primer želimo videti samo uporabnike in ne drugih informacij o uporabnikih. Zaženite naslednji ukaz v interaktivni lupini, da dobite uporabniška imena
osquery> IZBERI uporabniško ime OD uporabnikov;Zgornji ukaz bo prikazal vse uporabnike v vašem sistemu
Podobno lahko z zagonom naslednjega ukaza dobimo uporabniška imena skupaj z imenikom, v katerem uporabnik obstaja.
osquery> SELECT uporabniško ime, imenik FROM users;
Podobno lahko z izvajanjem podobnih ukazov poizvedemo poljubno število polj.
Prav tako lahko dobimo vse podatke določenih uporabnikov. Na primer, želimo dobiti vse informacije o korenskem uporabniku. Vse podatke o korenskem uporabniku lahko dobimo z zagonom naslednjega ukaza.
osquery> SELECT * FROM users WHERE username = "root";
Prav tako lahko dobimo posebne podatke iz določenih polj (stolpcev). Na primer, želimo dobiti ID skupine in uporabniško ime korenskega uporabnika. Zaženite naslednji ukaz, da dobite te podatke.
osquery> IZBERI uporabniško ime, gid OD uporabnikov KJE uporabniško ime = "root"
Na ta način lahko iz tabele povprašamo karkoli želimo.
Naštevanje vseh procesov
Prvih pet procesov, ki se izvajajo v ubuntuju, lahko navedemo tako, da v interaktivni lupini zaženemo naslednji ukaz
osquery> SELECT * FROM procesi LIMIT 5;
Ker v sistemu teče veliko procesov, smo z uporabo ključne besede LIMIT prikazali le pet procesov.
Poiščemo lahko ID procesa določenega procesa, na primer želimo najti ID procesa mongodb, zato bomo v interaktivni lupini zagnali naslednji ukaz
osquery> SELECT pid FROM procesi WHERE name = "mongod";
Iskanje različice Ubuntuja
Različico našega sistema Ubuntu lahko najdemo tako, da v interaktivni lupini zaženemo naslednji ukaz
osquery> SELECT * FROM os_version;Pokazal nam bo različico našega operacijskega sistema
Preverjanje omrežnih vmesnikov in naslovov IP
Naslov IP, Maska podomrežja omrežnih vmesnikov lahko preverimo tako, da v interaktivni lupini zaženemo naslednjo poizvedbo.
osquery> IZBERI vmesnik, naslov, masko IZ vmesnikov_addressesKJE VMESNIK NI KOT '% lo%';
Preverjanje prijavljenih uporabnikov
Prijavljene uporabnike v vašem sistemu lahko preverimo tudi tako, da poizvedemo podatke iz tabele 'logged_in_users'. Zaženite naslednji ukaz, da poiščete prijavljene uporabnike.
osquery> IZBERI uporabnika, gostitelja, čas FROM logged_in_users WHERE tty NOT LIKE '-';
Preverjanje sistemskega pomnilnika
Preverimo lahko tudi skupni pomnilnik, prosti pomnilnik, predpomnilnik itd. tako, da v interaktivni lupini zaženete ukaz, ki temelji na SQL. Če želite preveriti celoten pomnilnik, zaženite naslednji ukaz. Tako bomo dobili celoten pomnilnik sistema v bajtih.
osquery> SELECT memory_total FROM memory_info;
Če želite preveriti prosti pomnilnik sistema, zaženite naslednjo poizvedbo v interaktivni lupini
osquery> SELECT memory_free FROM memory_info;Ko zaženemo zgornji ukaz, nam bo dobil prosti pomnilnik, ki je na voljo v našem sistemu
Predpomnjeni pomnilnik sistema lahko preverimo tudi s pomočjo tabele memory_info, tako da zaženemo naslednjo poizvedbo.
osquery> izberite predpomnilnik iz memory_info;
Naštevanje skupin
Vse skupine v vašem sistemu lahko najdemo tako, da v interaktivni lupini zaženemo naslednjo poizvedbo
osquery> SELECT * FROM skupin;
Prikaz poslušalnih vrat
Z vklopom naslednjega ukaza v interaktivni lupini lahko prikažemo vsa vrata za poslušanje našega sistema
osquery> SELECT * FROM listen_ports;
Ali vrata poslušajo ali ne, lahko preverimo tudi tako, da v interaktivni lupini zaženemo naslednji ukaz
osquery> vrata SELECT, naslov FROM liste poslušanja WHERE vrata = 27017;Tako bomo dobili rezultate, kot je prikazano na naslednji sliki
Zaključek
Osquery je zelo uporaben pripomoček za iskanje kakršnih koli informacij o vašem sistemu. Če že poznate poizvedbe, ki temeljijo na SQL, potem je za vas zelo enostavna ali če poizvedb, ki temeljijo na SQL, ne poznate, sem se po najboljših močeh potrudil pokazati nekaj glavnih poizvedb, ki so koristne za iskanje podatkov. S podobnimi poizvedbami lahko poiščete kakršne koli podatke iz katere koli tabele.