W poprzednim wpisie pokazałem co to Munin, do czego służy i jak wygląda. Munin monitoruje zasoby komputera/routera/pralki
za pomocą wtyczek, są one pisane w różnych językach, głównie perl i python, jednak można napisać taką wtyczkę równie dobrze w bashu. Strona z pluginami znajduje się pod adresem http://exchange.munin-monitoring.org/, mamy tutaj podział na kategorie, a także informację w jakim środowisku działa wtyczka (windows, linux, solaris, wszystkie). Dla przykładu pokażę wam instalację i konfigurację 2 wtyczek.
1. sshd_log plugin
Wtyczka analizuje logi systemowe pod kątem logowań po SSH, pokazuje wartości dla logowań udanych, nieudanych, odrzuconych, logowań na konta nieistniejących użytkowników etc. Do czego się to może przydać ? – w sumie zawsze warto mieć jakąś świadomość tego jak bardzo nasz serwer jest popularny wśród chińskich botów
. Dodatkowo mając taki wykres można sobie w łatwy sposób kontrolować to czy nasze zabezpieczenie SSH działają poprawni i co można w nich zmienić poprawić.
Zaczynamy od pobrania pliku z wtyczką, plik jest zapisany w formacie DOS i pod Linuksem będzie sypał błędami dlatego lepiej potraktować go programikiem żeby nie było problemów.
dos2linux <nazwa_pliku>
Po konwersji trzeba pamiętać o tym aby plik miał odpowiednie uprawnienia, głownie chodzi o możliwość wykonywania pliku, tak to powinno wyglądać (-rwxr-xr-x).
chmod 0755 <nazwa_pliku>
Teraz kopiujemy plik do głównego katalogu Munina, gdzie przechowywane są wszystkie pliki wtyczek.
sudo cp /home/supermegazord/<nazwa_pliku> /usr/share/munin/plugins/<nazwa_pliku>
ok sprawdzamy czy Munin widzi wtyczkę wydając polecenie w konsoli:
munin-node-configure
powinniśmy zobaczyć coś mniej więcej takiego tylko w większych ilościach:
ps_ | no |
psu_ | no |
sendmail_mailqueue | no |
sendmail_mailstats | no |
sendmail_mailtraffic | no |
sensors_ | no |
smart_ | no |
squid_cache | no |
squid_icp | no |
squid_requests | no |
squid_traffic | no |
sshd_log | no |
swap | yes |
sybase_space | no |
ok widzimy wtyczkę o nazwie sshd_log jednak nie jest ona aktywna, żeby ją aktywować robimy 2 rzeczy, tworzymy dowiązanie do pliku wtyczki w katalogu /etc/munin/plugins/
ln –s /usr/share/munin/plugins/<nazwa_pliku> /etc/munin/plugins/sshd_log
oraz dopisujemy wtyczkę do pliku konfiguracyjnego /etc/munin/plugin-conf.d/munin-node, wpis ma wyglądać tak jak poniżej
[sshd_log]
user root
env.logfile /var/log/auth.log
- ważna kwestia wartość między nawiasami kwadratowymi to nazwa wtyczki i musi być ona dokładnie taka sama jak nazwa dowiązania w katalogu etc/muni/plugins. Jeśli nazwaliście tą wtyczkę np. lubie_pierogi wtedy to wpis powinien wyglądać następująco [lubie_pierogi]
- wartość user root określa jako jaki użytkownik Munin będzie otwierał plik do analizy
- ostatnia linijka wskazuje ścieżkę do pliku, w którym są zawarte informację o logowaniach po SSH, jeśli źle się uzupełni ścieżkę Munin będzie pokazywał puste wykresy.
Dodatkowo jeśli ktoś otworzył plik wtyczki np. przez nano zauważył na pewno, że w łatwy sposób można spolonizować opisy na wykresie. Ja tego nie robiłem bo mi się nie chciało ale można ![]()
Teraz dla pewności sprawdzamy czy wszystko działa ok
munin-node-configure
dostajemy
ps_ | no |
psu_ | no |
sendmail_mailqueue | no |
sendmail_mailstats | no |
sendmail_mailtraffic | no |
sensors_ | no |
smart_ | no |
squid_cache | no |
squid_icp | no |
squid_requests | no |
squid_traffic | no |
sshd_log | yes |
swap | yes |
sybase_space | no |
czyli informację, że wtyczka jest widoczna i włączona. Teraz sprawdzimy samo działanie wtyczki
munin-run sshd_log
jeśli wszystko jest ok powinniśmy otrzymać coś takiego
NoRDNS.value 0
Breakin.value 0
LogPass.value 0
InvUsr.value 0
rootAttempt.value 0
NoID.value 0
LogKey.value 0
ja mam akurat wszystkie wartości 0 ponieważ mam świeży plik ale spokojnie to się szybko zmieni.
Poniżej jeszcze kilka zdjęć.
Comments (0)