Иллюстрированный самоучитель по защите в Интернет

Контрмеры: защита от прослушивания сети

Поскольку прослушивание сети в лучшем случае может вызывать раздражение, то очень важно выявлять все попытки таких действий. В зависимости от принятой в организации политики обеспечения безопасности можно также заблокировать прохождение пакетов, передаваемых при ping-прослушивании. В этом разделе рассматриваются обе возможности.

Выявление факта прослушивания

Как уже говорилось, ICMP- и TCP-прослушивание является общепринятым методом исследования сети перед непосредственной попыткой проникновения в сеть. Поэтому выявление факта прослушивания очень важно с точки зрения возможности получения информации о потенциальном месте проникновения и источнике угрозы. Один из основных методов выявления прослушивания состоит в использовании сетевой программы выявления вторжений, такой как Network Flight Recorder (NFR), или программы, установленной на исследуемом взломщиком узле. Ниже приведен алгоритм, который можно реализовать в программе, предназначенной для выявления факта прослушивания.

# Обнаружение прослушивания с помощью ICMP/Ping
# Автор – Стюарт Мак-Клар (Stuart McClure)
# Эта программа предназначена для выявления
ping-сканера, изучающего вашу сеть
# Для получения наилучших результатов
# установите нужные значения maxtime и maxcount.
ping_schema = library_schema::new(1,["time", "ip",
"ip","ethmac", "ethmac" ],
scope());
count = 0;
maxtime =10; # Время в секундах
maxcount =5; # Количество ICMP-запросов ECHO или запросов ARP,
# которое рассматривается как допустимое
dest = 0;
source = 0;
ethsrc = 0;
ethdst = 0;
time = 0;
filter icmp_paskets icmp()
{
if (icmp.type == 0x08) # Проверка на ICMP-пакеты ECHO.
{
if ((source == ip.src) && (dest!= ip.dst)) # Попался!
{
count = count + 1;
time = system.time;
}
else
count = 1;
dest = ip.dest;
source = ip.src;
ethsrc = eth.src;
ethdst = eth.dst;
}.
on tick = timeout (sec: maxtime, repeat) call checkit;
}
func checkit;
{
if (count >= maxcount)
{
echo ("Обнаружен.ping-сканнер! Время: ", time, "\n");
record system.time, source, dest, eth.src, eth.dst
to the_record_ping; count = 0; dest = 0;
} else
{
dest = 0; count = 0;
}
return;
}
the_record_ping=recorder("bin/histogram
packages/sandbox/pingscan.cfg",
"ping_schema");

Что касается защиты на уровне отдельного узла, для этого можно с успехом применять утилиты UNIX, которые позволяют выявлять и регистрировать попытки прослушивания. Если, просматривая файл журнала, созданный такой утилитой, вы обнаружите массированные ICMP-запросы ECHO, исходящие из одной и той же сети или от одного и того же узла, это, скорее всего, означает, что вашу сеть кто-то исследует. На такие факты необходимо обращать самое пристальное внимание, так как после изучения сети обычно предпринимается реальная попытка проникновения.

К сожалению, найти аналогичные утилиты для платформы Windows достаточно сложно. Одним из немногих бесплатных или условно бесплатных пакетов, заслуживающих внимания, является Genius 3.1. Краткую информацию о новой версии этого программного продукта можно найти по адресу http://softseek.com/Internet/General/Review_20507_index.html, а более подробные сведения о нем и загружаемый файл содержатся по адресу http://www.indiesoft.com/. Эта программа не позволяет регистрировать попытки ping-прослушивания, а предназначена лишь для выявления TCP-сканирования определенного порта. Среди коммерческих пакетов аналогичного назначения можно отметить BlackICE от компании Network ICE (http://www.networkice.com). Этот программный продукт позволяет не только обнаруживать факты JCMP- и TCP-прослушивания, но и решать много других задач. В табл. 2.1 перечислены некоторые дополнительные утилиты, которые могут значительно облегчить выявление попыток прослушивания вашей сети.

Таблица 2.1. Некоторые утилиты UNIX, предназначенные для зашиты от прослушивания на уровне узла.

Программа Ресурс
Scanlogd http://www.openwall.com/scanlogd
Courtney 1.3 ftp://ciac.llnl.gov/pubс/сiac/sectools /unix
Ippl1.4.10 http://pltplp.net/ippl/
Protolog 1.0.8 http://packetstorm.securify.com/UNIX/loggers/protolog-1.0.8.tar.gz
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.