Wyszukiwanie w witrynie

Jak monitorować bezpieczeństwo serwera Linux za pomocą Oquery


Osquery to darmowa, otwarta, wydajna i wieloplatformowa platforma do instrumentacji, monitorowania i analityki systemu operacyjnego oparta na języku SQL dla systemów Linux, FreeBSD, Windows i Mac/OS X, zbudowana przez Facebooku. Jest to prosty i łatwy w użyciu eksplorator systemu operacyjnego.

Łączy w sobie szereg narzędzi, które wykonują analizę i monitorowanie systemu operacyjnego niskiego poziomu; narzędzia te ujawniają system operacyjny jako wysokowydajną relacyjną bazę danych, taką jak MySQL/MariaDB, PostgreSQL i inne, gdzie koncepcje systemu operacyjnego są przedstawione w w formie tabelarycznej, umożliwiając użytkownikom wykorzystanie poleceń SQL do monitorowania i analiz systemu.

Osquery używa prostego interfejsu API wtyczek i rozszerzeń do implementacji tabel SQL. Istnieje zbiór tabel gotowych do użycia, a kolejne są w przygotowaniu. Niektóre tabele można znaleźć tylko w określonym systemie operacyjnym, na przykład tabelę kernel_modules można znaleźć tylko w systemach Linux.

Dodatkowo możesz uruchamiać zapytania w celu monitorowania i analizowania stanu systemu operacyjnego na pojedynczym hoście za pomocą powłoki osqueryi lub na kilku hostach w sieci za pomocą harmonogramu lub uruchamiać je z dowolnej niestandardowej aplikacji za pomocą osquery Thrift Pszczoła.

Jak zainstalować Osquery w systemie Linux

Osquery można zainstalować z oficjalnego repozytorium za pomocą narzędzia do zarządzania pakietami apt yum lub dnf w odpowiedniej dystrybucji Linuksa, jak pokazano.

Na Debianie/Ubuntu

export OSQUERY_KEY=1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $OSQUERY_KEY
sudo add-apt-repository 'deb [arch=amd64] https://pkg.osquery.io/deb deb main'
sudo apt update
sudo apt install osquery

Na RHEL/CentOS

curl -L https://pkg.osquery.io/rpm/GPG | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-osquery
sudo yum-config-manager --add-repo https://pkg.osquery.io/rpm/osquery-s3-rpm.repo
sudo yum-config-manager --enable osquery-s3-rpm-repo
sudo yum install osquery

Na Fedorze 22+

curl -L https://pkg.osquery.io/rpm/GPG | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-osquery
dnf config-manager --add-repo --add-repo https://pkg.osquery.io/rpm/osquery-s3-rpm.repo
sudo dnf config-manager --set-enabled osquery-s3-rpm
sudo dnf install osquery

Jak monitorować i analizować system Linux za pomocą Osquery

Po pomyślnym zainstalowaniu Oquery w swoim systemie uruchom powłokę osqueryi, aby rozpocząć sprawdzanie stanu systemu operacyjnego, jak pokazano.

osqueryi

Using a virtual database. Need help, type '.help'
osquery> 

Aby uzyskać podsumowanie informacji o systemie Linux, uruchom następujące polecenie.

osquery> SELECT  * FROM system_info;

Aby uzyskać dobrze sformatowaną listę wszystkich użytkowników systemu Linux, uruchom następujące zapytanie.

osquery> SELECT * FROM users;

Aby uzyskać listę wszystkich modułów jądra Linuksa i ich status, uruchom następujące zapytanie.

osquery> SELECT * FROM kernel_modules;

Aby uzyskać listę wszystkich zainstalowanych pakietów RPM w CentOS, RHEL i Fedorze, uruchom następujące zapytanie.

osquery> .all rpm_packages;

Aby uzyskać informację o uruchomionych procesach Linuksa, uruchom poniższe zapytanie.

osquery> SELECT DISTINCT processes.name, listening_ports.port, processes.pid FROM listening_ports JOIN processes USING (pid) WHERE listening_ports.address = '0.0.0.0';

Jeśli używasz osquery na komputerze stacjonarnym i masz zainstalowanego Firefoxa lub Chrome, możesz wyświetlić listę wszystkich swoich dodatków, korzystając z poniższego zapytania.

osquery> .all firefox_addons;
osquery> .all  chrome_extensions;

Aby wyświetlić listę wszystkich tabel zaimplementowanych w systemie Linux, użyj polecenia .tables, jak pokazano.

osquery> .tables;	#list all implemented tables
osquery> .help; 	#view help message

Osquery zapewnia także monitorowanie integralności plików (FIM) oraz funkcje kontroli procesów i gniazd i wiele więcej, dlatego jest narzędziem do wykrywania włamań, ale wymaga to pewnych konfiguracji, zanim będzie można wdrożyć go w tym celu. Więcej informacji można znaleźć w repozytorium Oquery Github.