Способы защиты от сканирования

6. Защита от сканирования портов

Защита от сканирования портов

В табл. 2.2 приведен перечень различных популярных утилит сканирования, а также типы сканирования, которые эти утилиты позволяют выполнять.

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

Выявление факта сканирования
Как правило, взломщики прибегают к сканированию TCP- и UDP-портов удаленного компьютера, чтобы установить, какие из них находятся в состоянии ожидания запросов. Поэтому выявить факт сканирования — значит, установить, в каком месте и кем будет предпринята попытка взлома. Основные методы выявления факта сканирования состоят либо в использовании специальной программы, предназначенной для выявления вторжений на уровне сети (IDS), такой как NFR, либо в использовании механизма защиты на уровне отдельного узла.

Таблица 2.2. Популярные утилиты сканирования портов и их возможности

Утилита Сканирование Ресурс
UNIX TCP UDP Скрытое
ftp://f tp.FreeBSD.org/
pub/FreeBSD
/ports/distfiles/strobe-1.06.tgz
http://wwdsilx.
wwdsi.com/saint/
X http://wwdsilx.
wwdsi.com/saint/
X X http://www. inscure . org/nmap
X http://www.10pht.com/
users/10pht/nc110.tgz
Windows
Netcat
X http://www.10pht.com/users/
10pht/ncllnt.zip
X http://www.nwpsw.com
http://members.home.com/
rkeir/software.html
http://www.ntobjectives.com
http://www.prosolve.com
http://ntsecurity.nu
X http://ntsecurity.nu
X http://www.foundstone.com

Метод UDP-сканирования утилиты netcat не работает в операционной системе Windows NT, поэтому пользователям этой ОС не стоит доверять полученным результатам.

# Алгоритм выявления факта сканирования
# Автор — Стюарт Мак-Клар (Stuart McClure)
# Данный алгоритм выявляет неудачные попытки сканирования портов,
# которые приводят к генерации сообщений ACK/RST.
В процессе настройки
# можно поэкспериментировать со значениями
# maxcount и maxtime.
port_schema = library_schema:new( 1, [«time», «ip», «ip»,
«int»],
scope() >;
time = 0;
count = 0;
maxcount =2; t Максимально допустимое количество ACK/RST.
maxtime =5; tt Максимально допустимое время, в течение
# которого может достигаться значение maxcount.
source = 0; port = 0; target = 0;
filter portscan ip ( )
<
if (tcp.is)
(
# Проверка АСК, RST и источника поступления.
if ( byte(ip.blob, 13) == 20 )
# Установлены флаги АСК, RST
<
count = count + 1;
source = ip.dest;
target = ip.source;
port = tcp.sport;
time = system.time;
> > on tick = timeout
( sec: maxtime, repeat )
call checkout;
>
func checkout <
if (count >= maxcount) <
echo(«Попытка сканирования порта,
Время: «, time, «\n); record system.time, source, target,
port to the_recorder_portscan; count = 0; >
else
count = 0;
>
the_recorder_portscan=recorder(«
bin/histogram packages/sandbox/portscan.cfg»,
«port_schema»
);

Для выявления попыток сканирования портов можно также воспользоваться утилитой snort ( www.snort.org ) (см. также http://spyjurenet.com/linuxrc.org/projects/ snort/ ). Как вы могли догадаться, эта утилита является одной из предпочитаемых нами программ IDS (заметим, что ее версии 1.x не позволяют обнаруживать фрагментацию пакетов). Вот пример листинга, содержащего данные о попытке сканирования портов.

[**] spp_portscan: PORTSCAN DETECTED from 192.168.1.10 [**]
05/22-18:48:53.681227
[**] spp_portscan: portscan status from 192.168.1.10: 4 connections
across 1 hosts: TCP(O), UDP(4) [**]
05/22-18:49:14.180505
[**] spp_portscan: End of portscan from 192.168.1.10 [**]
05/22-18:49:34.180236

Для платформы UNIX существует немало утилит, таких, например, как Утилита: scanlogd ( http://www.openwall.com/scanlogd/ ) компании Solar Designer, которые выявляют и регистрируют попытки сканирования. Кроме того, утилиту Psionic PortSentry, созданную в рамках проекта Abacus ( http://www.psionic.com/abacus ), можно настроить не только на регистрацию, но и на принятие контрмер при выявлении факта активного сканирования. Один из способов борьбы с попытками сканирования портов заключается в автоматической установке для ядра правил фильтрации, когда к уже существующим добавляется новое правило, запрещающее доступ со стороны узла-нарушителя. Такое правило можно задать в конфигурационном файле утилиты PortSentry. При этом одно и то же правило может отличаться в различных системах. Для системы Linux 2.2.x, в которой имеется поддержка ядра брандмауэра, в файл portsentry.conf нужно добавить запись, аналогичную следующей.

Читайте также:  При использовании способа суммы лет для начисления амортизации необходимо знать тест

# New ipchain support for Linux kernel version 2.102+
KILL_ROUTE=»/sbin/ipchains -I input -s $TARGET$ -j DENY -1″

Утилита PortSentry совместима с большинством версий UNIX, включая Solaris. Независимо от того, применяете ли вы какие-либо утилиты или нет, необходимо помнить, что массированные попытки сканирования портов, инициируемые каким-либо узлом или какой-нибудь сетью, могут означать, что кто-то изучает вашу сеть. Всегда обращайте самое пристальное внимание на такие действия, поскольку за ними может последовать полномасштабное вторжение. И наконец, не забывайте о том, что имеется возможность активного противостояния или блокирования попыток сканирования портов. Все эти вопросы рассматриваются в статье, опубликованной компанией Solar Designer ( http://www. openwall.com/scanlogd/P53-13.gz ). В этой статье содержатся дополнительные советы по разработке и использованию систем выявления попыток сканирования.
Большинство брандмауэров не только могут, но и должны настраиваться на режим обнаружения попыток сканирования. Однако одни брандмауэры справляются с этой задачей лучше, другие хуже. Например, некоторые брандмауэры умеют выявлять скрытое сканирование. Однако многие из них, поддерживая режим выявления SYN-сканирования, абсолютно игнорируют FiN-сканирование. Самой большой проблемой при выявлении факта сканирования является задача анализа огромных системных журналов, накапливаемых при ежедневной работе серверов сети. Для упрощения решения этой задачи можно воспользоваться утилитой Psionic Logcheck ( http: //www.-psionic.com/abacus/logcheck/ ). Кроме того, мы рекомендуем настроить утилиты таким образом, чтобы они реагировали на обнаруженные попытки сканирования в реальном времени, отсылая сообщения по электронной почте. Везде, где это только возможно, устанавливайте пороговые значения для количества регистрируемых событий (threshold logging), чтобы взломщик не завалил ваш почтовый ящик грудой сообщений, в которых будет так же трудно найти информацию, как и в системных журналах. Кроме того, в этом случае может также возникнуть условие DoS. При использовании пороговых значений все предупреждения будут группироваться, а не обрабатываться по одному. Как минимум необходимо настроить систему безопасности на выдачу отчетов о самом факте выявленной попытки сканирования. Для брандмауэра Firewall-1 с этой целью можно использовать утилиту Ланца Спитцнера (Lance Spitzner) alert, sh ( http://www. enteract.com/

lspitz/intrusion.html ). Эта утилита будет выявлять и отслеживать попытки сканирования портов, работая под управлением Firewall-1 в качестве средства защиты, заданного пользователем.
Для платформы Windows NT также имеется несколько утилит, предназначенных для выявления попыток сканирования. Прежде всего, необходимо отметить такую утилиту, как Genius 2.0, разработанную компанией Independent Software ( http://www. indiesoft.com ) для платформ Windows 95/98 и Windows NT. Этот программный продукт предоставляет гораздо больше возможностей, чем простое средство обнаружения TCP-сканирования портов. Однако необходимо отметить, что даже с учетом этого, имеет смысл его использовать. Утилита Genius отслеживает многочисленные запросы к открытым портам и при обнаружении попыток сканирования отображает на экране предупреждающее диалоговое окно, в котором содержится IP-адрес взломщика и доменное имя его узла.
Утилита Genius позволяет выявлять как попытки обычного сканирования, т.е. с установлением TCP-соединения, так и SYN-сканирования.

Еще одним детектором сканирования для системы Windows, заслуживающем отдельного упоминания, является программа BlackICE (рис. 2.7) компании Network ICE ( http://www.-networkice.com ). Данная программа представляет первое основанное на использовании агентов средство выявления вторжений, которое можно использовать как в Windows 9х, так и в NT. В момент написания данной книги этот программный продукт был коммерческим, хотя в ближайшем будущем компания обещает подготовить свободно распространяемую версию. И наконец, программа ZoneAlarm ( http://www.zonelabs.com/zonealarm.htm ) хорошо подходит для платформы Windows и может применяться в качестве средства IDS на уровне брандмауэра.

Читайте также:  Бескровный способ погружения свай

Рис. 2.7. Кроме обнаружения обычного TCP-сканирования портов, программа BlackICE может выявлять также VDP-сканирование, запросы на открытие нулевых сеансов NT, pir.q-прослушивание с помощью пакета pcAnywhere, попытки взлома с помощью WinNuke, множественные запросы, применение утилиты tracerovte, Smurf-взломы и многое другое

Вряд ли можно помешать кому-либо предпринять попытку сканирования портов на вашем компьютере, однако вполне реально свести к минимуму связанный с этим риск. Для этого нужно заблокировать все службы, в работе которых нет необходимости. В среде UNIX данная задача решается с помощью добавления символов комментария в соответствующие строки файла /etc/inetd. corif, а также отключения автоматического запуска ненужных служб в сценарии начальной загрузки. Более подробно эти вопросы освещены в главе 8, «Хакинг UNIX».
В системе Windows NT также целесообразно отключить все ненужные службы. Однако сделать это сложнее, поскольку из-за сетевой архитектуры Windows NT по крайней мере Порт 139 должен работать постоянно. Тем не менее, остальные службы можно отключить, запустив аплет Services панели управления. Способы нарушения безопасности системы Windows NT и контрмеры, которые можно предпринять для их предотвращения, более подробно будут рассмотрены в главе 5. Здесь же стоит упомянуть о том, что компанией Tiny Software ( www.tinysoftware.com ) распространяется модуль ядра, позволяющий выполнять фильтрацию входящих пакетов. С помощью этого модуля можно защитить большинство важных портов.
Что же касается других операционных систем и устройств, то нам остается лишь посоветовать как можно внимательнее прочитать соответствующие справочные руководства. Постарайтесь найти в них информацию о том, какие порты вам действительно необходимы и как отключить остальные, чтобы свести риск к минимуму.

Активное определение операционной системы

Итак, мы убедились, что существует множество различных приемов и средств сканирования портов. Вспомните, что при сканировании портов преследуется две основные цели. Во-первых, нужно установить, какие TCP- и UDP-порты на исследуемом компьютере находятся в состоянии ожидания запросов. Во-вторых, необходимо определить тип операционной системы, используемой на удаленном узле. Информация об операционной системе понадобится на последующих этапах, при составлении схемы уязвимых участков. Об этом речь пойдет в последующих главах. Важно помнить, что при этом необходимо быть особенно точным и внимательным к мелочам. Именно поэтому очень важно абсолютно правильно установить тип удаленной операционной системы. При определении типа ОС очень полезной оказывается косвенная информация, получаемая, например с помощью сбора маркеров, о которых мы поговорим в главе 3. При этом будет собрана информация о таких службах, как FTP, telnet, SMTP, HTTP, POP и других. Сбор маркеров — это один из самых простых методов определения типа операционной системы, а также версий работающих под ее управлением служб. Нетрудно догадаться, что существуют различные средства, призванные помочь в решении этой задачи. Среди доступных можно отметить две утилиты, позволяющие получить самые точные результаты, — уже хорошо нам известная nmар и утилита queso. Точность результатов, выдаваемых обеими утилитами, объясняется, прежде всего, тем, что обе они предоставляют возможность исследования стека протоколов TCP/IP (stack fingerprinting).

Читайте также:  Шсн имеют более высокий кпд по сравнению с другими способами добычи нефти при подаче

Источник

Сканирование сети: назначение и защита от него

Сканирование сети является одной из самых популярных операций, выполняемых системными администраторами. Вряд ли существует такой IT-специалист, который ни разу в своей деятельности не применял команду ping, в том или ином виде входящую в состав любой операционной системы. Стоит рассмотреть эту тему детальнее.

Назначение сканирования

На самом деле сканирование сети является очень мощным инструментом, регулярно используемым в настройке как сети, так и сетевого оборудования. При поиске неисправных узлов также выполняется эта операция. К слову, помимо использования в рабочих целях, сканирование сети – это также излюбленный инструмент любого взломщика. Все самые известные утилиты для сетевой проверки были созданы именно профессиональными хакерами. С их помощью появляется возможность провести сканирование сети и собрать всю необходимую информацию о компьютерах, которые к ней подключены. Так можно выяснить, какая у сети архитектура, какое оборудование используется, какие порты у компьютеров открыты. Это вся первичная информация, необходимая для взлома. Так как утилиты используются взломщиками, то используют их и для того, чтобы выяснить все уязвимые места локальной сети при настройке.

В целом программы можно разделить на два типа. Одни выполняют сканирование IP-адресов в локальной сети, а другие сканируют порты. Такое деление можно назвать условным, так как большая часть утилит сочетает обе функции.

Сканирование IP-адресов

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

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

Как защититься от сканирования IP-адресов?

Можно ли защититься от этого? Да, нужно лишь заблокировать ответы на запросы по ICMP-протоколу. Именно такой подход используют администраторы, заботящиеся о безопасности сетей. Не менее важным является умение предотвращать возможность сканирования сети. Для этого ограничивается обмен данными через ICMP-протокол. Несмотря на его удобства в проверке проблем с сетью, он же может эти проблемы и создавать. При неограниченном доступе хакеры получают возможность осуществить нападение.

Сканирование портов

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

Сканирование портов сети относят к разряду TCP-прослушивания.

Как защититься от прослушивания портов?

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

Источник

Оцените статью
Разные способы