Wracam(y) do zagadnień/tematów związanych z konfiguracji serwera (np. Raspberry Pi, serwer VPS), a konkretnie do cyklu związanego z podstawowymi zabezpieczaniami jakie warto na nim wdrożyć.
Dziś nie będziemy niczego zabezpieczać w sposób czynny/aktywny czy też blokować – zajmiemy się logami, z tym, że wykorzystamy do tego celu program Logwatch, który przynajmniej część tej zazwyczaj dość nudnej roboty wykona za nas…
Spis treści w artykule
Logwatch, i logi masz pod kontrolą
Jak wspomniałem w akapicie powyżej – sam z siebie Logwatch raczej przed niczym Was/Waszego serwera nie obroni, ale dzięki niemu zamiast codziennie (załóżmy, że… ;-)) przedzierać się przez kolejny pliki z logami kolejnych usług wystarczy szybko zapoznać się z jednym zbiorczym zestawieniem, które np. przyjdzie do nas na e-mail.
Ja chyba na każdym serwerze korzystam z tej aplikacji, i właściwie każdy dzień pracy zaczynam od przejrzenia kilku raportów, wśród nich znajdują się również raporty e-mail z programu Logwatch.
Co (ciekawego) w raportach?
Z raportów przesyłanych przez Logwatch dowiecie się m.in. czy Fail2Ban kogoś ostatnio zablokował, zapoznacie się z dziennikiem webserwera, czy kto i z jakiej maszyny ostatnio łączył się z Waszym serwerem za pomocą SSH.
Znajdziecie tu też listę ostatnio uruchamianych przez użytkowników poleceń/programów z podwyższonymi uprawnieniami (sudo), czy szybko sprawdzicie ilość wolnego/zajętego miejsca na poszczególnych dyskach.
Ogólnie większość tych raportów można włączyć/wyłączyć, a ich ilość oczywiście zależy m.in. od zainstalowanych w systemie aplikacji, i tego, czy Logwatch potrafi korzystać z generowanych przez nie logów…
Instalacja i konfiguracja
Instalacja jest na tyle prosta, że nie ma sensu robić z tego oddzielnego punktu – dlatego od razu połączymy to z (podstawową) konfiguracją programu:
sudo apt-get install logwatch
I po krótkiej chwili program będzie zainstalowany, więc można przystąpić do konfiguracji.
Zaczynamy od skopiowania głównego pliku konfiguracyjnego do lokalizacji w której nie grozi mu nadpisanie nową wersją podczas aktualizacji:
sudo cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/logwatch.conf
I przystępujemy do edycji:
sudo nano /etc/logwatch/conf/logwatch.conf
Opcji jest tam sporo, większość jest całkiem dobrze opisana, więc skupie się tylko na kilku które sam najczęściej zmieniam:
- MailTo – w tym miejscu wpisz adres e-mail na który będą przychodzić raporty
- MailFrom – nazwa nadawcy wiadomości, możesz zostawić domyślną (Logwatch)
- Range – zakres analizowanych logów, zazwyczaj są to dane z dnia poprzedniego (yesterday)
- mailer – zależy w jaki sposób Wasz serwer wysyła wiadomości e-mail, bardzo prawdopodobne, że standardowe ustawienia będą OK
- Output – domyślnie znajduje się tu wartość „stdout” (wyświetla raport w oknie konsoli), która zmieniamy na „mail”
- TmpDir – katalog tymczasowy, można zostawić domyślny
Zanim wygenerujemy pierwszy raport musimy jeszcze utworzyć tymczasowy katalog, który program Logwatch będzie wykorzystywał do pracy.
W moim przypadku będzie to standardowy katalog, a więc komenda będzie wyglądała tak:
sudo mkdir /var/cache/logwatch
Generowanie raportu
Raport możecie wygenerować ręcznie w każdej chwili – odpowiada za to polecenie:
sudo logwatch
Jeśli jako wyjście podaliście „mail” to otrzymacie po chwili wiadomość e-mail (dobrze przynajmniej po instalacji i konfiguracji raz wygenerować taki raport ręcznie by sprawdzić czy wszystko działa prawidłowo), jak zostawiliście opcję „stdout” to wyświetli się on Wam w oknie konsoli.
Jeśli w pliku konfiguracyjnym jako standardowe „wyjście” (output) wpisaliście „mail” to w każdej chwili macie możliwość wygenerowania raportu w oknie konsoli, za pomocą polecenia:
sudo logwatch --output stdout
Harmonogram systemowy (CRON)
Domyślnie program generuje i wysyła podsumowanie z dnia poprzedniego korzystając z codziennego harmonogramu, za co odpowiada plik:
/etc/cron.daily/00logwatch
Ja najczęściej kasuje ten plik i zamiast tego skorzystam z własnego wpisu w systemowym harmonogramie zadań, dzięki czemu raport przychodzi do mnie o wybranej godzinie (razem z innymi):
0 6 * * * root /usr/sbin/logwatch --output mail
I to chyba na tyle w tym temacie, zwłaszcza że jak sami widzicie – nie ma tu jakiejś skomplikowanej konfiguracji…
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01