Откриването на сканиране на портове има особеност, заради която изпада от обичайния набор инструменти. Fail2ban чете журналите на приложенията — а при сканиране на затворен порт никакво приложение няма, значи няма и запис в журнала. Сканирането се вижда само на ниво защитна стена и точно там работи PSAD: той чете съобщенията, които iptables пише за отхвърлените пакети.
Задължително условие: журналирането трябва да е включено
Това е главната причина PSAD „да стои и да не показва нищо“. Без правила за журналиране в защитната стена няма какво да чете и никаква грешка при това не възниква.
Ако имате UFW:
sudo ufw logging low
sudo ufw status verbose
Проверете, че съобщенията наистина се появяват:
sudo journalctl -k | grep -c '\[UFW'
sudo grep -c 'UFW BLOCK' /var/log/ufw.log
Нули и в двете команди означават, че PSAD няма да работи. И отделно за Debian 12 и Ubuntu 24.04: без rsyslog файлът /var/log/ufw.log не съществува, всичко отива в журнала на systemd — пътят до журнала в настройките на PSAD трябва да се посочи с оглед на това.
Инсталиране
sudo apt install psad
sudo psad --sig-update
sudo psad -R
sudo psad --Status
Последната команда е основната. Тя показва колко пакета са разгледани, кои адреси са забелязани и с какво ниво на опасност. Ако броячът на разгледаните пакети е нула, върнете се към предишния раздел: работата е в журналирането, а не в липсата на сканирания.
Настройките са в /etc/psad/psad.conf. Практически значимите параметри са малко: адресът за писма, пътят до журнала и праговете на нивата на опасност.
Нива на опасност
PSAD оценява всеки източник по скала от 1 до 5 в зависимост от това колко различни порта са били засегнати и доколко поведението прилича на известни техники за сканиране.
- 1–2 — единични обръщения към затворени портове. Това е постоянният фон на интернет, реакция не е нужна;
- 3 — систематичен обход на портове. Обикновено изследователски скенери, каквито в мрежата има няколко десетки;
- 4–5 — целенасочен обход на голям брой портове от един адрес, често с опит да се скрие характерът на обръщенията.
Прагът за писма се задава с параметъра EMAIL_ALERT_DANGER_LEVEL. Стойност 3 обикновено означава по няколко писма на ден, което доста бързо води до правило в пощенския клиент. По-разумно е да се сложи 4, а останалото да се гледа на обобщаваща страница.
Автоматично блокиране: не трябва
PSAD умее сам да добавя правила в защитната стена (ENABLE_AUTO_IDS). На единствен работещ сървър не си струва да се включва и причината е конкретна: адресът на подателя в пакета се подправя. Достатъчно е към вас да се изпратят пакети с подставен адрес — и ще блокирате адреса, избран не от вас. Може да се окаже адрес на ваш клиент, на платежен шлюз или на услуга за наблюдение.
Ако все пак блокирането е нужно, включвайте го с висок праг на опасност и задължително с ограничение по време (AUTO_BLOCK_TIMEOUT), за да не остане погрешен запис завинаги.
Какво да се прави с това на практика
Самото сканиране е безвредно: то нищо не чупи и се случва непрекъснато при всички. Стойността на данните на PSAD не е във факта, а в промените на характера.
Полезни наблюдения:
- Насочен интерес. Обикновеният скенер минава по хиляди адреси и десетина популярни порта. Ако обаче някой методично обхожда портовете точно на вашия сървър, включително нестандартните — това вече не е фон;
- Сканиране на конкретен порт. Обръщения към порта на базата данни или на контролния панел означават, че някой търси точно тази услуга — обикновено след публикуване на сведения за поредна уязвимост в нея;
- Разузнаване преди опит. Скок на сканиранията, а след няколко часа налучкване на пароли от същия диапазон — типична последователност, чиято първа част дава малко време.
Практическият извод от всяко от тези наблюдения е един и същ: да се провери, че списъкът на отворените навън портове съответства на очакваното и че на всеки от тях работи нещо, което сте обновявали тази година.
Място в общия набор
PSAD не замества нито защитната стена, нито Fail2ban, нито система за откриване на пробиви. Той закрива една тясна пролука — опитите, които не оставят следи никъде другаде, защото не са стигнали до нито едно приложение. Струва малко, работи без настройка след първото стартиране, а обобщението му отговаря на въпрос, който иначе не се задава: интересува ли се някой конкретно от вашия сървър отделно от общия фон. Как изглежда това обобщение, показва демонстрационната страница по-долу.