У виявлення сканувань портів є особливість, яка виводить його за межі звичного набору інструментів. 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, ні систему виявлення вторгнень. Він закриває одну вузьку щілину — спроби, які більше ніде не лишають слідів, бо ніколи не дійшли до застосунку. Коштує він мало, після першого запуску працює без налаштування, а його зведення відповідає на питання, яке інакше ніхто не ставить: чи цікавиться вашим сервером хтось, окрім загального фону. Який вигляд має це зведення, показує демосторінка нижче.