Jak zainstalować Graylog?
Graylog to platforma do zarządzania i analizy logów o otwartym kodzie źródłowym, która umożliwia zbieranie, przechowywanie i analizowanie danych zebranych z różnych źródeł. Oferuje zaawansowane możliwości wyszukiwania i wizualizacji, co czyni go przydatnym narzędziem dla szerokiego zakresu zastosowań. W tym artykule pokaże dokładnie jak zainstalować Graylog.
Elastyczność, skalowalność i otwarty charakter Grayloga sprawiają, że jest to uniwersalne rozwiązanie do zarządzania logami i ich analizy, odpowiednie dla organizacji o różnej wielkości i z różnych branż. Platforma ta pomaga organizacjom zwiększać efektywność operacyjną, poprawiać bezpieczeństwo oraz wydobywać cenne wnioski z przeanalizowanych logów.
Dodatkowo opisywane narzędzie, dzięki swojej otwartości, umożliwia łatwą integrację z innymi narzędziami i systemami, co jeszcze bardziej zwiększa jego wartość. Organizacje mogą korzystać z bogatej społeczności użytkowników i deweloperów Grayloga, aby wymieniać się wiedzą i najlepszymi praktykami, co przyspiesza rozwiązywanie problemów i wprowadzanie innowacji. W efekcie, Graylog nie tylko ułatwia zarządzanie logami, ale również staje się kluczowym elementem strategii cyberbezpieczeństwa i monitorowania infrastruktury IT.
Graylog zastosowanie w środowiskach IT
- Zarządzanie logami: Graylog służy jako centralna platforma do zarządzania logami, zbierając dzienniki i zdarzenia z różnych źródeł, takich jak serwery, urządzenia sieciowe, aplikacje i usługi w chmurze.
- Monitorowanie w czasie rzeczywistym: Wykorzystaj Graylog do monitorowania systemów i aktywności sieciowej w czasie rzeczywistym. Umożliwi to wykrywanie i reagowanie na problemy oraz anomalie w miarę ich pojawiania się.
- Rozwiązywanie problemów i debugowanie: Graylog wspomaga zespoły IT i DevOps w rozwiązywaniu problemów i debugowaniu aplikacji oraz systemów.
- Zgodność i audyt: Organizacje korzystają z Grayloga, aby utrzymać zgodność z przepisami branżowymi i standardami, zbierając i przechowując logi oraz generując raporty zgodności.
- Analiza ruchu sieciowego: Pomaga w analizie logów ruchu sieciowego i danych przepływu w celu monitorowania aktywności sieciowej, wykrywania nieautoryzowanego dostępu oraz rozwiązywania problemów sieciowych.
- Tworzenie pulpitów nawigacyjnych: Graylog dostarcza narzędzi do tworzenia dostosowanych pulpitów nawigacyjnych i wizualizacji. Pozwolą one użytkownikom uzyskać wgląd w logi za pomocą wykresów, grafów i widżetów.
- Monitorowanie infrastruktury: Organizacje wykorzystują Grayloga do monitorowania stanu i wydajności komponentów infrastruktury, takich jak serwery, bazy danych i zasoby w chmurze.
- Analiza logów aplikacji: Deweloperzy i zespoły wsparcia aplikacji wykorzystują Grayloga do analizy logów aplikacji. Analiza umożliwia diagnozowanie błędów oraz optymalizacjie kodu i wydajności aplikacji.
- Monitorowanie kontenerów i mikrousług: Graylog może zbierać logi ze środowisk kontenerowych i mikrousług. Pomaga śledzić i rozwiązywać problemy w tych dynamicznych środowiskach.
Graylog zastosowanie w cyberbezpieczeństwie
- Zarządzanie informacjami o bezpieczeństwie i zarządzanie zdarzeniami (SIEM): Graylog może funkcjonować jako rozwiązanie SIEM. Zbierając, korelując i analizując dane związane z bezpieczeństwem w celu identyfikacji i reagowania na incydenty bezpieczeństwa oraz zagrożenia.
- Reagowanie na incydenty: Graylog pomaga w reagowaniu na incydenty, dostarczając zespołom bezpieczeństwa narzędzia do badania i analizy danych.
- Wykrywanie zagrożeń: Odtwarza kluczową rolę w wykrywaniu zagrożeń, identyfikując wzorce, anomalie i wskaźniki kompromitacji (IOCs).
- Tworzenie niestandardowych alertów: Graylog umożliwia użytkownikom ustawianie niestandardowych reguł alertów. Podstawą mogą być określone zdarzenia lub warunki, umożliwia proaktywne powiadamianie o krytycznych zdarzeniach.
Kluczowe funkcje Grayloga:
- Zbieranie logów: Umożliwia zbieranie zdarzeń z różnorodnych źródeł, takich jak serwery, urządzenia sieciowe, aplikacje i usługi w chmurze. Obsługuje wiele metod wejściowych, w tym syslog, GELF (Graylog Extended Log Format) oraz różne API.
- Przetwarzanie danych w czasie rzeczywistym: Przetwarza przychodzące logi w czasie rzeczywistym, co pozwala na natychmiastową analizę i reagowanie na zdarzenia w miarę ich występowania.
- Analiza i normalizacja logów: Graylog normalizuje i analizuje logi, czyniąc je spójnymi i strukturyzowanymi do analizy. Ta normalizacja ułatwia korelację danych z różnych źródeł.
- Zaawansowane wyszukiwanie i kwerendy: Graylog zapewnia potężny silnik wyszukiwania, który umożliwia użytkownikom kwerendowanie logów za pomocą elastycznego języka zapytań. Obsługuje pełnotekstowe wyszukiwanie, wyszukiwanie specyficzne dla pola i złożone zapytania.
- Alerty i powiadomienia: Użytkownicy mogą tworzyć niestandardowe reguły alertów na podstawie konkretnych zdarzeń lub warunków. Graylog może wysyłać powiadomienia przez różne kanały, w tym e-mail, Slack i inne.
- Pulpity nawigacyjne i wizualizacje: Graylog oferuje dostosowywane pulpity nawigacyjne i wizualizacje, umożliwiając użytkownikom tworzenie wykresów, grafik i widżetów do uzyskiwania wglądu w dane logów.
- Przechowywanie logów: Przechowuje dane logów w indeksowanym formacie, ułatwiając odzyskiwanie i analizę historycznych wpisów logów.
- Bezpieczeństwo i kontrola dostępu: Graylog zapewnia uwierzytelnianie użytkownika i kontrolę dostępu opartą na rolach (RBAC). To zapewnia że tylko autoryzowani użytkownicy mają dostęp do danych i konfiguracji systemu.
- Integracja i wtyczki: Graylog obsługuje szeroki zakres integracji i wtyczek, pozwalając użytkownikom na rozszerzanie jego funkcjonalności, aby sprostać konkretnym potrzebom i połączyć się z różnymi źródłami danych.
Architektora Graylog
- Serwer Grayloga: Ten komponent odpowiada za zbieranie, przetwarzanie i przechowywanie logów. Udostępnia również interfejs użytkownika oparty na przeglądarce do interakcji z systemem.
- Elasticsearch lub OpenSearch: Graylog wykorzystuje Elasticsearch lub OpenSearch do indeksowania i przechowywania logów.
- MongoDB: MongoDB służy do przechowywania danych konfiguracyjnych, metadanych i informacji o użytkownikach. Działa jako baza danych zaplecza dla Grayloga.
- Wejścia (Inputs): Wejścia są używane do zbierania logów z różnych źródeł. Graylog obsługuje wiele metod wejścia, w tym syslog, GELF i różne API.
- Wyjścia (Outputs): Wyjścia są używane do wysyłania logów do zewnętrznych systemów lub usług w celu dalszej analizy lub przechowywania. Powszechne wyjścia obejmują Elasticsearch, Kafka.
- Wtyczki (Plugins): Graylog wspiera wtyczki, które rozszerzają jego funkcjonalność. Mogą one dostarczać dodatkowe metody wejścia, opcje alertów i integracje z systemami firm trzecich.
- Sidecar do zbierania danych (Collector Sidecar): Jest to opcjonalny agent, który może być zainstalowany na serwerach w celu zbierania zdarzeń i przekazywania ich do Grayloga. Upraszcza proces zbierania logów z różnych źródeł.
Architektura Grayloga jest zaprojektowana z myślą o skalowalności i elastyczności, co pozwala dostosować system do ich specyficznych wymagań. Poniżej przykładowa instalacja w moim lab po małej modyfikacji i zamianie VirtualBox na Vmware Player.
Aktualizacja systemu Ubuntu
sudo apt-get update
sudo apt upgrade -y
Instalacja MongoDB
sudo apt install software-properties-common gnupg apt-transport-https ca-certificates -y
curl -fsSL https://pgp.mongodb.com/server-6.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg --dearmor
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo systemctl daemon-reload
sudo systemctl enable mongod
sudo systemctl start mongod
sudo systemctl status mongod
Instalacja MongoDB
sudo apt-get update && sudo apt-get -y install lsb-release ca-certificates curl gnupg2
curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyring
echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.list
sudo apt-get update
sudo apt-get install opensearch=2.11.0
W pliku /etc/opensearch/opensearch.yml dodaj te wartości:
cluster.name: graylog
node.name: ${HOSTNAME}
path.data: /var/lib/opensearch
path.logs: /var/log/opensearch
discovery.type: single-node
network.host: 0.0.0.0
action.auto_create_index: false
plugins.security.disabled: true
indices.query.bool.max_clause_count: 32768
W pliku /etc/opensearch/jvm.options zmodyfikuj wartości Xms3g i Xmx3g w taki sposób żeby wartość to była połowa pamięcie ram w maszynie:
-Xms3g
-Xmx3g
Wprowadź też takie modyfikację wydając polecenia:
sudo sysctl -w vm.max_map_count=262144
echo 'vm.max_map_count=262144' | sudo tee -a /etc/sysctl.conf
Następnie kontuunuj uruchomienie OpenSearch:
sudo systemctl daemon-reload
sudo systemctl enable opensearch
sudo systemctl start opensearch
sudo systemctl status opensearch
Instalacja pakietów Graylog
wget https://packages.graylog2.org/repo/packages/graylog-5.2-repository_latest.deb
sudo dpkg -i graylog-5.2-repository_latest.deb
sudo apt-get update
sudo apt-get install -y graylog-server
Następnie przystąp do konfiguracji:
< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c${1:-96};echo;
Wynik tego polecenia wpisz jako password_secret w pliku /etc/graylog/server/server.conf.
Poniższe polecenie:
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
Wpisz jako root_password_sha2 w pliku /etc/graylog/server/server.conf.
Dodatkowo w pliku /etc/graylog/server/server.conf zmodyfikuj wartości http_bind_address oraz elasticsearch_hosts :
http_bind_address = 0.0.0.0:9000
elasticsearch_hosts = http://127.0.0.1:9200,http://user:password@node2:19200
Powyższe wartości spowodują że przygotowana instancja będzie nasłuchiwać na każdym adresie IP dostępnym w maszynie. Drugi parametr definiuje połączenie do lokalnej instancji OpenSearch.
Następnie wydaj kolejne polecenia:
sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service
sudo systemctl status graylog-server.service
Gotowe. Sprawdź wchodząc na adres http://IP_SERWERA:9000/
Podsumowanie jak zainstalować Graylog?
Graylog to ciekawe rozwiązanie SIEM, przydatne z punktu widzenia zarządzania infrastrukturą IT i jej bezpieczeństwem. Tutaj dowiesz sie czym jest i jak działa SIEM. Instalacja to pierwszy krok do poznania jakie możliwości ma ten system. W kolejnych wpisach przedstawie jak skonfigurować elementy systemu oraz dodać logi z systemów operacyjnych, aplikacji.
Na kanale tematyka.it na Youtube znajduje się film przedstawiający w całości informacje o tym jak zainstalować Graylog.