Osquery instalēšana Ubuntu
Osquery paketes nav pieejamas noklusējuma Ubuntu krātuvē, tāpēc pirms tās instalēšanas mums jāpievieno Osquery apt repozitoriju, palaižot šādu komandu terminālā.
[aizsargāts ar e-pastu]: ~ $ echo "deb [arch = amd64] https: // pkg.osquery.io / deb deb main "|sudo tee / etc / apt / sources.sarakstā.d / osquery.sarakstā
Tagad mēs importēsim parakstīšanas atslēgu, terminālā izpildot šādu komandu.
[aizsargāts ar e-pastu]: ~ $ sudo apt-key adv - keyserver keyerver.ubuntu.com--recv-keys 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
Pēc parakstīšanas atslēgas importēšanas tagad atjauniniet sistēmu, izpildot šādu komandu terminālā.
[aizsargāts pa e-pastu]: ~ $ sudo apt-get updateTagad instalējiet Osquery izpildot šādu komandu
[aizsargāts ar e-pastu]: ~ $ sudo apt-get install osqueryPēc instalēšanas Osquery, tagad mums jāpārbauda, vai tas ir pareizi instalēts, izpildot šādu komandu
[aizsargāts ar e-pastu]: ~ $ osqueryi --versijaJa tas dod šādu izvadi, tas ir pareizi instalēts
Osquery izmantošana
Pēc instalēšanas mēs esam gatavi lietošanai Osquery. Palaidiet šo komandu, lai pārietu uz interaktīvo čaulas uzvedni
[e-pasts aizsargāts]: ~ $ osqueryi
Palīdzības saņemšana
Tagad mēs varam izpildīt SQL balstītus vaicājumus, lai iegūtu datus no operētājsistēmas. Mēs varam saņemt palīdzību Osquery interaktīvajā čaulā palaižot šādu komandu.
osquery> .palīdzība
Visu tabulu iegūšana
Kā minēts iepriekš, Osquery pakļauj datus no operētājsistēmas kā relāciju datu bāzi, tāpēc tam visi dati ir tabulu formā. Visas tabulas mēs varam iegūt, interaktīvajā čaulā izpildot šādu komandu
osquery> .tabulas
Kā mēs redzam, ka, izpildot iepriekš minēto komandu, mēs varam iegūt virkni tabulu. Tagad mēs varam iegūt datus no šīm tabulām, izpildot SQL balstītus vaicājumus.
Informācija par visiem lietotājiem
Visu informāciju par lietotājiem mēs varam redzēt, interaktīvajā čaulā izpildot šādu komandu
osquery> SELECT * FROM lietotāji;Iepriekš minētā komanda parādīs gid, uid, aprakstu utt. no visiem lietotājiem
Mēs varam arī iegūt tikai attiecīgos datus par lietotājiem, piemēram, mēs vēlamies redzēt tikai lietotājus, nevis citu informāciju par lietotājiem. Interaktīvajā čaulā palaidiet šo komandu, lai iegūtu lietotāju vārdus
osquery> SELECT lietotājvārds NO lietotājiem;Iepriekš minētā komanda parādīs visus jūsu sistēmas lietotājus
Līdzīgi mēs varam iegūt lietotājvārdus kopā ar direktoriju, kurā atrodas lietotājs, izpildot šādu komandu.
osquery> SELECT lietotājvārds, direktorijs no lietotājiem;
Līdzīgi mēs varam vaicāt tik daudz lauku, cik vēlaties, izpildot līdzīgas komandas.
Mēs varam arī iegūt visus konkrētu lietotāju datus. Piemēram, mēs vēlamies iegūt visu informāciju par root lietotāju. Visu informāciju par saknes lietotāju mēs varam iegūt, izpildot šādu komandu.
osquery> SELECT * FROM users WHERE lietotājvārds = "root";
Mēs varam iegūt arī specifiskus datus no noteiktiem laukiem (kolonnām). Piemēram, mēs vēlamies iegūt saknes lietotāja grupas ID un lietotājvārdu. Lai iegūtu šos datus, izpildiet šo komandu.
osquery> SELECT lietotājvārds, gid FROM lietotāji WHERE lietotājvārds = ”root”
Tādā veidā mēs varam vaicāt visu, ko vēlamies no tabulas.
Visu procesu uzskaitīšana
Mēs varam uzskaitīt pirmos piecus procesus, kas darbojas ubuntu, interaktīvajā čaulā palaižot šādu komandu
osquery> SELECT * FROM procesi LIMIT 5;
Tā kā sistēmā darbojas daudz procesu, mēs esam parādījuši tikai piecus procesus, izmantojot atslēgvārdu LIMIT.
Mēs varam atrast konkrēta procesa procesa ID, piemēram, mēs vēlamies atrast mongodb procesa ID, tāpēc mēs interaktīvajā čaulā palaidīsim šādu komandu
osquery> SELECT pid FROM procesi WHERE name = "mongod";
Ubuntu versijas atrašana
Mēs varam atrast mūsu Ubuntu sistēmas versiju, interaktīvajā čaulā palaižot šādu komandu
osquery> SELECT * FROM os_version;Tas parādīs mūsu operētājsistēmas versiju
Tīkla saskarņu un IP adrešu pārbaude
Mēs varam pārbaudīt IP adresi, tīkla interfeisu apakštīkla masku, interaktīvajā čaulā izpildot šādu vaicājumu.
osquery> SELECT interfeiss, adrese, maska FROM interface_addressesKUR saskarne NAV PATĪK '% lo%';
Pārbauda reģistrētos lietotājus
Mēs varam arī pārbaudīt jūsu sistēmā reģistrētos lietotājus, vaicājot datus no tabulas 'logged_in_users'. Palaidiet šo komandu, lai atrastu reģistrētos lietotājus.
osquery> SELECT user, host, time FROM logged_in_users WHERE tty NOT LIKE '-';
Sistēmas atmiņas pārbaude
Mēs varam arī pārbaudīt kopējo atmiņu, brīvās atmiņas kešatmiņā utt. interaktīvajā čaulā palaižot kādu SQL balstītu komandu. Lai pārbaudītu kopējo atmiņu, izpildiet šo komandu. Tas mums nodrošinās kopējo sistēmas atmiņu baitos.
osquery> SELECT memory_total FROM memory_info;
Lai pārbaudītu sistēmas brīvo atmiņu, interaktīvajā čaulā izpildiet šādu vaicājumu
osquery> SELECT memory_free FROM memory_info;Kad mēs izpildīsim iepriekš minēto komandu, tas mums dos brīvu atmiņu, kas pieejama mūsu sistēmā
Mēs varam arī pārbaudīt kešatmiņā saglabāto sistēmas atmiņu, izmantojot memory_info tabulu, izpildot šādu vaicājumu.
osquery> select kešatmiņā no memory_info;
Grupu saraksts
Mēs varam atrast visas grupas jūsu sistēmā, interaktīvajā čaulā izpildot šādu vaicājumu
osquery> SELECT * FROM grupas;
Attēlo klausīšanās ostas
Mēs varam parādīt visas mūsu sistēmas klausīšanās ostas, interaktīvajā apvalkā izpildot šādu komandu
osquery> SELECT * FROM listen_ports;
Mēs varam arī pārbaudīt, vai osta klausās vai nē, interaktīvajā čaulā izpildot šādu komandu
osquery> SELECT ports, adrese FROM listening_ports WHERE ports = 27017;Tas dos mums izvadi, kā parādīts nākamajā attēlā
Secinājums
Osquery ir ļoti noderīga programmatūras lietderība, lai atrastu jebkāda veida informāciju par jūsu sistēmu. Ja jums jau ir zināms par SQL balstītiem vaicājumiem, to jums ir ļoti viegli izmantot, vai arī, ja nezināt par vaicājumiem, kuru pamatā ir SQL, tad es esmu darījis visu iespējamo, lai parādītu dažus galvenos vaicājumus, kas ir noderīgi, lai atrastu datus. Veicot līdzīgus vaicājumus, jūs varat atrast jebkura veida datus no jebkuras tabulas.