Поскольку прослушивание сети в лучшем случае может вызывать раздражение,
то очень важно выявлять все попытки таких действий. В зависимости от
принятой в организации политики обеспечения безопасности можно также
заблокировать прохождение пакетов, передаваемых при 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, исходящие из той и одной же сети или от одного и того же узла, это, вероятнее всего, значит, что вашу сеть кто-то исследует. На подобные факты требуется обращать самое пристальное внимание, так как после исследования сети как правило предпринимается реальная попытка проникновения. К несчастью, обнаружить аналогичные утилиты для платформы Винда довольно трудно. Одним из немногих бесплатных или условно бесплатных пакетов, заслуживающих внимания, является 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: //packet storm. securify.com/UNIX/loggers/protolog-1.0.8. tar.gz
|
|