Az Osquery telepítése az Ubuntuban
Osquery a csomagok nem érhetők el az alapértelmezett Ubuntu adattárban, ezért a telepítés előtt hozzá kell adnunk a Osquery apt repository a következő parancs futtatásával a terminálban.
[e-mail védett]: ~ $ echo "deb [arch = amd64] https: // pkg.reszkető.io / deb deb main "|sudo tee / etc / apt / sources.lista.d / szivárgás.lista
Most importáljuk az aláíró kulcsot a következő parancs futtatásával a terminálban.
[e-mail védett]: ~ $ sudo apt-key adv - kulcsszerver kulcsszerver.ubuntu.com--recv-keys 1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
Az aláíró kulcs importálása után frissítse a rendszert a következő parancs futtatásával a terminálon.
[e-mail védett]: ~ $ sudo apt-get updateMost telepítse Osquery a következő parancs futtatásával
[email protected]: ~ $ sudo apt-get install osqueryTelepítés után Osquery, most a következő parancs futtatásával ellenőriznünk kell, hogy helyesen lett-e telepítve
[e-mail védett]: ~ $ osqueryi --versionHa a következő kimenetet adja, akkor helyesen van telepítve
Osquery használata
A telepítés után készen állunk a használatra Osquery. Futtassa a következő parancsot az interaktív shell parancssor eléréséhez
[e-mail védett]: ~ $ osqueryi
Segítség kérése
Most SQL alapú lekérdezéseket futtathatunk az operációs rendszer adatainak megszerzéséhez. Segítséget kaphatunk Osquery a következő parancs futtatásával az interaktív héjban.
osquery> .Segítség
Az összes táblázat beszerzése
Mint korábban említettük, Osquery relációs adatbázisként tárja fel az operációs rendszer adatait, így az összes adatot táblázatok formájában tartalmazza. Az összes táblát megszerezhetjük, ha a következő parancsot futtatjuk az interaktív shellben
osquery> .táblázatok
Mint láthatjuk, hogy a fenti parancs futtatásával egy csomó táblát kaphatunk. Most SQL-alapú lekérdezések futtatásával nyerhetünk adatokat ezekből a táblákból.
Adatok listázása az összes felhasználóról
A felhasználókkal kapcsolatos összes információt az interaktív héjban a következő parancs futtatásával láthatjuk
osquery> SELECT * FROM felhasználók;A fenti parancs megjeleníti a gid, uid, description stb. az összes felhasználó
Kizárólag a felhasználókkal kapcsolatos releváns adatokat is kinyerhetjük, például csak a felhasználókat szeretnénk látni, a felhasználókról pedig nem. A felhasználói nevek megszerzéséhez futtassa a következő parancsot az interaktív héjban
osquery> SELECT felhasználónév FROM felhasználóktól;A fenti parancs megmutatja a rendszer összes felhasználóját
Hasonlóképpen a következő parancs futtatásával megszerezhetjük a felhasználóneveket azzal a könyvtárral együtt, amelyben a felhasználó létezik.
osquery> SELECT felhasználónév, könyvtár FROM felhasználóktól;
Hasonlóképpen annyi mezőt tudunk lekérdezni, amennyit csak akarunk, a hasonló parancsok futtatásával.
Megkaphatjuk az egyes felhasználók összes adatait is. Például meg akarjuk szerezni az összes információt a root felhasználóról. A következő paranccsal futtathatjuk a root felhasználóval kapcsolatos összes információt.
osquery> SELECT * FROM felhasználók WHERE felhasználónév = "root";
Meghatározott mezőkből (oszlopokból) is kaphatunk konkrét adatokat. Például meg akarjuk szerezni a root felhasználó csoportazonosítóját és felhasználónevét. Futtassa a következő parancsot az adatok megszerzéséhez.
osquery> SELECT felhasználónév, gid FROM felhasználók WHERE felhasználónév = "root"
Ily módon bármit lekérdezhetünk egy táblázattól.
Az összes folyamat felsorolása
Az első öt, az ubuntuban futó folyamatot felsorolhatjuk, ha a következő parancsot futtatjuk az interaktív shellben
osquery> SELECT * FROM folyamatok LIMIT 5;
Mivel sok folyamat fut a rendszerben, ezért csak öt folyamatot jelenítettünk meg a LIMIT kulcsszó használatával.
Megtalálhatjuk egy adott folyamat azonosítóját, például meg akarjuk találni a mongodb folyamatazonosítóját, így a következő parancsot futtatjuk az interaktív shellben
osquery> SELECT pid FROM folyamatok WHERE name = "mongod";
Az Ubuntu verziójának megkeresése
Megtalálhatjuk Ubuntu rendszerünk verzióját az alábbi parancs futtatásával az interaktív shellben
osquery> SELECT * FROM os_version;Ez megmutatja nekünk az operációs rendszerünk verzióját
Hálózati interfészek és IP-címek ellenőrzése
A következő lekérdezés futtatásával ellenőrizhetjük az IP-címet, a hálózati interfészek alhálózati maszkját.
osquery> SELECT interfész, cím, maszk FROM interface_címekAhol a felület NEM LIKE '% lo%';
A bejelentkezett felhasználók ellenőrzése
A bejelentkezett felhasználókat is ellenőrizhetjük a rendszerén a 'logged_in_users' táblázat adatainak lekérdezésével. Futtassa a következő parancsot a bejelentkezett felhasználók megkereséséhez.
osquery> SELECT user, host, time FROM logged_in_users WHERE tty NEM LIKE '-';
A rendszer memóriájának ellenőrzése
Ellenőrizhetjük a teljes memóriát, a szabad memória gyorsítótárazott memóriát stb. néhány SQL alapú parancs futtatásával az interaktív shellben. A teljes memória ellenőrzéséhez futtassa a következő parancsot. Ezzel teljes memóriát kapunk a rendszerről bájtokban.
osquery> SELECT memory_total FROM memory_info;
A rendszer szabad memóriájának ellenőrzéséhez futtassa a következő lekérdezést az interaktív shellben
osquery> SELECT memory_free FROM memory_info;A fenti parancs futtatásakor szabad memóriát kapunk a rendszerünkben
A rendszer gyorsítótárazott memóriáját a memory_info tábla segítségével is ellenőrizhetjük a következő lekérdezés futtatásával.
osquery> select cached from memory_info;
A csoportok felsorolása
Megtalálhatjuk a rendszer összes csoportját, ha a következő lekérdezést futtatjuk az interaktív shellben
osquery> SELECT * FROM csoportok;
Hallgatóportok megjelenítése
A következő parancs futtatásával az interaktív shellben megjeleníthetjük rendszerünk összes figyelő portját
osquery> SELECT * FROM listen_ports;
Azt is ellenőrizhetjük, hogy egy port hallgat-e vagy sem, ha a következő parancsot futtatja az interaktív shellben
osquery> SELECT port, cím FROM listening_ports WHERE port = 27017;Ez a következő ábrán látható kimenetet adja
Következtetés
Osquery egy nagyon hasznos szoftver segédprogram, hogy bármilyen információt találjon a rendszeréről. Ha már ismeri az SQL alapú lekérdezéseket, akkor nagyon könnyen használható az Ön számára, vagy ha még nem ismeri az SQL alapú lekérdezéseket, akkor megpróbáltam minden tőlük telhetőt megmutatni néhány fontosabb lekérdezésről, amelyek hasznosak az adatok megtalálásához. Bármilyen adatot megtalálhat bármely táblából hasonló lekérdezések futtatásával.