Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
psad — psad: Обнаружение вторжений и анализ логов с помощью iptables | Kitploit
Инструменты/GitHubGitHub/mrash/psad
Анализ уязвимостейОбход IDS/IPSФорензикаСетевая безопасностьРазведка угрозОбнаружение ВторженийАнализ Журналов
GitHubmrash/psad

psad

psad: Обнаружение вторжений и анализ логов с помощью iptables

Репозиторий
42777327 лет назадПроверено Kitploit
Сайт

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

psad - Обнаружение вторжений с помощью журналов iptables

Введение

Port Scan Attack Detector psad — это легковесный системный демон, написанный для работы с брандмауэром Linux iptables/ip6tables/firewalld для обнаружения подозрительного трафика, такого как сканирование портов, бэкдоры, связь с ботнетами и многое другое. Он включает в себя набор гибко настраиваемых порогов опасности (с разумными значениями по умолчанию), подробные предупреждающие сообщения, содержащие источник, назначение, диапазон сканируемых портов, время начала и окончания, TCP-флаги и соответствующие опции nmap, обратный DNS, оповещения по электронной почте и syslog, автоматическую блокировку атакующих IP-адресов через динамическую настройку правил iptables, пассивное определение операционной системы и отчёты в DShield. Кроме того, psad включает многие сигнатуры TCP, UDP и ICMP из системы обнаружения вторжений Snort для обнаружения подозрительных сканирований различных бэкдоров (например, EvilFTP, GirlFriend, SubSeven), DDoS-инструментов (Mstream, Shaft) и продвинутых сканирований портов (SYN, FIN, XMAS), которые легко применяются против машины с помощью nmap. psad также может оповещать о сигнатурах Snort, зарегистрированных через fwsnort, который использует расширение iptables string match для обнаружения трафика, соответствующего сигнатурам прикладного уровня. Начиная с версии 2.4.4, psad также может обнаруживать фазу сканирования учётных данных по умолчанию в IoT ботнете Mirai.

Полный список возможностей приведён ниже.

Возможности

  • Обнаружение TCP SYN, FIN, NULL и XMAS сканирований, а также UDP сканирований.
  • Поддержка журналов IPv4 и IPv6, генерируемых iptables и ip6tables соответственно.
  • Обнаружение множества сигнатур из системы обнаружения вторжений Snort.
  • Режим криминалистического анализа журналов iptables/ip6tables (полезен как инструмент для извлечения информации о сканированиях из старых журналов iptables/ip6tables).
  • Пассивное определение операционной системы через TCP SYN-пакеты. Поддерживаются две стратегии: перереализация p0f, строго использующая сообщения iptables/ip6tables (требует опцию командной строки --log-tcp-options), и стратегия на основе TOS.
  • Электронные письма с предупреждениями, содержащие характеристики TCP/UDP/ICMP сканирований, обратный DNS и whois, совпадения правил Snort, информацию об угаданной ОС и многое другое.
  • В сочетании с fwsnort и расширением iptables string match, psad может генерировать предупреждения о переполнениях буфера на прикладном уровне, подозрительных командах приложений и другом подозрительном трафике 7-го уровня.
  • Проверка полей заголовка ICMP (тип и код).
  • Настраиваемые пороги сканирования и назначения уровней опасности.
  • Анализ набора правил iptables для проверки политики "сброс по умолчанию".
  • Автоматическое назначение уровня опасности для IP/сети (можно игнорировать или автоматически повышать уровень опасности для определённых сетей).
  • Предупреждения DShield.
  • Автоматическая блокировка сканирующих IP-адресов через iptables/ip6tables и/или tcpwrappers на основе уровня опасности сканирования. (Эта функция НЕ включена по умолчанию.)
  • Разбор сообщений журнала iptables/ip6tables и генерация CSV-вывода, который можно использовать как входные данные для AfterGlow. Это позволяет визуализировать журналы iptables/ip6tables. Также поддерживается Gnuplot.
  • Режим состояния, отображающий сводку текущей информации о сканированиях с количеством пакетов, цепочками iptables/ip6tables и уровнями опасности.

Визуализация вредоносного трафика

psad предлагает интеграцию с gnuplot и afterglow для построения графиков вредоносного трафика. Следующие два графика относятся к червю Nachi из задачи Honeynet Scan30. Сначала граф связей, созданный afterglow после анализа данных журнала iptables с помощью psad:

nachi-worm-link-graph "Граф связей червя Nachi"

Второй график показывает трафик червя Nachi по часам из данных Scan30 iptables:

nachi-worm-hourly-graph "Почасовой график червя Nachi"

Информация о конфигурации

Информация о ключевых словах конфигурации, используемых psad, находится как на странице руководства psad(8), так и здесь:

http://www.cipherdyne.org/psad/docs/config.html

Методология

Вся информация, анализируемая psad, собирается из сообщений журнала iptables. По умолчанию psad читает файл /var/log/messages на предмет новых сообщений iptables и опционально записывает их в выделенный файл (/var/log/psad/fwdata). Затем psad отвечает за применение логики порогов опасности и сигнатур для определения того, имело ли место сканирование портов, отправку соответствующих предупреждающих писем и (опционально) блокировку атакующих IP-адресов. psad включает обработчик сигналов: если получен сигнал USR1, psad сбрасывает содержимое текущей хэш-структуры сканирования в /var/log/psad/scan_hash.$$, где "$$" представляет PID работающего демона psad.

ПРИМЕЧАНИЕ: Поскольку psad полагается на iptables для генерации соответствующих сообщений журнала для неавторизованных пакетов, psad настолько хорош, насколько хороши правила журналирования, включённые в набор правил iptables. Следовательно, если ваш брандмауэр не настроен на регистрацию пакетов, psad НЕ обнаружит сканирования портов или что-либо ещё. Обычно лучший способ настроить брандмауэр — это иметь правила "сбросить и зарегистрировать" по умолчанию в конце набора правил и включить правила выше этого последнего правила, которые пропускают только тот трафик, который должен быть разрешён. При запуске демон psad попытается определить, существует ли такое правило запрета по умолчанию, и предупредит пользователя, если нет. См. файл FW_EXAMPLE_RULES для примеров наборов правил брандмауэра, совместимых с psad.

Кроме того, подробное описание psad включено в книгу "Linux Firewalls: Attack Detection and Response", опубликованную No Starch Press, а вспомогательный сценарий из этой книги совместим с psad. Этот сценарий можно найти здесь:

http://www.cipherdyne.org/LinuxFirewalls/ch01/

Установка

В зависимости от дистрибутива Linux, psad может уже быть доступен в стандартном репозитории пакетов. Например, в системах Debian или Ubuntu установка выполняется простой командой:

apt-get install psad

Если psad недоступен в репозитории пакетов, его можно установить с помощью сценария install.pl, входящего в состав исходных кодов psad. Сценарий install.pl также обрабатывает обновления, если psad уже установлен. psad требует несколько Perl-модулей, которые могут быть уже установлены в вашей системе Linux. Эти модули находятся в каталоге deps/ в исходных кодах psad и автоматически устанавливаются сценарием install.pl. Список модулей:

  • Bit::Vector
  • Date::Calc
  • IPTables::ChainMgr
  • IPTables::Parse
  • NetAddr::IP
  • Storable
  • Unix::Syslog

psad также включает клиент whois, написанный Marco d'Itri (см. каталог deps/whois). Этот клиент лучше других собирает правильную информацию whois для данного IP-адреса.

Настройка брандмауэра

Основное требование для совместимости конфигурации iptables с psad — это просто то, что iptables регистрирует пакеты. Обычно это достигается добавлением правил в цепочки INPUT и FORWARD следующим образом:

iptables -A INPUT -j LOG
iptables -A FORWARD -j LOG
Скачать инструмент