Detectarea scanării porturilor are o particularitate din cauza căreia iese din trusa obișnuită de instrumente. Fail2ban citește jurnalele aplicațiilor — dar la scanarea unui port închis nu există nicio aplicație, deci nici înregistrare în jurnal. Scanarea se vede doar la nivelul firewallului, și tocmai acolo lucrează PSAD: citește mesajele pe care iptables le scrie despre pachetele respinse.
Condiție obligatorie: jurnalizarea trebuie să fie activată
Acesta este motivul principal pentru care PSAD „stă și nu arată nimic”. Fără reguli de jurnalizare în firewall nu are ce citi, iar nicio eroare nu apare.
Dacă folosești UFW:
sudo ufw logging low
sudo ufw status verbose
Verifică dacă mesajele apar cu adevărat:
sudo journalctl -k | grep -c '\[UFW'
sudo grep -c 'UFW BLOCK' /var/log/ufw.log
Zerouri la ambele comenzi înseamnă că PSAD nu va funcționa. Și separat despre Debian 12 și Ubuntu 24.04: fără rsyslog, fișierul /var/log/ufw.log nu există, totul merge în jurnalul systemd — calea către jurnal în setările PSAD trebuie indicată ținând cont de asta.
Instalare
sudo apt install psad
sudo psad --sig-update
sudo psad -R
sudo psad --Status
Ultima comandă este cea principală. Arată câte pachete au fost analizate, ce adrese au fost observate și cu ce nivel de pericol. Dacă numărătorul pachetelor analizate este zero, întoarce-te la secțiunea anterioară: este vorba de jurnalizare, nu de absența scanărilor.
Setările sunt în /etc/psad/psad.conf. Parametri cu adevărat importanți sunt puțini: adresa pentru scrisori, calea către jurnal și pragurile nivelurilor de pericol.
Niveluri de pericol
PSAD evaluează fiecare sursă pe o scară de la 1 la 5, în funcție de câte porturi diferite au fost atinse și cât de mult seamănă comportamentul cu tehnici de scanare cunoscute.
- 1–2 — accesări izolate ale unor porturi închise. Acesta este fondul permanent al internetului, nu este nevoie de reacție;
- 3 — parcurgerea sistematică a porturilor. De obicei scanere de cercetare, dintre care există câteva zeci în rețea;
- 4–5 — parcurgerea țintită a unui număr mare de porturi de la o singură adresă, adesea cu încercarea de a ascunde natura accesărilor.
Pragul pentru scrisori se stabilește prin parametrul EMAIL_ALERT_DANGER_LEVEL. Valoarea 3 înseamnă de obicei câteva scrisori pe zi, ceea ce duce destul de repede la o regulă în clientul de e-mail. Mai rezonabil este să pui 4 și să te uiți la restul pe o pagină de sinteză.
Blocarea automată: mai bine nu
PSAD poate adăuga singur reguli de firewall (ENABLE_AUTO_IDS). Pe un singur server de producție nu merită activat, iar motivul este concret: adresa expeditorului dintr-un pachet poate fi falsificată. Este de ajuns să ți se trimită pachete cu o adresă pusă în locul celei reale — și vei bloca adresa aleasă de altcineva. Poate fi adresa propriului tău client, a procesatorului de plăți sau a unui serviciu de monitorizare.
Dacă totuși ai nevoie de blocare, activeaz-o cu un prag de pericol ridicat și neapărat cu limitare în timp (AUTO_BLOCK_TIMEOUT), ca o intrare greșită să nu rămână acolo pentru totdeauna.
Ce faci practic cu asta
Scanarea în sine este inofensivă: nu strică nimic și se desfășoară neîntrerupt la toată lumea. Valoarea datelor PSAD nu stă în fapt, ci în schimbările de caracter.
Observații utile:
- Interes țintit. Un scaner obișnuit parcurge mii de adrese și vreo zece porturi populare. Dacă însă cineva parcurge metodic tocmai porturile serverului tău, inclusiv cele nestandard — asta nu mai este fond;
- Scanarea unui port anume. Accesările portului bazei de date sau al panoului de control înseamnă că cineva caută exact acel serviciu — de obicei după publicarea informațiilor despre o nouă vulnerabilitate în el;
- Recunoașterea înaintea încercării. Un salt de scanări, iar după câteva ore ghicirea parolelor din același interval — o succesiune tipică, a cărei primă parte îți oferă puțin timp.
Concluzia practică din oricare dintre aceste observații este aceeași: verifică dacă lista porturilor deschise spre exterior corespunde cu ce te aștepți și dacă pe fiecare dintre ele rulează ceva pe care l-ai actualizat anul acesta.
Locul în trusa generală
PSAD nu înlocuiește nici firewallul, nici Fail2ban, nici un sistem de detectare a intruziunilor. Închide o singură fisură îngustă — încercările care nu lasă urme nicăieri altundeva, pentru că nu au ajuns la nicio aplicație. Costă puțin, funcționează fără configurare după prima rulare, iar sinteza lui răspunde la o întrebare care altfel nici nu se pune: se interesează cineva de serverul tău în mod special, separat de fondul general. Cum arată această sinteză arată pagina demonstrativă de mai jos.