„Osquery“ diegimas „Ubuntu“
Oskaras paketai nėra numatytojoje „Ubuntu“ saugykloje, todėl prieš jį įdiegdami turime pridėti Oskaras apt saugyklą, paleidžiant šią komandą terminale.
[apsaugotas el. paštas]: ~ $ echo "deb [arch = amd64] https: // pkg.osquery.io / deb deb main "|sudo tee / etc / apt / sources.sąrašą.d / osquery.sąrašą
Dabar importuosime pasirašymo raktą, vykdydami šią komandą terminale.
[apsaugotas el. pašto adresas]: ~ $ sudo apt-key adv - raktų serveris.ubuntu.com--recv-keys 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
Importavę pasirašymo raktą, dabar atnaujinkite savo sistemą, vykdydami šią komandą terminale.
[apsaugotas el. paštu]: ~ $ sudo apt-get updateDabar įdiekite Oskaras vykdydami šią komandą
[apsaugotas el. pašto adresas]: ~ $ sudo apt-get install osqueryĮdiegę Oskaras, Dabar mes turime patikrinti, ar jis tinkamai įdiegtas, vykdydami šią komandą
[apsaugotas el. paštas]: ~ $ osqueryi --versijaJei jis duoda tokią išvestį, jis įdiegtas teisingai
Naudojant „Osquery“
Dabar, įdiegę, mes esame pasirengę naudoti Oskaras. Paleiskite šią komandą, kad pereitumėte į interaktyvią apvalkalo eilutę
[apsaugotas el. paštas]: ~ $ osqueryi
Gauti pagalbos
Dabar galime vykdyti SQL pagrįstas užklausas, kad gautume duomenis iš operacinės sistemos. Mes galime gauti pagalbos Oskaras interaktyviame apvalkale vykdydami šią komandą.
osquery> .pagalba
Kaip gauti visas lenteles
Kaip minėta anksčiau, Oskaras atskleidžia duomenis iš operacinės sistemos kaip reliacinę duomenų bazę, todėl visus duomenis turi lentelių pavidalu. Visas lenteles galime gauti vykdydami šią komandą interaktyviame apvalkale
osquery> .stalai
Kaip matome, kad vykdydami aukščiau pateiktą komandą galime gauti daugybę lentelių. Dabar duomenis galime gauti iš šių lentelių vykdydami SQL pagrįstas užklausas.
Informacija apie visus vartotojus
Visą informaciją apie vartotojus galime pamatyti vykdydami šią komandą interaktyviame apvalkale
osquery> SELECT * FROM vartotojai;Pirmiau pateiktoje komandoje bus rodomas gid, uid, aprašymas ir kt. visų vartotojų
Mes taip pat galime išgauti tik aktualius duomenis apie vartotojus, pavyzdžiui, norime matyti tik vartotojus, o ne kitą informaciją apie vartotojus. Norėdami gauti vartotojo vardus, interaktyviame apvalkale vykdykite šią komandą
osquery> SELECT vartotojo vardas iš vartotojų;Pirmiau nurodyta komanda parodys visus jūsų sistemos vartotojus
Panašiai vykdydami šią komandą galime gauti vartotojo vardus ir katalogą, kuriame yra vartotojas.
osquery> SELECT vartotojo vardas, katalogas iš vartotojų;
Panašiai vykdydami panašias komandas galime pateikti užklausą tiek, kiek norime laukų.
Taip pat galime gauti visus konkrečių vartotojų duomenis. Pavyzdžiui, mes norime gauti visą informaciją apie pagrindinį vartotoją. Visą informaciją apie pagrindinį vartotoją galime gauti vykdydami šią komandą.
osquery> SELECT * FROM users WHERE vartotojo vardas = "root";
Taip pat galime gauti konkrečius duomenis iš konkrečių laukų (stulpelių). Pavyzdžiui, mes norime gauti šakninio vartotojo grupės ID ir vartotojo vardą. Norėdami gauti šiuos duomenis, vykdykite šią komandą.
„osquery“> PASIRINKITE vartotojo vardą, gaukite iš vartotojų WHERE naudotojo vardas = „root“
Tokiu būdu galime pateikti užklausą viskam, ko norime iš lentelės.
Visų procesų sąrašas
Pirmus penkis procesus, vykstančius „ubuntu“, galime išvardyti vykdydami šią komandą interaktyviame apvalkale
osquery> SELECT * FROM procesai LIMIT 5;
Kadangi sistemoje veikia daug procesų, naudodami raktinį žodį LIMIT, mes parodėme tik penkis procesus.
Mes galime rasti konkretaus proceso ID, pavyzdžiui, norime rasti „mongodb“ proceso ID, todėl vykdysime šią komandą interaktyviame apvalkale
osquery> SELECT pid FROM procesai WHERE name = "mongodas";
„Ubuntu“ versijos paieška
Savo „Ubuntu“ sistemos versiją galime rasti paleidę šią komandą interaktyviame apvalkale
osquery> SELECT * FROM os_version;Tai parodys mums mūsų operacinės sistemos versiją
Tinklo sąsajų ir IP adresų tikrinimas
IP adresą, tinklo sąsajų potinklio kaukę galime patikrinti vykdydami šią užklausą interaktyviame apvalkale.
osquery> SELECT sąsaja, adresas, kaukė FROM interface_addressesKUR sąsaja NEPATINKA „% lo%“;
Tikrina prisijungusius vartotojus
Mes taip pat galime patikrinti prisijungusius vartotojus jūsų sistemoje, pateikdami užklausas iš lentelės „prisijungę_naudotojai“ duomenų. Norėdami rasti prisijungusius vartotojus, vykdykite šią komandą.
osquery> SELECT user, host, time FROM logged_in_users WHERE tty NOT LIKE '-';
Tikrinama sistemos atmintis
Taip pat galime patikrinti bendrą atmintį, laisvosios atminties talpykloje saugomą atmintį ir kt. interaktyviame apvalkale paleidus SQL komandą. Norėdami patikrinti bendrą atmintį, vykdykite šią komandą. Tai suteiks mums bendrą sistemos atmintį baitais.
osquery> SELECT memory_total FROM memory_info;
Norėdami patikrinti laisvą sistemos atmintį, vykdykite šią užklausą interaktyviame apvalkale
osquery> PASIRINKTI atminties informaciją iš atminties informacijos;Kai vykdysime pirmiau nurodytą komandą, tai suteiks mums laisvą atmintį, esančią mūsų sistemoje
Mes taip pat galime patikrinti talpykloje saugomą sistemos atmintį naudodami lentelę memory_info, vykdydami šią užklausą.
osquery> select cacheed from memory_info;
Grupių sąrašas
Mes galime rasti visas jūsų sistemos grupes, interaktyviame apvalkale vykdydami šią užklausą
osquery> SELECT * FROM grupės;
Rodomi klausymosi uostai
Mes galime parodyti visus mūsų sistemos klausymosi prievadus, interaktyviame apvalkale vykdydami šią komandą
osquery> SELECT * FROM listening_ports;
Taip pat galime patikrinti, ar uostas klausosi, ar ne, vykdydami šią komandą interaktyviame apvalkale
osquery> SELECT prievadas, adresas FROM listening_ports WHERE prievadas = 27017;Tai suteiks mums produkciją, kaip parodyta kitame paveikslėlyje
Išvada
Oskaras yra labai naudinga programinė įranga, kad būtų galima rasti bet kokią informaciją apie jūsų sistemą. Jei jau žinote SQL užklausas, jas jums labai lengva naudoti arba jei nežinote apie SQL pagrįstas užklausas, aš iš visų jėgų bandžiau parodyti keletą pagrindinių užklausų, kurios naudingos norint rasti duomenis. Vykdydami panašias užklausas, galite rasti bet kokio tipo duomenis iš bet kurios lentelės.