Da bo ta vadnica jedrnata, se ne bomo poglabljali globoko v "kaj" in "kako" sklada ELK. Namesto tega bomo hitro in neposredno razpravljali o tem, kako ga uporabiti z Osqueryjem. Predvidevali bomo tudi, da kljub temu dobro poznate SQL - ne glede na priloženi priročnik).
Kaj je Osquery?
Osquery, ki ga je razvil Facebook, je medplatformno, odprtokodno orodje, ki se uporablja za poizvedovanje in spremljanje sistemov z uporabo poizvedb na osnovi SQL.
Osquery lahko komunicira s sistemom in zbira podrobne informacije, kot so uporaba pomnilnika, zagnani procesi, naloženi moduli jedra, dogodki strojne opreme, omrežne povezave itd. Orodje deluje v vseh sistemih, vključno z Windows, Linux, Mac in BSD.
Z Osqueryjem lahko ustvarite poizvedbe SQL, ki prikazujejo informacije o sistemu, in jih uporabite za spremljanje in analizo zbranih podatkov.
Kako namestiti Osquery na sisteme Debian
Namestitev Osqueryja na sisteme Debian je zelo enostavna in čeprav ni na voljo v glavnih repoznih skladih Debiana, je dodajanje precej enostavno.
Poglejmo si prvo metodo, s katero lahko namestite Osquery v Debian:
Prvi in najpreprostejši korak je prenos namestitvene datoteke deb z glavne strani:
https: // pkg.osquery.io / deb / osquery_4.6.0-1.linux_amd64.deb
wget https: // pkg.osquery.io / deb / osquery_4.6.0-1.linux_amd64.debsudo dpkg -i osquery_4.6.0-1.linux_amd64.deb
Priporočamo zgornjo metodo, saj imajo deb paketi zelo malo odvisnosti od večine distribucij Debiana. Če pa želite dodati apt, uporabite naslednjo metodo.
Vnesite naslednje ukaze za namestitev Osqueryja iz skladišč.
izvoz OSQUERY_KEY = 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80Bsudo apt-key adv --keyserver hkp: // keyserver.ubuntu.com: 80 --recv-tipke $ OSQUERY_KEY
sudo add-apt-repository 'deb [arch = amd64] https: // pkg.osquery.io / deb deb main '
posodobitev sudo apt-get
sudo apt-get namestite osquery
Kako uporabljati Osquery v Debianu 10
Preden se poglobimo v izdelavo avtomatiziranih skriptov in delo s skladom ELK, se pogovorimo o preprosti uporabi Osqueryja v lokalnem sistemu.
Osquery ima tri glavne komponente, s katerimi lahko komunicirate z API-jem.
Osquery: Prva komponenta je osqueryi, interaktivna seja lupine. Način osqueryi je popolnoma samostojen in ne zahteva interakcije z demonom Osquery-Osquery. V načinu osqueryi lahko interaktivno izvajate poizvedbe SQL in raziskujete trenutni sistem, podoben lupini SQL.
OPOMBA: Osquery spoštuje uporabniške prostore in če lupino zaženete kot običajni uporabniški način, ne boste imeli dostopa do privilegiranih tabel.
Osqueryd: Druga komponenta je osqueryd, demon Osquery, ki se uporablja za razporejanje poizvedb in beleženje sprememb stanja v ozadju. Demon deluje tako, da združi rezultate poizvedbe, izvedene v določenem časovnem okviru, in ustvari dnevnike, ki se uporabljajo za primerjavo sprememb stanja vsake poizvedbe.
Osqueryctl: Tretja komponenta je Osqueryctl, pomožni skript, ki se uporablja za preizkušanje konfiguracije uvajanja. Uporabite ga lahko tudi kot upravitelja storitev Osquery, ki vam omogoča zagon in zaustavitev storitve.
Osquery ni nič drugega kot preprosto orodje za iskanje informacij o sistemu. Ko pa poizvedbe kombinirate za izdelavo dobro razvrščenih in združenih podatkov, postane to več kot le orodje za poizvedbe.
Za začetek začnimo z osnovami, da bi razumeli, kako to deluje:
Prvi korak je poiskati pomoč pri ukazu:
sudo osqueryd --pomočTa ukaz bo prikazal pomoč za demon Osquery s seznamom argumentov, ki jih lahko uporabite v lupini.
Naslednji in najlažji način interakcije z Osquery je uporaba seje osqueryi. Če na primer izvedete ukaz osqueryi brez argumenta, se spustite v lupino, podobno SQL:
sudo osqueryiZnotraj lupine osqueryi lahko izvajate ukaze in sintakso SQL, da izberete določene informacije o sistemu.
Če si želite ogledati način pomoči znotraj lupine osqueryi, uporabite ukaz:
osquery> .pomočIzvajanje tega ukaza bi moralo prikazati pomoč glede seje Osquery.
Ker je Osquery relacijski preslikava zbirk podatkov za vaš sistem, ima seznam tabel, s katerimi lahko izberete informacije iz SQLite Queries.
OPOMBA: Poizvedbe osquery temeljijo na SQLite. Če Osquery ne vsebuje dovolj informacij, se lahko obrnete na njegovo dokumentacijo:
https: // www.sqlite.org / kazalo.html
Znotraj lupine osqueryi uporabite ukaz:
osquery> .mizeTa ukaz navaja razpoložljive tabele, ki vsebujejo sistemske informacije.
Od tam lahko izberete informacije iz razpoložljivih shem. Oglejte si na primer informacije o reševalcih DNS.
SELECT * FROM dns_resolvers;Glede na shemo, ki jo povprašate, boste dobili množico informacij in morda boste morali uporabiti kombinacijo poizvedb SQL, da jih boste razumeli.
Več o tabelah in shemah Osquery lahko izveste iz naslednjega vira:
https: // osquery.io / schema / 4.6.0 /
Osnovni SQL vodnik
Osquery deluje tako, da uporablja poizvedbe sintakse SQLite za zbiranje informacij o sistemu. Pojma nimam, zakaj se je Facebook odločil za to pot, vendar deluje.
Ta preprosta vadnica bo razpravljala o osnovah SQLite in vam razložila, kako ga lahko uporabite za interakcijo z Osqueryjem.
OPOMBA: To nikakor ne bi smelo biti vodilo za SQL ali sorodne jezike. Za podrobnejša navodila za jezik glejte primarno dokumentacijo.
Izbira določenih vnosov iz tabele
Z uporabo osnovne sintakse SQLite lahko izberemo določene informacije iz tabele z uporabo stavka SELECT, kot je prikazano:
IZBERI pid, ime, pot IZ procesov;Dodajanje funkcij SQL
Osquery podpira tudi funkcije SQL, s katerimi lahko izvajate različna dejanja s podatki, zbranimi iz poizvedb.
Funkcija štetja vam lahko na primer omogoči ogled števila uporabnikov v vašem sistemu.
IZBERI ŠTEVILO (*) OD uporabnikov;Ta ukaz vrne skupno število uporabnikov v sistemu.
Zmožnost osqueryja za uporabo sintakse SQL je velika prednost, ki vam lahko pomaga pri izdelavi zapletenih naborov podatkov, ki vam lahko dajo bolj poglobljeno analizo sistema. Ustvari tudi most, ki ga lahko razvijalci SQL, ki uporabljajo motorje, kot so PostgreSQL, MySQL in drugi, prilagodijo z lahkoto.
https: // osquery.preberite doktorske dokumente.io / sl / stabilno / uvod / sql /
Zabaven, stranski projekt
Ko boste še naprej raziskovali Osquery in eksperimentirali z njim, boste odkrili, da je to celovito in močno orodje, ki olajša ustvarjanje projektov, posebej prilagojenih za spremljanje vaših sistemov.
Zaradi obsega te vadnice in da ne bi zmedli začetnikov, se ne bomo spuščali v zapletene projekte. Omenjeno je nekaj orodij, ki jih lahko zgradite z Osqueryjem:
- Dnevnike zbirajte z Logstashom
- Zgradite nadzorno ploščo sistemskega monitorja z Elasticsearch, Logstash in Kibana.
- Zgradite floto Osquery s podjetjem Kolide
https: // osquery.preberite doktorske dokumente.io / sl / stabilno / razmestitev / združevanje dnevnikov /
https: // www.elastična.co / guide / en / beats / filebeat / 7.10 / filebeat-module-osquery.html
https: // github.com / fleetdm / flota
Zaključek
V tej vadnici smo si ogledali osnove Osqueryja, vključno s tem, kako ga uporabiti za zbiranje sistemskih informacij.
Čeprav ni izčrpen, naj bi vam ta vodnik omogočil hiter in neposreden uvod v Osquery; nikakor ni bil referenčni vodnik.
Uporabite druge vire za boljše razumevanje različnih konceptov, o katerih smo razpravljali v tej vadnici.