WikiDer > Сканер портов - Википедия
А сканер портов это приложение, предназначенное для проверки сервер или же хозяин для открытых порты. Такое приложение может использоваться администраторы проверять безопасность политика их сети и по нападающие идентифицировать сетевые услуги работает на хосте и эксплуатирует уязвимости.
А сканирование портов или же сканирование портов это процесс, который отправляет клиентские запросы на диапазон адресов портов сервера на хосте с целью поиска активного порта; это не гнусный процесс сам по себе.[1] В большинстве случаев сканирование портов - это не атаки, а скорее простые исследования для определения служб, доступных на удаленном компьютере.
К порты это сканирование нескольких хостов для определенного прослушивающего порта. Последний обычно используется для поиска конкретной услуги, например, SQL-основан компьютерный червь может порты искать хосты, которые слушают TCP порт 1433.[2]
Основы TCP / IP
Устройство и работа Интернет основан на Пакет Интернет-протокола, обычно также называемый TCP / IP. В этой системе для обращения к сетевым службам используются два компонента: адрес хоста и номер порта. Имеется 65535 различных и используемых номеров портов, пронумерованных 1..65535. (Нулевой порт не является используемым номером порта.) Большинство служб используют один или, самое большее, ограниченный диапазон номеров портов.
Некоторые сканеры портов сканируют только наиболее распространенные номера портов или порты, наиболее часто связанные с уязвимыми службами на данном хосте.
Результат сканирования порта обычно делится на одну из трех категорий:
- Открыть или же Принято: Хост отправил ответ, указывающий, что служба прослушивает порт.
- Закрыто или же Отклонен или же Не слушать: Хост отправил ответ, указывающий, что соединение с портом будет запрещено.
- Отфильтровано, Упавший или же Заблокировано: Нет ответа от хозяина.
Открытые порты представляют две уязвимости, из которых администраторы надо быть осторожным:
- Проблемы безопасности и стабильности, связанные с программой, ответственной за предоставление услуги - Открытые порты.
- Проблемы безопасности и стабильности, связанные с Операционная система который работает на хосте - открытые или закрытые порты.
Отфильтрованные порты обычно не представляют собой уязвимостей.
Предположения
Все формы сканирования портов основаны на предположении, что целевой хост соответствует требованиям RFC 793 - Протокол управления передачей. Хотя это происходит в большинстве случаев, все же есть вероятность, что хост может отправить обратно странные пакеты или даже сгенерировать ложные срабатывания когда стек TCP / IP хоста не соответствует RFC или был изменен. Это особенно верно для менее распространенных методов сканирования, которые Операционные системы-зависимые (например, сканирование FIN).[3] В Отпечатки стека TCP / IP Метод также полагается на эти типы различных сетевых ответов от определенного стимула, чтобы угадать тип операционной системы, в которой работает хост.
Типы
TCP сканирование
Простейшие сканеры портов используют сетевые функции операционной системы и, как правило, являются следующим вариантом, когда SYN не подходит (описывается далее). Nmap вызывает этот режим сканирования соединения, названный в честь системного вызова Unix connect (). Если порт открыт, операционная система завершает TCP трехстороннее рукопожатие, и сканер портов немедленно закрывает соединение, чтобы избежать выполнения Атака отказа в обслуживании.[3] В противном случае возвращается код ошибки. Этот режим сканирования имеет то преимущество, что пользователю не требуются особые привилегии. Однако использование сетевых функций ОС препятствует низкоуровневому управлению, поэтому этот тип сканирования менее распространен. Этот метод "шумный", особенно если это "порты": службы могут регистрировать IP-адрес отправителя и Системы обнаружения вторжений может поднять тревогу.
SYN сканирование
SYN сканирование - это еще одна форма сканирования TCP. Вместо использования сетевых функций операционной системы сканер портов сам генерирует необработанные IP-пакеты и отслеживает ответы. Этот тип сканирования также известен как «полуоткрытое сканирование», потому что он никогда не открывает полное TCP-соединение. Сканер портов генерирует SYN-пакет. Если целевой порт открыт, он ответит пакетом SYN-ACK. Хост сканера отвечает пакетом RST, закрывая соединение до завершения рукопожатия.[3] Если порт закрыт, но не фильтруется, цель немедленно ответит пакетом RST.
Использование необработанной сети имеет несколько преимуществ, давая сканеру полный контроль над отправленными пакетами и тайм-аутом для ответов, а также позволяя подробный отчет об ответах. Существует спор о том, какое сканирование менее навязчиво для целевого хоста. SYN-сканирование имеет то преимущество, что отдельные службы никогда не получают соединение. Однако RST во время квитирования может вызвать проблемы для некоторых сетевых стеков, в частности для простых устройств, таких как принтеры. В любом случае убедительных аргументов нет.
UDP сканирование
Сканирование UDP также возможно, хотя есть технические проблемы. UDP это без подключения протокол, поэтому нет эквивалента пакету TCP SYN. Однако, если пакет UDP отправляется на закрытый порт, система ответит ICMP сообщение о недоступности порта. Большинство сканеров портов UDP используют этот метод сканирования и используют отсутствие ответа, чтобы сделать вывод, что порт открыт. Однако, если порт заблокирован брандмауэр, этот метод будет ложно сообщать, что порт открыт. Если сообщение о недоступности порта заблокировано, все порты будут отображаться открытыми. На этот метод также влияет ICMP. ограничение скорости.[4]
Альтернативный подход заключается в отправке пакетов UDP, специфичных для приложения, в надежде на получение ответа уровня приложения. Например, отправка DNS-запроса на порт 53 приведет к ответу, если DNS-сервер присутствует. Этот метод намного более надежен при определении открытых портов. Однако он ограничен сканированием портов, для которых доступен тестовый пакет для конкретного приложения. Некоторые инструменты (например, Nmap) обычно имеют зонды для менее чем 20 сервисов UDP, в то время как некоторые коммерческие инструменты имеют целых 70. В некоторых случаях сервис может прослушивать порт, но настроен так, чтобы не отвечать на конкретный тестовый пакет.
ACK сканирование
Сканирование ACK - один из наиболее необычных типов сканирования, так как он точно не определяет, открыт порт или закрыт, но определяет, фильтруется порт или нет. Это особенно хорошо при попытке проверить наличие межсетевого экрана и его наборов правил. Простая фильтрация пакетов позволит установить соединения (пакеты с установленным битом ACK), тогда как более сложный межсетевой экран с отслеживанием состояния может этого не сделать.[5]
Сканирование окна
Сканирование окна, которое редко используется из-за своей устаревшей природы, не заслуживает доверия при определении того, открыт порт или закрыт. Он генерирует тот же пакет, что и сканирование ACK, но проверяет, было ли изменено поле окна пакета. Когда пакет достигает места назначения, ошибка конструкции пытается создать размер окна для пакета, если порт открыт, помечая поле окна пакета 1, прежде чем оно вернется отправителю. Использование этого метода сканирования с системами, которые больше не поддерживают эту реализацию, возвращает 0 для поля окна, помечая открытые порты как закрытые.[6]
FIN сканирование
Поскольку сканирование SYN не является достаточно скрытым, брандмауэры, как правило, сканируют и блокируют пакеты в форме пакетов SYN.[3] Пакеты FIN может обходить брандмауэры без изменений. Закрытые порты отвечают на пакет FIN соответствующим пакетом RST, тогда как открытые порты игнорируют имеющийся пакет. Это типичное поведение из-за природы TCP и в некотором смысле неизбежное падение.[7]
Другие типы сканирования
Существуют еще несколько необычных типов сканирования. Они имеют различные ограничения и широко не используются. Nmap поддерживает большинство из них.[5]
- Рождество и Null Scan - похожи на FIN сканирование, но:[3]
- X-mas отправляет пакеты с включенными флагами FIN, URG и PUSH, как рождественская елка
- Null отправляет пакет без установленных флагов TCP
- Сканирование протокола - определяет протоколы уровня IP (TCP, UDP, GREи т. д.) включены.
- Прокси сканирование - прокси (НОСКИ или же HTTP) используется для выполнения сканирования. Цель будет видеть IP-адрес прокси в качестве источника. Это также можно сделать с помощью некоторых FTP серверы.
- Сканирование в режиме ожидания - Еще один метод сканирования без раскрытия своего IP-адреса с использованием предсказуемый IP ID недостаток.
- CatSCAN - проверяет порты на наличие ошибочных пакетов.
- ICMP scan - определяет, отвечает ли хост на запросы ICMP, такие как echo (пинг), сетевая маска и т. д.
Фильтрация портов интернет-провайдерами
Много Интернет-провайдеры ограничивают возможность своих клиентов выполнять сканирование портов до пунктов назначения за пределами их домашних сетей. Обычно это рассматривается в Условия использования или же политика допустимого использования с которым заказчик должен согласиться.[8][9] Некоторые интернет-провайдеры реализуют пакетные фильтры или же прозрачные прокси которые предотвращают исходящие служебные запросы к определенным портам. Например, если интернет-провайдер предоставляет прозрачный HTTP-прокси на порту 80, при сканировании портов любого адреса будет казаться, что порт 80 открыт, независимо от фактической конфигурации целевого хоста.
Этика
Информация, собранная при сканировании портов, имеет много законных целей, включая инвентаризацию сети и проверку безопасности сети. Однако сканирование портов также может быть использовано для нарушения безопасности. Многие эксплойты полагаются на сканирование портов, чтобы найти открытые порты и отправить определенные шаблоны данных в попытке вызвать условие, известное как переполнение буфера. Такое поведение может поставить под угрозу безопасность сети и компьютеров в ней, что приведет к потере или раскрытию конфиденциальной информации и способности выполнять работу.[3]
Уровень угрозы, вызванный сканированием портов, может сильно различаться в зависимости от метода сканирования, типа сканируемого порта, его номера, значения целевого хоста и администратора, который контролирует хост. Но сканирование портов часто рассматривается как первый шаг к атаке, и поэтому к нему относятся серьезно, поскольку оно может раскрыть важную информацию о хосте.[10]Несмотря на это, вероятность того, что за одним сканированием порта последует настоящая атака, мала. Вероятность атаки намного выше, если сканирование портов связано с сканирование уязвимостей.[11]
Правовые последствия
Из-за изначально открытой и децентрализованной архитектуры Интернета законодатели с момента его создания пытались определить правовые границы, позволяющие эффективно преследовать киберпреступники. Дела, связанные со сканированием портов, являются примером трудностей, возникающих при оценке нарушений. Хотя эти случаи редки, в большинстве случаев юридический процесс включает доказательство наличия намерения совершить взлом или несанкционированного доступа, а не просто выполнение сканирования порта:
- В июне 2003 года израильтянин Ави Мизрахи был обвинен израильскими властями в попытке несанкционированного доступа к компьютерным материалам. Он просканировал порт Моссад интернет сайт. 29 февраля 2004 г. он был оправдан по всем пунктам обвинения. Судья постановил, что подобные действия не следует препятствовать, если они совершаются в положительном ключе.[12]
- 17-летний финн был обвинен в попытке взлома компьютера крупным финским банком. 9 апреля 2003 г. он был осужден по обвинению в Верховный суд Финляндии и приказал выплатить 12 000 долларов США за счет судебно-медицинской экспертизы, проведенной банком. В 1998 году он просканировал порт в сети банка, пытаясь получить доступ к закрытой сети, но не смог.[13]
- В декабре 1999 года Скотт Моултон был арестован ФБР и обвинен в попытке взлома компьютера в соответствии с Законом Джорджии о защите компьютерных систем и Закон Америки о компьютерном мошенничестве и злоупотреблениях. В это время его ИТ-сервисная компания имела постоянный контракт с округом Чероки, штат Джорджия, на поддержку и модернизацию службы безопасности центра службы экстренной помощи. Он провел несколько сканирований портов на серверах округа Чероки, чтобы проверить их безопасность, и в конечном итоге просканировал порт веб-сервера, контролируемого другой ИТ-компанией, спровоцировав размолвку, которая закончилась трибуналом. Он был оправдан в 2000 году, судья постановил, что повреждений, нарушающих целостность и доступность сети, не было.[14]
В 2006 году парламент Великобритании проголосовал за поправку к Закон о неправомерном использовании компьютеров 1990 г. таким образом, виновным в правонарушении является лицо, которое «производит, адаптирует, поставляет или предлагает поставить любое изделие, зная, что оно разработано или адаптировано для использования в ходе или в связи с правонарушением, предусмотренным разделом 1 или 3 [CMA ] ".[15] Тем не менее, область действия этой поправки размыта и широко критикуется экспертами по безопасности как таковая.[16]
Германии с Strafgesetzbuch В § 202a, b, c также есть аналогичный закон, и Совет Европейского Союза выпустил пресс-релиз, в котором говорится, что они планируют принять аналогичный, хотя и более точный.[17]
Смотрите также
Рекомендации
- ^ RFC 2828 Глоссарий по интернет-безопасности
- ^ http://support.microsoft.com/kb/313418
- ^ а б c d е ж Эриксон, Джон (1977). Взлом искусства эксплуатации (2-е изд.). Сан-Франциско: NoStarch Press. п. 264. ISBN 1-59327-144-1.
- ^ Мессер, Джеймс (2007). Секреты сетевой картографии: полное руководство по Nmap (2-е изд.). Архивировано из оригинал на 2016-05-16. Получено 2011-12-05.
- ^ а б «Методы сканирования портов». Справочное руководство Nmap. 2001. Получено 2009-05-07.
- ^ Мессер, Джеймс (2007). Секреты сетевой картографии: полное руководство по Nmap (2-е изд.). Архивировано из оригинал на 2006-02-01. Получено 2011-12-05.
- ^ Маймон, Уриэль (1996-11-08). «Сканирование портов без флага SYN». Phrack, выпуск 49. Получено 2009-05-08.
- ^ «Политика допустимого использования Comcast». Comcast. 2009-01-01. Архивировано из оригинал на 2009-04-23. Получено 2009-05-07.
- ^ «Условия использования BigPond» (PDF). Telstra. 2008-11-06. Архивировано из оригинал (PDF) 26 января 2009 г.. Получено 2009-05-08.
- ^ Джеймисон, Шон (2001-10-08). «Этика и законность сканирования портов». SANS. Получено 2009-05-08.
- ^ Цукье, Мишель (2005). «Количественная оценка компьютерной безопасности» (PDF). Университет Мэриленда. Архивировано из оригинал (PDF) на 2009-08-24. Получено 2009-05-08.
- ^ Достопочтенный Авраам Н. Тенненбаум (29 февраля 2004 г.). «Вердикт по делу Ави Мизрахи против Управления прокуратуры Израиля» (PDF). Архивировано из оригинал (PDF) на 2009-10-07. Получено 2009-05-08.
- ^ Эса Халмари (2003). «Первое постановление Верховного суда Финляндии о попытке взлома». Получено 2009-05-07.
- ^ Поулсен, Кевин (2000-12-18). «Сканирование портов разрешено, - говорит судья». Безопасность. Получено 2009-05-08.
- ^ Парламент Великобритании (25 января 2006 г.). «Законопроект о полиции и правосудии - Законопроект 119». Парламент Великобритании. Получено 2011-12-05.
- ^ Лейден, Джон (2008-01-02). «Правительство Великобритании устанавливает правила для запрета хакерских инструментов». Реестр. Получено 2009-05-08.
- ^ "Пресс-релиз 3096-го заседания Совета" (PDF). Совет Европейского Союза. 2011-06-10. Получено 2011-12-05.
внешняя ссылка
- Методы сканирования портов пользователя Kris Katterjohn. Включает примеры использования Nmap и Hping.
- Сканирование портов без сканирования Анкит Фадиа
- Тео, Лоуренс (декабрь 2000 г.). Объяснение сетевых зондов: что такое сканирование портов и проверка связи. Linux Journal, получено 5 сентября 2009 г. из Linuxjournal.com