Instalacja i podstawowa konfiguracja systemu Graylog

Prawie każdemu administratorowi od czasu do czasu przychodzi poczytać logi. Bądź do bądź całkiem odprężające zajęcie jeśli co do czytamy jest spójne i ma sens. Jednak często bywa tak że tracimy dużą ilość czasu aby znaleźć wpis o zdarzeniu które nie wiemy kiedy dokładnie nastąpiło i jaki komunikat zwróciło. Tutaj z pomocą przychodzą systemy zarządzania logami. W tym artykule przedstawię jak zainstalować oraz uruchomić jeden z nich czyli system Graylog.


Na początku polecam przeczytanie artykułu Logi w systemie RouterOS

Co to jest Graylog ?

Graylog to system który m.in zbiera logi używając rożnych protokołów. Oferuje prosty sposób na ich przeszukiwanie i kategoryzację. Oraz pozwala na tworzenie z nich wykresów, alertów, itp.


Instalacja systemu Graylog

Przedstawię instalację po przykładzie systemu Ubuntu Server 18.04 LTS. W moim przykładzie zakładam że cały serwer będzie przeznaczony na Graylog’a.

Postawiłem ten system na serwerze VPS o parametrach 1 CPU, 2GB RAM i 10 GB HDD. Jednak dla dobrego działania polecam parametry co najmniej dwukrotnie większe i dysk SSD.

Przygotowałem skrypt instalacyjny który wymaga jedynie podania hasła superadmin’a systemu Graylog oraz IP serwera. Skrypt do pobrania tutaj.

Po wykonaniu skryptu Graylog będzie dostępny pod adres http://adres-ip:9000 w zależności od wydajności serwera panel może pojawić się po kilkudziesięciu sekundach.


Zabezpieczenie serwera

Po instalacji serwer co prawda działa ale nie ma żadnego firewalla (Ubuntu domyśle ma wszędzie accept). Na początku polecam zainstalowanie pakietu który pozwoli mam na wrzucenie konfiguracji iptables (czyli firewall’a) do autostartu systemu.

sudo apt install iptables-persistent

Następnie wprowadzamy poniższą konfigurację iptables (jeżeli port SSH jest inny niż 22 należy zmienić to w opisanej linii):

sudo iptables --policy FORWARD DROP
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -p icmp --icmp-type echo-request -m state --state NEW -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 9000 -m state --state NEW -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 9100 -m state --state NEW -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT # port dla SSH
sudo iptables --policy INPUT DROP

Link

Jeżeli serwer posiada adres IPv6 a nie będziemy z niego korzystać wklejamy:

sudo ip6tables --policy FORWARD DROP
sudo ip6tables --policy INPUT DROP

Aby zapisać obecny firewall do konfiguracji autostartu wykonujemy komendy:

Dla IPv4:

iptables-save > /etc/iptables/rules.v4

Dla IPv6:

ip6tables-save > /etc/iptables/rules.v6

Konfiguracja systemu Graylog

Po zainstalowaniu ukazuje się nam strona logowania. Login to admin a hasło ustaliliśmy przy instalacji.

Najpierw należy utworzyć konto którym będziemy się posługiwać. Konto admin ze względu na to iż hasło jest w pliku konfiguracyjnym służy tylko do założenia pierwszego użytkownika i ewentualnie w sytuacjach awaryjnych.

Wchodzimy w tym celu w System->Authentication i tworzymy nowego użytkownika.

Następnie aby dodać nowe urządzenie do zbierania logów wchodzimy w System->Inputs, wybieramy rodzaj wejścia (w przypadku MikroTik’a będzie to Syslog UDP) i klikamy „Launch new input”.

W oknie które nam się pojawiło jako Node wybieramy nasz serwer, ustawiamy tytuł oraz wpisujemy numer portu. Zalecam używać portów od 10000.

Musimy jeszcze dodać regułę firewall która pozwoli na przyjmowanie ruchu z tego urządzenia (oczywiście po takiej zmianie jeśli wszystko działa zapisujemy iptables do autostartu):

sudo iptables -A INPUT -p udp -s ADRES_IP_URZĄDZENIA -m udp --dport PORT -m state --state NEW -j ACCEPT

Po zapisaniu klikamy „Show received messages” i w ten sposób widzimy logi wysłane przed urządzenie.

Oczywiście system pozwala na tworzenie raportów z odebranych logów, wysyłanie alertów i wiele innych opcji (jak to zrobić znajdziecie na pewno na innych stronach). Jednak w zamierzeniu ten poradnik miał przestawić samą procedurę instalacyjną i podstawową konfigurację.