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ścieDzię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.