Ubuntu

Kako namestiti in uporabljati Osquery v Ubuntuju

Kako namestiti in uporabljati Osquery v Ubuntuju
Osquery je odprtokodna in medplatformna programska oprema, s katero lahko operacijski sistem izpostavimo kot relacijsko bazo podatkov. Podatke iz operacijskega sistema lahko dobimo z izvajanjem poizvedb, ki temeljijo na SQL. V tem blogu bomo videli, kako namestiti Osquery v Ubuntuju in kako ga uporabiti za pridobivanje podatkov iz operacijskega sistema.

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 update

Zdaj namestite Osquery z zagonom naslednjega ukaza

[zaščiteno po e-pošti]: ~ $ sudo apt-get install osquery

Po 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_addresses
KJE 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.

Kako uporabljati AutoKey za avtomatizacijo iger Linux
AutoKey je namizni pripomoček za avtomatizacijo za Linux in X11, programiran v Python 3, GTK in Qt. Z njegovo funkcijo skriptiranja in MACRO lahko avt...
Kako prikazati števec FPS v igrah Linux
Linux gaming je dobil velik zagon, ko je Valve leta 2012 napovedal podporo Linuxu za odjemalca Steam in njihove igre. Od takrat se je veliko AAA in in...
Kako prenesti in igrati Sid Meier's Civilization VI v Linuxu
Uvod v igro Civilization 6 je sodoben pogled na klasični koncept, uveden v seriji iger Age of Empires. Ideja je bila dokaj preprosta; začeli bi v zelo...