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…

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…

(!) Zgłoś błąd na stronie | Lub postaw nam kawę :-)
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Patryk