Jak monitorować bezpieczeństwo Linuksa za pomocą OSQuery?

Bezpieczeństwo powinno być zawsze jednym z głównych powodów, dla których szukamy zintegrowanych rozwiązań zarówno wewnętrznie, jak i zewnętrznie, na poziomie sprzętu, usług, procesów i samych użytkowników. Niewątpliwie w środowiskach Linux możemy skorzystać z różnych rozwiązań, które powstają w celu poprawy bezpieczeństwa naszych systemów i właśnie z tego powodu Solvetic wyjaśni specjalny o nazwie OSQuery i będziemy mogli zrozumieć, jak dzięki niemu bardziej poziom bezpieczeństwa jest dodawany do naszego systemu i jako administratorzy lub grupa IT będziemy nieco bardziej pewni siebie, ale nigdy nie rezygnując z tradycyjnych porad dotyczących bezpieczeństwa.

Co to jest OSQuery?OSQuery został opracowany jako platforma instrumentacji dla systemu operacyjnego i jest dostępny zarówno dla systemów Windows, OS X (macOS), Linux, jak i FreeBSD. OSQuery posiada praktyczne, ale wszechstronne narzędzia, które są odpowiedzialne za uruchamianie różnych niskopoziomowych skanów systemu operacyjnego i monitorowanie zarówno wydajności, jak i każdego procesu w kompleksowy sposób.

OSQuery korzysta z prostej wtyczki i rozszerzeń API w celu implementacji tabel SQL, ale istnieje już zbiór gotowych do użycia tabel, niektóre z tych tabel są dostępne tylko dla specjalnego systemu, na przykład w przypadku Linux zobaczymy tylko tabelę kernel_modules.

Aby zrozumieć, jak działa OSQuery, narzędzie to udostępnia system operacyjny jako wysokowydajną relacyjną bazę danych, dzięki czemu dzięki tej ekspozycji można pisać zapytania SQL w celu eksploracji danych systemu operacyjnego w znacznie głębszy sposób. Podczas korzystania z OSQuery, tabele SQL są reprezentowane jako abstrakcyjne koncepcje podobne do uruchomionych procesów, załadowanych modułów jądra, otwartych połączeń sieciowych, zdarzeń sprzętowych, skrótów plików itp.

Funkcje OSQuery
Wśród różnych funkcji OSQuery znajdujemy:

  • Posiada wysokowydajnego, ale mało wymagającego, rozproszonego demona monitorowania hostów o nazwie osqueryd, dzięki któremu możliwe będzie planowanie uruchamiania zapytań na całej infrastrukturze zamontowanej w organizacji.
  • Rejestr generowany przez osqueryd można zintegrować z rejestrami wewnętrznymi dzięki architekturze wtyczek, aby zawsze mieć dostęp do lepszych opcji bezpieczeństwa.
  • Posiada interaktywną konsolę zapytań, zwaną osqueryi, która jest interfejsem SQL opracowanym w celu testowania nowych zapytań i dokładnego eksplorowania systemu operacyjnego, ta konsola ma wszystkie zalety pełnego języka SQL i ma setki zintegrowanych tabel, które będą kluczowe dla incydentu odpowiedzi, diagnostyka problemów na poziomie operacji systemowych i nie tylko.
  • OSQuery jest wieloplatformowym, niezależnie od tego, czy aplikacja korzysta z niskopoziomowych API systemu operacyjnego, jesteśmy w stanie zbudować i używać OSQuery na systemach Windows, macOS, Ubuntu, CentOS i innych dystrybucjach Linuksa na poziomie firmy.
  • OSQuery posiada natywne pakiety dla wszystkich kompatybilnych systemów operacyjnych, są też narzędzia i dużo dokumentacji na temat tworzenia pakietów, za pomocą których mamy zasoby do ich administrowania.
  • Baza kodu OSQuery składa się z wydajnych, modułowych komponentów wykorzystujących publiczne interfejsy API w celu rozszerzenia ich zalet.

Teraz zobaczymy, jak zainstalować OSQuery w systemie Linux.

1. Zainstaluj OSQuery w systemie Linux

Krok 1
OSQuery można zainstalować z oficjalnego repozytorium za pomocą narzędzi do zarządzania pakietami apt, yum lub dnf, w zależności od używanej dystrybucji:

W środowiskach Debian lub Ubuntu

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

W środowiskach Fedory

 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 zainstaluj osquery

W środowiskach CentOS 7W przypadku środowisk CentOS 7, z których będziemy korzystać w tym samouczku, wykonamy każdą z następujących linii:

 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 mniam -config-manager --enable osquery-s3-rpm sudo yum install osquery

Krok 2
Ale dla CentOS 7 mamy możliwość zainstalowania RPM "auto-repo-add" lub dodania miejsca docelowego repozytorium. Te RPMy działają na dowolnym systemie Linux x86-64 z podstawową instalacją z roku 2011 i najpierw wykonujemy następujące czynności:

 sudo rpm -ivh https://osquery-packages.s3.amazonaws.com/centos7/noarch/osquery-s3-centos7-repo-1-0.0.noarch.rpm

Krok 3
Następnie uruchamiamy instalację OSQuery w ten sposób.

 sudo mniam zainstaluj osquery 

Krok 4
Wpisujemy literę y, aby potwierdzić pobranie i instalację OSQuery w CentOS 7. W pewnym momencie instalacji musimy autoryzować instalację klucza GPG:

Krok 5
Wpisujemy literę s, aby to potwierdzić i zobaczymy, że OSQuery jest poprawnie zainstalowany w CentOS 7.

2. Użyj OSQuery do analizy Linuksa

Krok 1
Po prawidłowym zainstalowaniu OSQuery w CentOS 7, uruchomimy powłokę osqueryi, aby uruchomić zapytania o stan systemu operacyjnego, w tym celu wykonujemy:

 osqueryi 

Krok 2
Aby uzyskać podsumowanie informacji o naszym systemie operacyjnym Linux, wykonamy następujące polecenie:

 WYBIERZ * Z informacje o_systemie; 
Krok 3
W wynikach zobaczymy takie szczegóły jak:
  • Nazwa hosta
  • adres IP
  • Użyty typ procesora
  • UUID i więcej

Krok 4
Jeśli chcemy uzyskać listę wszystkich użytkowników systemu Linux, wykonamy następujące zapytanie OSQuery:

 WYBIERZ * OD użytkowników; 

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

 WYBIERZ * Z kernel_modules; 

Krok 6
Jeśli konieczne jest uzyskanie dostępu do listy wszystkich pakietów RPM zainstalowanych w CentOS, RHEL i Fedorze, wykonamy następujące zapytanie:

 .wszystkie pakiety_rpm;

Krok 7
Aby uzyskać dostęp do informacji o tym, jak uruchamiać procesy w systemie Linux, przydatne będzie następujące zapytanie:

 SELECT DISTINCT process.name, nasłuchiwanie_porty.port, procesy.pid FROM nasłuchiwanie_ports JOIN procesów USING (pid) WHERE nasłuchiwanie_ports.address = '0.0.0.0'; 
Krok 8
Aby wyświetlić wszystkie zaimplementowane tabele wykonujemy:
 .tabele 

Krok 9
Aby wyświetlić schemat (kolumny, typy) konkretnej tabeli wykonujemy jedną z następujących linii:

 .schema nazwa_tabeli pragma table_info (nazwa_tabeli);

Krok 10
Aby wyświetlić ogólną pomoc, wykonamy następujące czynności:

 .Wsparcie 

Krok 11
Aby wyjść z OSQuery, wykonujemy:

 .Wyjście 
Dzięki OSQuery będzie można uzyskać dostęp do szczegółowych informacji o wielu parametrach systemu, aby usprawnić zadania administracyjne i zawsze mieć świetne funkcje funkcjonalne.

wave wave wave wave wave