Logwatch rozwiązuje zadanie, które inaczej nie zostaje rozwiązane w ogóle: czyta za nas wszystkie dzienniki serwera i przysyła wyciąg za dobę. Nikt nie przegląda codziennie auth.log i dzienników serwera WWW, ale przeczytać rano jeden list — to wykonalne.
Kłopot jest znany: pierwszy list przychodzi na kilkaset wierszy, drugi przegląda się po łebkach, po tygodniu reguła w poczcie odkłada je do osobnego folderu i na tym obserwacja się kończy. Przyczyna prawie zawsze tkwi w ustawieniach domyślnych, a poprawia się to w dziesięć minut.
Instalacja i gdzie zmieniać ustawienia
sudo apt install logwatch
Ważne, gdzie wpisywać własne wartości. Pliku /usr/share/logwatch/default.conf/logwatch.conf ruszać nie wolno — jest nadpisywany przy aktualizacji pakietu. Nasz plik to /etc/logwatch/conf/logwatch.conf. Może być pusty, wystarczy dopisać do niego wyłącznie to, co zmieniamy.
Output = mail
Format = html
MailTo = admin@example.com
Detail = Low
Range = yesterday
O wszystkim decyduje poziom szczegółowości
Detail przyjmuje wartości od 0 do 10 albo słowa Low, Med, High. Różnica jest ogromna: przy High raport obejmuje każde połączenie i każde żądanie, przy Low — tylko liczby zbiorcze i odchylenia.
Praktyka wygląda tak: poziom ogólny Low, a szczegółowość podnosi się punktowo dla tych usług, które naprawdę nas interesują. Ustawienia poszczególnych usług kładzie się w /etc/logwatch/conf/services/ — na przykład plik sshd.conf z wierszem Detail = High.
Punkt odniesienia: raport powinien mieścić się mniej więcej na ekranie, góra półtora. Wszystko dłuższe przestanie być czytane — nie z lenistwa, lecz dlatego, że wśród trzystu wierszy rutyny odchylenia nie widać.
Obejrzeć wynik, nie czekając do rana:
sudo logwatch --detail Low --range today --output stdout
Pusta sekcja SSH na Debianie 12
Osobna pułapka świeżych systemów. Logwatch czyta pliki tekstowe w /var/log, a Debian 12 i Ubuntu 24.04 nie instalują już domyślnie rsyslog — pliku /var/log/auth.log po prostu nie ma, wszystko idzie do dziennika systemd. Raport przychodzi przy tym regularnie, ale najpotrzebniejsza sekcja — o logowaniach SSH — okazuje się pusta albo w ogóle jej brakuje.
Sprawdzenie zajmuje sekundę:
ls -l /var/log/auth.log
Brak pliku oznacza, że albo instalujemy rsyslog, albo przyjmujemy do wiadomości, że Logwatch pokazuje na tej maszynie obraz niepełny. Pustą sekcję łatwo wziąć za „nic się nie działo” i to najgroźniejszy z możliwych skutków.
Dokąd trafia list
Druga częsta przyczyna „raporty nie przychodzą”: na serwerze nie skonfigurowano wysyłania poczty. Logwatch przekazuje list agentowi systemowemu, ten nie wysyła go nigdzie i list osiada w lokalnej skrzynce roota, do której nikt nie zagląda:
sudo cat /var/mail/root | tail -50
Możliwości są dwie. Albo skonfigurować wysyłkę przez zewnętrzny przekaźnik SMTP, albo nie korzystać z poczty w ogóle i składać raport do pliku:
Output = file
Filename = /var/log/logwatch/report.txt
Drugie wyjście jest uczciwsze: list, którego nie ma komu doręczyć, tworzy złudzenie obserwacji, a plik na dysku da się przynajmniej otworzyć.
Co czytać w raporcie
Malejąco według przydatności:
- sshd. Udane logowania — kto i skąd. Właśnie udane, a nie tysiące nieudanych: nieudane to tło, natomiast logowanie z nieznanego adresu wymaga wyjaśnienia;
- sudo i pam_unix. Kto podnosił uprawnienia i zakładał użytkowników;
- Disk Space. Jeden wiersz ostrzegający z wyprzedzeniem o zapełnianiu dysku;
- cron. Nowe zadania i te zakończone błędem;
- http. Skok odpowiedzi 404 zwykle oznacza szukanie ścieżek, skok 500 — że coś zepsuło się u nas;
- postfix, jeśli serwer wysyła pocztę: rosnąca kolejka wychodząca to typowa oznaka, że serwera zaczęto używać do rozsyłki.
Granice stosowalności
Logwatch to zestawienie za miniony dzień, a nie powiadomienie. Nie obudzi nas w nocy i z definicji jest opóźniony: uruchamia się zadaniem dziennym nad ranem i rozbiera wczorajszy dzień. Do „coś dzieje się właśnie teraz” się nie nadaje i nie jest do tego przeznaczony.
Jego siła leży gdzie indziej — pokazuje kształt zwykłego dnia. Po miesiącu czytania wiemy, ile mamy normalnie nieudanych logowań, ile żądań do witryny i ile listów wychodzi; a kiedy któraś z tych liczb zmienia się dwukrotnie, widać to od razu, bez żadnych progów i reguł. Właśnie dlatego raport warto trzymać tam, gdzie rzuca się w oczy, a nie w folderze pocztowym. Jak to wygląda na stronie, pokazuje demonstracja poniżej.