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 OpenTTD Tutorial
OpenTTD Tutorial
OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...
Gry SuperTuxKart for Linux
SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...
Gry Battle for Wesnoth Tutorial
Battle for Wesnoth Tutorial
The Battle for Wesnoth is one of the most popular open source strategy games that you can play at this time. Not only has this game been in developmen...