Ubuntu

Jak zainstalować i używać Osquery w Ubuntu?

Jak zainstalować i używać Osquery w Ubuntu?
Osquery to narzędzie oprogramowania typu open source i międzyplatformowe, które można wykorzystać do udostępnienia systemu operacyjnego jako relacyjnej bazy danych. Możemy uzyskać dane z systemu operacyjnego, uruchamiając zapytania oparte na SQL. Na tym blogu zobaczymy, jak zainstalować Osquery w Ubuntu i jak go używać do pobierania danych z systemu operacyjnego.

Instalacja Osquery w Ubuntu

Osquery pakiety nie są dostępne w domyślnym repozytorium Ubuntu, więc przed instalacją musimy dodać Osquery apt repozytorium, uruchamiając następujące polecenie w terminalu.

[email chroniony]:~$ echo "deb [arch=amd64] https://pkg.osquery.io/deb deb główny" |
koszulka sudo /etc/apt/sources.lista.d/osquery.lista

Teraz zaimportujemy klucz podpisu, uruchamiając następujące polecenie w terminalu.

[ochrona poczty e-mail]:~$ sudo apt-key adv --keyserver keyserver.ubuntu.com
--1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B

Po zaimportowaniu klucza podpisu zaktualizuj system, uruchamiając następujące polecenie w terminalu.

[ochrona poczty e-mail]:~$ sudo apt-get update

Teraz zainstaluj Osquery uruchamiając następujące polecenie

[ochrona poczty e-mail]:~$ sudo apt-get install osquery

Po zainstalowaniu Osquery, teraz musimy sprawdzić, czy został poprawnie zainstalowany, uruchamiając następujące polecenie

[email chroniony]:~$ osqueryi --wersja

Jeśli daje następujące dane wyjściowe, jest zainstalowany poprawnie

Korzystanie z Osquery

Teraz po instalacji jesteśmy gotowi do użycia Osquery. Uruchom następujące polecenie, aby przejść do interaktywnego wiersza poleceń

[email chroniony]:~$ osqueryi

Otrzymywać pomoc

Teraz możemy uruchamiać zapytania oparte na SQL, aby uzyskać dane z systemu operacyjnego. Możemy uzyskać pomoc na temat Osquery uruchamiając następujące polecenie w interaktywnej powłoce.

osquery> .Wsparcie

Zdobycie wszystkich tabel

Jak wcześniej wspomniano, Osquery udostępnia dane z systemu operacyjnego jako relacyjną bazę danych, dzięki czemu posiada wszystkie dane w postaci tabel. Możemy uzyskać wszystkie tabele, uruchamiając następujące polecenie w interaktywnej powłoce:

osquery> .stoły

Jak widzimy, uruchamiając powyższe polecenie, możemy uzyskać kilka tabel. Teraz możemy uzyskać dane z tych tabel, uruchamiając zapytania oparte na SQL.

Informacje o liście wszystkich użytkowników

Możemy zobaczyć wszystkie informacje o użytkownikach, uruchamiając następujące polecenie w interaktywnej powłoce

osquery> SELECT * FROM użytkowników;

Powyższe polecenie wyświetli gid, uid, opis itp. wszystkich użytkowników

Możemy również wyodrębnić tylko istotne dane o użytkownikach, na przykład chcemy zobaczyć tylko użytkowników, a nie inne informacje o użytkownikach. Uruchom następujące polecenie w interaktywnej powłoce, aby uzyskać nazwy użytkowników

osquery> SELECT nazwa użytkownika FROM użytkowników;

Powyższe polecenie pokaże wszystkich użytkowników w twoim systemie

Podobnie możemy uzyskać nazwy użytkowników wraz z katalogiem, w którym użytkownik istnieje, uruchamiając następujące polecenie.

osquery> SELECT nazwa użytkownika, katalog FROM użytkowników;

Podobnie możemy zapytać o tyle pól, ile chcemy, uruchamiając podobne polecenia.

Możemy również uzyskać wszystkie dane konkretnych użytkowników. Na przykład chcemy uzyskać wszystkie informacje o użytkowniku root. Możemy uzyskać wszystkie informacje o użytkowniku root, uruchamiając następujące polecenie.

osquery> SELECT * FROM users WHERE username="root";

Możemy również uzyskać konkretne dane z określonych pól (kolumn). Na przykład chcemy uzyskać identyfikator grupy i nazwę użytkownika root. Uruchom następujące polecenie, aby uzyskać te dane.

osquery> SELECT nazwa użytkownika, gid FROM użytkownicy WHERE nazwa użytkownika=”root”

W ten sposób możemy zapytać o wszystko, co chcemy z tabeli.

Lista wszystkich procesów

Możemy wyświetlić listę pierwszych pięciu procesów działających w ubuntu, uruchamiając następujące polecenie w interaktywnej powłoce:

osquery> SELECT * Z procesów LIMIT 5;

Ponieważ w systemie uruchomionych jest wiele procesów więc wyświetliliśmy tylko pięć procesów za pomocą słowa kluczowego LIMITLIMIT.

Możemy znaleźć identyfikator procesu określonego procesu, na przykład chcemy znaleźć identyfikator procesu mongodb, więc uruchomimy następujące polecenie w interaktywnej powłoce

osquery> SELECT pid FROM procesów WHERE name="mongod";

Znajdowanie wersji Ubuntu

Wersję naszego systemu Ubuntu możemy znaleźć, uruchamiając następujące polecenie w interaktywnej powłoce:

osquery> SELECT * FROM os_version;

Pokaże nam wersję naszego systemu operacyjnego

Sprawdzanie interfejsów sieciowych i adresów IP

Możemy sprawdzić adres IP, maskę podsieci interfejsów sieciowych, uruchamiając następujące zapytanie w powłoce interaktywnej.

osquery> SELECT interface,address,mask FROM interface_addresses
GDZIE interfejs NIE PODOBNY '%lo%';

Sprawdzanie zalogowanych użytkowników

Możemy również sprawdzić zalogowanych użytkowników w Twoim systemie, wysyłając zapytanie o dane z tabeli „logged_in_users”. Uruchom następujące polecenie, aby znaleźć zalogowanych użytkowników.

osquery> SELECT użytkownik,host,czas FROM zalogowanych_użytkowników GDZIE tty NIE PODOBNE '-';

Sprawdzanie pamięci systemowej

Możemy również sprawdzić całkowitą pamięć, wolną pamięć podręczną itp. uruchamiając w interaktywnej powłoce jakieś polecenie oparte na SQL. Aby sprawdzić całkowitą pamięć, uruchom następujące polecenie. To da nam całkowitą pamięć systemu w bajtach.

osquery> SELECT memory_total FROM memory_info;

Aby sprawdzić wolną pamięć systemu, uruchom następujące zapytanie w interaktywnej powłoce:

osquery> SELECT memory_free FROM memory_info;

Uruchomienie powyższego polecenia da nam wolną pamięć dostępną w naszym systemie

Możemy również sprawdzić pamięć podręczną systemu za pomocą tabeli memory_info, uruchamiając następujące zapytanie.

osquery> wybierz buforowane z memory_info;

Lista grup

Możemy znaleźć wszystkie grupy w twoim systemie, uruchamiając następujące zapytanie w interaktywnej powłoce

osquery> SELECT * FROM grup;

Wyświetlanie portów nasłuchu

Możemy wyświetlić wszystkie porty nasłuchujące naszego systemu, uruchamiając następujące polecenie w interaktywnej powłoce:

osquery> WYBIERZ * Z nasłuchiwania_portów;

Możemy również sprawdzić, czy port nasłuchuje, uruchamiając następujące polecenie w interaktywnej powłoce:

osquery> SELECT port, adres FROM porty_nasłuchiwania WHERE port=27017;

To da nam dane wyjściowe, jak pokazano na poniższym rysunku

Wniosek

Osquery to bardzo przydatne narzędzie programowe do wyszukiwania wszelkiego rodzaju informacji o twoim systemie. Jeśli znasz już zapytania oparte na SQL, jest to bardzo łatwe w użyciu lub jeśli nie znasz zapytań opartych na SQL, starałem się jak najlepiej pokazać kilka głównych zapytań, które są przydatne do wyszukiwania danych. Możesz znaleźć dowolny rodzaj danych z dowolnej tabeli, uruchamiając podobne zapytania.

Gry How to Show FPS Counter in Linux Games
How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...
Gry How to download and Play Sid Meier's Civilization VI on Linux
How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...
Gry How to Install and Play Doom on Linux
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...