Логгеры Траффика - узнай своих врагов в лицо
Спецвыпуск Хакера, номер #005, стр. 005-062-3
Sep 11 07:29:34 last message repeated 3 times
Sep 11 07:29:34 Overlapping IP fragments from 192.168.250.250
Sep 11 07:29:34 ICMP: echo from ns.worldsfinest.net (64 bytes)
Sep 11 07:29:34 last message repeated 5 times
- попытка "заморозить" машину посредством joilt2
Sep 11 07:34:40 Duplicate IP fragments from ns.worldsfinest.net
Sep 11 07:35:09 last message repeated 1423 times
И это отнюдь не весь перечень возможных сообщений, генерируемых программой! Как видишь, теперь любой злодей не пройдет незамеченным, и твое право решать - простить лоха и ламера или, зловеще ухмыляясь, набрать в окошке терминала "ping -s 65000 dial-up25.lamerhere.org" ;).
Портсентри
Теперь перейдем ко второй утилите. Если iplog просто занимается логированием трафика и дает тебе возможность своевременно среагировать на действия "удаленного злоумышленника", то portsentry (так называется вторая программа нашего обзора) более активно реагирует на нежелательные проявления сетевой активности. Основная задача этой проги - отслеживание попыток сканирования системы. Ты спросишь, зачем это надо? Отвечаю - любой компьютерный взломщик (в народе - хакер ;)) при выборе потенциальной жертвы первым делом проверит наличие открытых портов на удаленной системе и определит версии висящих на них сервисов. И проделает он это именно при помощи сканирования. Так что можно с уверенностью сказать, что сканирование твоей (да и любой) системы является прелюдией к более серьезным действиям со стороны сканирующего. Вот для того, чтобы своевременно и адекватно реагировать на эти "маленькие звоночки смерти", и нужна программа portsentry. Она определяет факт сканирования и (по выбору) реагирует на него следующими действиями:
1. Регистрирует событие при помощи syslog()
2. Автоматически прописывает адрес сканирующего в файл /etc/hosts.deny
3. Перенастраивает систему так, что весь трафик с вражеского адреса перекидывается на т.н. "мертвый" хост, что создает эффект "исчезновения" твоего компьютера из сети.
4. Все IP пакеты, поступающие с "опасного" хоста, начинают прогоняться через локальный фильтр IP пакетов (попросту - файерволл).
От других утилит, выполняющих подобные действия, portsentry отличается более гибкой системой реакции на "ощупывание" системы и улучшенным механизмом распознавания stealth-сканирования. Программа располагает несколькими методами stealthscan-распознавания, но основными являются следующие два. Первый метод заключается в том, что portsentry "пасет" определенные порты и начинает действовать при попытке "воткнуться" в них. Второй метод можно назвать "обратным" или, как назвал его автор программы, "инверсивным". В этом случае программа прослушивает ВСЕ порты определенного диапазона за исключением портов, на которых висят демоны. Последний метод, конечно, более эффективен в плане защиты, но также чреват большим количеством ложных тревог.
Кажется, я уже наговорил достаточно о возможностях и преимуществах portsentry :). Теперь приступим к скачиванию, установке и запуску этой великолепной программы. Итак, первым делом отправляемся на http://www.psionic.com. Это официальная страница проекта, который занимался разработкой нужной нам утилиты. Там мы хватаем файл под названием portsentry-***.tar.gz, скачиваем его, помещаем в папку, которую мы отвели для архивов, и разжимаем c помощью команды tar zxvf portsentry-***.tar.gz. Затем переходим в новообразовавшуюся папку и начинаем колдовать :). Прежде всего мы открываем файл Makefile и меняем строку CC=cc на СС=egcs и строку INSTALLDIR=/usr/local/psionic на INSTALLDIR=/usr/psionic. После этого открываем файл portsentry_config.h и там производим замену #define CONFIG_FILE "/usr/local/psionic/portsentry/portsentry.conf" на #define CONFIG_FILE "/usr/psionic/portsentry/portsentry.conf". Основная подготовка исходников к компиляции готова. Теперь вводим make linux. После того как закончится компиляция, набираем make install. Программа установлена, но теперь ее надо отконфигурировать и запустить. Конфигурирование portsentry производится с помощью файла /usr/psionic/portsentry/portsentry.conf. Откроем этот файл и посмотрим, что же в нем написано. Ага!!! Мы видим огромное количество закомментированных строк с очень пространными пояснениями к ним. Все что нам надо сделать - это избавить нужные нам строки от знака комментария "#". Внимательно прочитай пояснения к строкам перед тем как убирать знак "#" с каких-либо из них. Ниже я привожу пример готового конфигурационного файла (нужные строки раскомментированы, ненужные просто удалены).