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

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

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

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

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

Категории

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

psad

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

Репозиторий
4277717 лет назадПроверено 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 установка выполняется простой командой:

root@kitploit:~
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 следующим образом:

root@kitploit:~
iptables -A INPUT -j LOG
iptables -A FORWARD -j LOG

Приведённые выше правила должны быть добавлены в конец цепочек INPUT и FORWARD после всех правил ACCEPT для легитимного трафика и непосредственно перед соответствующим правилом DROP для трафика, который не должен быть пропущен через политику. Обратите внимание, что политики iptables могут быть довольно сложными, с ограничениями по протоколу, сети, порту и интерфейсу, пользовательскими цепочками, правилами отслеживания соединений и многим другим. Существует множество программного обеспечения, такого как Shorewall и Firewall Builder, которые строят политики iptables и используют расширенные возможности фильтрации и журналирования, предлагаемые iptables. Как правило, политики, созданные такими программами, совместимы с psad, поскольку они специально добавляют правила, предписывающие iptables регистрировать пакеты, не являющиеся частью легитимного трафика. Psad можно настроить на анализ только тех сообщений iptables, которые содержат определённые префиксы журнала (добавляемые с помощью опции --log-prefix), но по умолчанию psad анализирует все сообщения журнала iptables на предмет доказательств сканирования портов, зондирования бэкдоров и другого подозрительного трафика.

Платформы

psad обычно работает в системах Linux и доступен в репозиториях пакетов многих основных дистрибутивов Linux. Если возникают проблемы с работой psad, пожалуйста, откройте задачу на github

Лицензия

psad выпущен как программное обеспечение с открытым исходным кодом на условиях GNU General Public License (GPL v2+). Последний релиз можно найти на https://github.com/mrash/psad/releases

psad использует многие сигнатуры TCP, UDP и ICMP, доступные в Snort (написан Марти Рёшем, см. http://www.snort.org). Snort является зарегистрированной торговой маркой Sourcefire, Inc.

Контакты

Все запросы функций и исправления ошибок обрабатываются через систему отслеживания задач github. Однако вы можете написать мне (michael.rash_AT_gmail.com) или связаться через Twitter (@michaelrash).

Скачать инструмент