Upptäckt av portskanning har en egenhet som gör att den faller utanför den vanliga verktygslådan. Fail2ban läser applikationsloggar — men vid skanning av en stängd port finns ingen applikation, alltså inte heller någon loggpost. Skanning syns enbart på brandväggsnivå, och det är där PSAD arbetar: det läser meddelandena som iptables skriver om avvisade paket.
Nödvändigt villkor: loggningen måste vara på
Det är den främsta orsaken till att PSAD ”står och inte visar något”. Utan loggningsregler i brandväggen finns ingenting att läsa, och något fel uppstår inte.
Om du har UFW:
sudo ufw logging low
sudo ufw status verbose
Kontrollera att meddelanden verkligen dyker upp:
sudo journalctl -k | grep -c '\[UFW'
sudo grep -c 'UFW BLOCK' /var/log/ufw.log
Nollor i båda kommandona betyder att PSAD inte kommer att fungera. Och särskilt om Debian 12 och Ubuntu 24.04: utan rsyslog finns filen /var/log/ufw.log inte, allt går till systemd-journalen — sökvägen till loggen i PSAD-inställningarna måste anges med hänsyn till det.
Installation
sudo apt install psad
sudo psad --sig-update
sudo psad -R
sudo psad --Status
Det sista kommandot är det centrala. Det visar hur många paket som analyserats, vilka adresser som noterats och med vilken farlighetsnivå. Är räknaren för analyserade paket noll — gå tillbaka till föregående avsnitt: det handlar om loggningen och inte om att skanningar saknas.
Inställningarna finns i /etc/psad/psad.conf. Praktiskt betydelsefulla parametrar är få: adressen för brev, sökvägen till loggen och trösklarna för farlighetsnivåer.
Farlighetsnivåer
PSAD bedömer varje källa på en skala från 1 till 5 utifrån hur många olika portar som berörts och hur mycket beteendet liknar kända skanningstekniker.
- 1–2 — enstaka anrop mot stängda portar. Det är internets ständiga bakgrund, ingen reaktion behövs;
- 3 — systematisk genomgång av portar. Vanligen forskningsskannrar, som finns i några dussin på nätet;
- 4–5 — riktad genomgång av ett stort antal portar från en adress, ofta med försök att dölja anropens karaktär.
Tröskeln för brev sätts med parametern EMAIL_ALERT_DANGER_LEVEL. Värdet 3 betyder vanligen några brev om dagen, vilket ganska snabbt leder till en regel i e-postklienten. Klokare är att sätta 4 och se resten på en översiktssida.
Automatisk blockering: låt bli
PSAD kan själv lägga till brandväggsregler (ENABLE_AUTO_IDS). På en enda produktionsserver är det inte värt att slå på, och skälet är konkret: avsändaradressen i ett paket går att förfalska. Det räcker att skicka paket åt ditt håll med en påhittad adress — så blockerar du den adress någon annan valt. Det kan bli din egen kunds adress, betalningsgatewayens eller övervakningstjänstens.
Behövs blockering ändå, slå på den med hög farlighetströskel och alltid med en tidsgräns (AUTO_BLOCK_TIMEOUT), så att en felaktig post inte blir kvar för alltid.
Vad du gör med detta praktiskt
Skanning i sig är ofarlig: den förstör ingenting och pågår oavbrutet hos alla. Värdet i PSAD-data ligger inte i själva faktumet utan i förändringar av karaktären.
Nyttiga iakttagelser:
- Riktat intresse. En vanlig skanner går igenom tusentals adresser och ett tiotal populära portar. Om någon däremot metodiskt går igenom portarna på just din server, inklusive de icke standardiserade — då är det inte längre bakgrund;
- Skanning av en bestämd port. Anrop mot databasens eller kontrollpanelens port betyder att någon letar just den tjänsten — vanligen efter att uppgifter om ännu en sårbarhet i den publicerats;
- Spaning före försöket. En topp av skanning, och några timmar senare lösenordsgissning från samma intervall — en typisk följd, och dess första del ger lite tid.
Den praktiska slutsatsen av var och en av dessa iakttagelser är densamma: kontrollera att listan över utåtvända portar stämmer med den förväntade och att det på var och en av dem körs något du uppdaterat i år.
Platsen i den samlade uppsättningen
PSAD ersätter varken brandväggen, Fail2ban eller ett intrångsdetekteringssystem. Det täpper till en smal springa — försök som inte lämnar spår någon annanstans, eftersom de aldrig nådde en applikation. Det kostar lite, arbetar utan inställningar efter första körningen, och dess översikt svarar på en fråga man annars inte ställer: är någon intresserad av just din server, skild från den allmänna bakgrunden. Hur den översikten ser ut visar demonstrationssidan nedan.