Tartalomjegyzék
Monitorozás
- Szerző: Sallai András
- Copyright © Sallai András, 2017, 2018, 2019, 2020
- Licenc: GNU Free Documentation License 1.3
- Web: http://szit.hu
Mit monitorozzunk?
Nézzünk néhány dolgot, amit érdemes monitorozni:
- futnak a szolgáltatások?
- memóriahasználat?
- lemezhasználata?
- adatbázis egy adott alkalmazásban rendben van?
- zárolások
- kapcsolatok
- naplók monitorozása
Monitorozó eszközök
Monitorozó eszköz lehet olyan, amelyik valós időben mutatja a történéseket. Van amelyik statisztikát készít belőle. Van amelyik e-mail-t küld róla.
- ss, netstat
- ps, top
- htop
- iptraf-ng
- nbtscan
- nmap
- nload
- nmon
- monit
- whowatch - menüs, interaktív folyamat és felhasználó nézegető
A következő fejezetekben néhány eszköz kiemelve található.
Felmérő
A prads egy hálózati aktivitás figyelő program.
# apt install prads
Ellenőrizzük fut-e:
$ ps ax | grep prads
Weblap:
Riport:
# prads-asset-report
A futtatás lehetséges kimenete:
# prads-asset-report prads-asset-report - PRADS Text Reporting Module 0.2 - 2010-04-14 Edward Fjellskaal <edward@redpill-linpro.com> http://prads.projects.linpro.no/ 1 ------------------------------------------------------ IP: 192.168.5.1 DNS: 192.168.5.1 OS: unknown unknown (0%) 0 Port Service UDP-Application 53 SERVER @domain 2 ------------------------------------------------------ IP: 192.168.5.103 DNS: 192.168.5.103 OS: unknown unknown (0%) 0 Port Service TCP-Application 22 SERVER @ssh Port Service UDP-Application 53 CLIENT @domain 3 ------------------------------------------------------ IP: 192.168.5.5 DNS: 192.168.5.5 OS: unknown unknown (0%) 0 Port Service TCP-Application 22 CLIENT @ssh
Napló:
# cat /var/log/prads-asset.log
Monit
Rendszergazdaként:
# apt install monit
A webes felület beállításához az alábbiakat kell tennünk.
Szerkesszük a következő a /etc/monit/monitrc állományt:
# nano /etc/monit/monitrc
Keressük meg a következő sorokat:
# set httpd port 2812 and # use address localhost # anly accept connection from localhost # allow localhost # allow localhost to connect to the server and # allow admin:monit # require user 'admin' with password 'monit'
Vegyük ki a megjegyzést két sor előtt:
set httpd port 2812 and # use address localhost # anly accept connection from localhost # allow localhost # allow localhost to connect to the server and allow admin:monit # require user 'admin' with password 'monit'
Indítsuk újra a monitot:
systemctl restart monit
Ellenőrizzük a 2812-es portot:
ss -lt
A böngészőbe írjuk be:
http://192.168.10.2:2812/
A parancssorból is lekérdezhető a státusz:
monit status
Engedélyezzük a példa kedvéért az apache2 monitorozását:
ln -s /etc/monit/conf-available/apache2 /etc/monit/conf-enabled/
Indítsuk újra a monitot:
systemctl restart monit
A Pure-FTPd nem szerepel az engedélyezhető szolgáltatások között. Ezért készítsük el a hozzátartozó konfigurációs fájlt.
nano /etc/monit/conf-available/pure-ftpd
check process proftpd with pidfile /run/pure-ftpd/pure-ftpd.pid start program = "systemctl start pure-ftpd" stop program = "systemctl stop pure-ftpd" if failed port 21 protocol ftp then restart
Ezek után, linkeljük az engedélyezett szolgáltatások közzé:
ln -s /etc/monit/conf-available/pure-ftpd /etc/monit/conf-enabled/
A konfigurációs fájl szintaktikai ellenőrzése:
monit -t
Indítsuk újra a monitot:
systemctl restart monit
Hasznos alparancsok:
monit summary monit status monit status pure-ftpd
whowatch
Telepítés:
apt install whowatch
Indítás:
whowatch
2 users: 0 local, 0 telnet, 0 ssh, 2 other load: 0.97, 0.48, 0.34 (lightdm) janos tty7 :0 - (lxpanel) janos pts/1 :0.0 - [ENT]proc all[t]ree [d]etails [s]ysinfo
acct
Az acct
Az acct egy folyamat és belépésfigyelő.
Telepítés
apt install acct
Használat
Az acct scriptként fut:
/etc/cron.daily/acct /etc/cron.monthly/acct
Felhasználói kapcsolatok statisztikája:
ac
Napi bejelentkezési statisztika:
ac -d
Bejelentkezések összideje felhasználóként:
ac -p
A janos felhasználó ideje:
ac janos
A janos felhasználó összes bejelentkezési ideje, naponta:
ac -d janos
Az összes hozzáférés aktiválása:
sa
Információ egyedenként:
sa -u
Folyamatok számának kiírása:
sa -m
A teljes idő százalékos formában:
sa -c
Utoljára futtatott parancsok listája:
lastcomm janos
Parancsok keresése:
lastcomm ls
auditd
Telepítés
apt install auditd
Napló
tail -f /var/log/audit/audit.log
Vezérlés
A auditd önmagában figyeli a fontosabb eseményeket, de magunk vehetünk fel szabályokat és figyelőket:
- szabályok
- figyelők
Figyeljük a /data/raktar.txt állomány változásait, ehhez vegyünk fel egy szabályt:
auditctl -w /data/raktar.txt -p wa
Felvett szabályok listázása:
auditctl -l
Lehetséges kimenet:
-w /data/raktar.txt -p wa
A -w a watch szóból, vagyis figyelőt állítunk be vele. A gyökér '/' könyvtár nem adható meg. A -p a permission szóból, vagyis megmondjuk milyen jogokat kell figyelni. Figyelhető jogok:
- r read
- w write
- x execute
- a attribute - tulajdonság változása
Egy figyelő törlése:
auditctl -W /data/raktar.txt -p wa
A -D kapcsolóval törölhetjük az összes szabályt és figyelőt.
auditctl -D
logcheck
A logcheck időnként elküldi a naplóállományokat e-mialben számunkra.
Telepítés:
apt install logcheck
A konfiguráció szerkesztése:
nano /etc/logcheck/logcheck.conf
- /etc/logcheck/logcheck.conf
DATE="$(date +'%Y-%m-%d %H:%M')" REPORTLEVEL="server" SENDMAILTO="logcheck" MAILASATTACH=0 FQDN=1 ATTACKSUBJECT="Biztonsági figyelmeztetés" SECURITYSUBJECT="Biztonsági esemény" EVENTSSUBJECT="Rendszeresemény" TMP="/tmp"
A REPORTLEVEL változóban állítható be a jelentési szint, ami lehet workstation, server vagy paranoid.
Összefoglaló:
- paranoid
- minimális szűrő itt: ignore.d.paranoid
- például tűzfal, néhány szolgáltatással
- bőbeszédű kimenet
- server
- több szelekció itt: ignore.d.server
- tartalmazza a paranoid szűrőt is
- a gépek több szolgáltatást futtatnak
- workstation
- komplikált szűrőhalmaz itt: ignore.d.workstation
- használja a paranoid és a server szűrőt
- nem kritikus gépekhez
A SENDMAILTO változóban adjuk meg ki kapja a leveleket. Beírhatunk egy komplett e-mail címet. Ha csak egy nevet adunk meg, az e-mail lokálisan kerül kézbesítésre. Alapértelmezetten lesz egy logcheck alias, a /etc/alias állományban, ami a root felhasználóra mutat. A leveleket így a root felhasználó kapja.
Külső e-mail címekhez működő e-mail szerver szükséges.