что такое сканирование портов и зачем оно нужно
Сканирование портов компьютера
Регулярно в форумах, и не только в них, поднимается вопрос — «Меня сканируют! Что мне делать?» Причиной возникновения данного вопроса являются модули детектирования атак, которые разработчики персональных файрволов встраивают в свои продукты. Насколько вообще опасно данное явление, чего пытается достичь атакующий, и была ли собственно атака? Для того, чтобы понять это, попробуем сначала разобраться — что такое порты, что такое сканирование этих портов и каким образом выполняется проникновение в систему через сеть.
Предупреждение читателям: авторы осознают, что данный материал охватывает далеко не все возможные типы сетевых угроз. Данный материал ориентирован на домашних пользователей, озабоченных страшными предупреждениями, которыми их радостно снабжает добрый дядя Касперский (или Нортон, или еще кто-либо, в зависимости от используемого продукта). Следует помнить, что сетевые угрозы не ограничиваются описанными здесь.
Для начала — что такое порт. Порт — это поле в tcp- или udp-пакете, идентифицирующее приложение-получателя (и отправителя, в пакете этих полей два) пакета.
Формат пакета данных TCP-протокола:
Формат пакета данных UDP протокола:
Каким образом приложение работает с сетью? Приложение обращается к операционной системе с запросом на создание сокета. Операционная система регистрирует, какое приложение обращается к нему с этим запросом, и формирует привязку приложения к сокету — выделяет порт. Этот порт служит для обмена информацией по сетевым протоколам, и вся информация, полученная из сети для порта с этим номером, в дальнейшем передается нужному приложению.
Сокет — это название программного интерфейса для обеспечения информационного обмена между процессами. Процессы при таком обмене могут исполняться как на одной ЭВМ, так и на различных ЭВМ, связанных между собой сетью. Сокет — абстрактный объект, представляющий конечную точку соединения.
Что из этого вытекает? Из этого вытекает, что если прибыл пакет на порт, которому не сопоставлено никакое приложение, то пакет будет просто выброшен операционной системой, и обрабатываться не будет.
С какой целью выполняется сканирование портов? А вот с этой целью и выполняется — определить, какие порты целевого хоста (хост — узел сети, любая система, участвующая в сетевом обмене) закреплены за приложениями. Сканирование есть подготовительная операция, разведка периметра. После того, как будет составлен список активных («открытых») портов, начнётся выяснение — какие именно приложения используют эти порты.
После определения приложений, а иногда даже их версий, фаза разведки заканчивается, и начинается фаза активных «боевых действий» против вас — атака. Не обязательно, что после первой фазы (разведки) сразу начнётся вторая. Зачастую через некоторое время разведка повторяется, причём с других узлов сети. Это своего рода проверка бдительности «стражи» — администраторов. Либо не начнется, если не обнаружено ни одной потенциально уязвимой точки воздействия. Следует понимать, что сканирование само по себе ничем не может Вам повредить — повредить могут последующие действия, если они последуют.
Каким образом выполняется атака? Как правило — для этого используются уязвимости сетевых сервисов (сетевой сервис — приложение, обслуживающее запросы из сети). Эксплуатация уязвимости сервиса основана на посылке ему пакета данных, сформированного таким образом, что наше приложение обработает его некорректно и его штатная работа будет нарушена. Последствия — прекращение обслуживания сервисом правильных запросов (DoS — denial of service, отказ в обслуживании), или выполнение сервисом действий, которые он выполнять не должен (например, Remote Code Execution — возможность злоумышленнику запустить вредоносный код на цели).
Правда, здесь нужно упомянуть, что существует еще один вид сетевой угрозы, с которой пользователь не может сделать практически ничего. Это — флуд (flood) — одна из разновидностей DoS-атаки. Цель её — «затопить» Вас мусорным трафиком, чаще всего с несуществующих адресов, и лишить Вас или Ваши сервисы возможности отправлять или принимать полезную информацию. Она не угрожает Вашему компьютеру ничем, кроме временной невозможности работать в сети. Если Вы обнаружили, что Вас пытаются «зафлудить» — нужно обязательно сообщить об этом провайдеру. Других вариантов решения этой проблемы нет.
Что мне делать, если мой файрвол рапортует о сканировании? Давайте подумаем. Сканированием определяется наличие приложений, принимающих запросы из сети. Соответственно, если мы не выставляли никаких приложений наружу — беспокоиться вообще не о чем. Просто еще раз проверяем, что файрвол действительно настроен на блокирование всех входящих запросов, и забываем про рапорт.
Если такие приложения есть (например, вы содержите у себя FTP-сервер), то здесь тоже практически нет смысла напрягаться — мы ведь добровольно выставили сервер в общий доступ. Беспокоиться следовало на этапе планирования сервера. Просто соблюдаем общие рекомендации — использовать наиболее новую версию сервера, не предоставлять пользователям больше прав, чем им нужно, отключить ненужные функции сервера, по возможности — запускать сервер от имени ограниченного пользователя. Также возможно использование систем обнаружения вторжений (IDS, Intrusion Detection System), однако их использование выходит за рамки данного материала. Заметим только, что таковые системы основаны на отслеживании обращений к сетевым сервисам извне, и определении потенциально опасных запросов по некоторым критериям. Пример такой системы — SNORT (www.snort.org).
А была ли атака? Еще один часто задаваемый вопрос звучит примерно так: «Почему, когда я подключаюсь к FTP-серверу, файрвол начинает жаловаться на сканирование со стороны FTP-сервера?» Типичный пример ложного срабатывания. Рассмотрим, как работает FTP-протокол. В FTP-протоколе используется не одно соединение, а два — одно из них управляющее, второе непосредственно передает данные. Первое (управляющее) открывает клиент — он подключается на порт 21 сервера. Второе подключение зависит от режима работы клиента. Если клиент в активном режиме, то он передает серверу номер порта, на который сервер должен подключиться, чтобы открыть соединение для передачи данных. В пассивном сервер говорит клиенту, на какой порт клиент должен подключаться, чтобы открыть соединение для передачи данных.
Как следует из этого описания, в активном режиме FTP-сервер открывает подключение к клиенту. Файрвол, а многие из них известные параноики, вполне может реагировать на это, как на попытку атаки.
Подведём итоги: сетевая атака в большинстве случаев представляет собой атаку на какой-либо доступный из сети сервис на вашем компьютере. Если такого сервиса у Вас нет — можно не беспокоиться, что кто-то Вас «взломает». В этом случае опасаться следует других угроз — вирусы, malware (нежелательные программы), и другие внутренние воздействия. Рекомендации по предотвращению — стандартны и описаны много раз. Установите антивирус, регулярно его обновляйте, регулярно устанавливайте обновления операционной системы, не запускайте неизвестные Вам программы и так далее. Но даже и в этом случае наличие персонального файрвола на компьютере может помочь Вам в случае, когда антивирус или обновления операционной системы ещё не в состоянии блокировать новые угрозы. Просто всегда внимательно читайте, что именно предлагает Вам сделать та или иная программа, и старайтесь понять, а нужно ли, чтобы это действие действительно было выполнено.
Хотим отметить, что по умолчанию в настройках Windows систем для работы с приложениями в локальной сети, есть открытые для внешнего доступа «серверные» сервисы, то есть те к которым можно обратится с другого компьютера. Поэтому не стоит отключать встроенный брандмауэр (файрвол), либо не пренебрегайте установкой сторонних продуктов подобной функциональности.
Что такое сканирование портов и зачем оно нужно
Сканер портов — программа, предназначенная для поиска хостов сети, у которых открыты нужные порты. Сетевой порт — это уникальный идентификатор сетевого сервиса на отдельно взятом компьютере. Наряду с IP-адресом, сетевой порт требуется для организации двусторонней клиент-серверной связи по сети Интернет. Таким образом, порт является своего рода дверью на концах сетевого подключения, через которую программа на вашем компьютере пересылает информацию в процессе обмена данными. Сканирование портов обычно используется хакерами для взлома сети, а системными администраторами, в свою очередь, для её защиты. Рассмотрим использование результатов работы сканера сети подробней.
Как мы уже сказали, сканер портов часто используется злоумышленниками для обнаружения уязвимостей в сети. Программа сообщает, что порт открыт или закрыт, определяет запущенный сервис, его версию. Основываясь на этой информации, сканер способен определить даже операционную систему атакуемого компьютера. Полученная информация весьма полезна для злоумышленников. В результате сканирования портов они получают необходимую им информацию, которую могут в дальнейшем использовать для несанкционированного доступа к важнейшим данным организации или нарушения работы сервера, а значит целого сегмента или системы в целом.
Системные администраторы используют данное программное средство также для поиска уязвимостей, но в прямо противоположных целях – для улучшения защиты подведомственной им локальной сети. Сканеры портов в свою очередь помогают найти неиспользуемые сервисы (а если их никто не использует, значит, их никто и не настраивает, и, следовательно, они плохо защищены), которые являются потенциальными дырами в системе безопасности организации. Такие сервисы желательно отключить, а защите уже используемых сервисов уделить особое внимание путем постоянного их мониторинга. Кроме того, непрерывный мониторинг подключения к ТСР-порту помогает вовремя обнаружить вредоносное программное обеспечение. При настройке нескольких проверок на определенные порты, программа-сканер портов должна вовремя оповещать системного администратора в случае открытия какого-либо порта (список портов, которые чаще всего используются вредоносными программами, можно найти в Интернете).
Еще одно преимущество использования системы сканирования портов заключается в возможности вовремя узнавать о неполадках в сети и сбое в работе сетевого оборудования. Периодически опрашивая все тот же ТСР-порт, можно немедленно узнать о прекращении работы того или иного хоста, не сходя с рабочего места. Это позволяет системному администратору оперативно реагировать на возникшие неполадки и вовремя устранять их, снижая время простоя до минимума.
Еще одной функций сканера портов является возможность сканирования сети для выявления всех имеющихся в ней хостов (компьютеров, серверов и другого сетевого оборудования), что является немаловажным фактором для системного администратора, работающего в организации с очень распределенной и сложной по своей архитектуре сети.
Таким образом, сканер портов выполняет в сети тройную функцию: служит для выявления хостов в сети, производит мониторинг этих хостов для своевременного выявления неисправностей и позволяет обнаружить потенциальные уязвимости в системе и тем самым повысить ее безопасность и устойчивость.
Автор: dstep
Разработчик программ для администраторов сетей http://www.10-strike.com/rus/
Количество статей, опубликованных этим автором: 10.
Решить вопрос открытости соединений можно с помощью встроенных в Windows утилит или дополнительных программ. Анализировать сеть можно без установки специального софта, достаточно помощи бесплатного сканера. Максимально исследует профиль хоста сканер портов nmap. Возможностей этой утилиты хватит для определения online слабых и открытых точек соединения. Представлен бесплатный nmap сканер портов онлайн на сайте Proxy-Sale.com.
Как происходит процесс сканирования?
Как и IP-адрес, сетевой порт необходим при идентификации адреса во время связи по сети клиента с сервером. Он представляет собой участок кода, с присвоенным номером, обеспечивающим контроль служб хостов. Для упрощения понимания его часто сравнивают с дверью, через которую пересылается информация при обмене данными между конкретным компьютером и сервером сети Интернет.
Внешний сканер портов онлайн производит своеобразное тестирование интерфейса компьютера. В зависимости от цели, программа сканирования ищет наиболее используемые или незащищенные порты хостов. Результатом поиска становится определение состояния – открыт, закрыт, заблокирован. Сканирование безопасно для компьютера. Если двери закрыты надежным замком, то проверка его крепости внешним «стуком» абсолютно безвредна.
Функции nmap сканера портов
Проблемы безопасности открытых и закрытых портов связаны с работающей на хосте операционной системой. У открытых есть еще и другой риск стабильности и уязвимости. Опасной для него может быть работа предоставляемых сервисами программ.
Сканирование портов онлайн по IP в первую очередь помогает обнаружить и обезвредить сомнительное программное обеспечение. Второй из причин непрерывного мониторинга является нахождение неиспользуемых плохо защищенных сервисов, подключенных к ТСР-порту. Такие потенциально вредоносные инструменты следует отключить. Третьей полезной функцией программы-сканера является своевременное выявление неполадок имеющихся в сети хостов. Системный администратор сложной сети может сократить простой серверов, компьютеров, оперативно реагируя на сигналы проверки портов. Контролируя в режиме онлайн хосты сети, сканер своевременно находит их уязвимости, неисправности. Тем самым он повышает устойчивость и безопасность системы.
Как работает бесплатный сканер портов?
Анализ атак с использованием сканирования портов
Сканирование портов — это предварительная процедура, наиболее часто используемая киберпреступниками для определения уязвимых узлов, которые можно успешно атаковать. Этот полностью автоматизированный процесс также позволяет обнаружить машины, серверы и периферийные устройства, существующие в конкретной сети.
Введение
Успешное сканирование портов позволяет получить сведения о машинах, обнаруженных в прощупываемой сети, включая имена устройств, IP-адреса, операционные системы, запущенные программы и службы, имена пользователей, группы и открытые порты. Сканирование обычно выполняется до начала атаки (как пример, Direct-to-Origin). Существует четыре различных подхода к сканированию сетевого порта, поговорим подробнее о каждом из них.
Способы сканирования
Горизонтальное сканирование
При горизонтальном сканировании злоумышленник просматривает один и тот же порт на нескольких компьютерах, то есть несколько IP-адресов. Атакующий стремится найти хосты, раскрывающие определенные сервисы. Таким образом хакер сканирует определенные порты на всех машинах, разные IP-адреса в пределах определенного диапазона.
Горизонтальное сканирование представляет собой наиболее часто используемый в настоящий момент тип сканирования портов.
Вертикальное сканирование
Вертикальным сканированием называют процесс, при котором злоумышленник сканирует несколько портов на одном компьютере, то есть один IP-адрес.
Распределенное вертикальное сканирование
При распределенном вертикальном сканировании несколько источников последовательно сканируют несколько портов на одном IP-адресе.
Распределенное горизонтальное сканирование
В этом случае несколько источников сканируют один и тот же порт на нескольких IP-адресах последовательным образом. Во время распределенного сканирования часто меняются IP-адреса злоумышленников, что делает их обнаружение довольно сложной задачей.
Рисунок 1. Схема сканирования портов
Распределенное вертикальное сканирование и распределенное горизонтальное сканирование часто ассоциируются с атаками, выполняемыми несколькими злоумышленниками (или группами), что представляет собой одну из самых современных форм атак. Совместные атаки иногда описываются как «кибератаки следующего поколения».
Недавно опубликованное исследование представило новый подход, который помогает обнаружить сканирование портов, он основан на графическом моделировании. Создатели нового подхода применили свой метод к данным, полученным из darknet.
Методы обнаружения сканирования портов
Как показало исследование, атаки с использованием горизонтального сканирования являются наиболее распространенными, на них приходится 80% трафика сканирований. Новый метод обнаружения основан на отслеживании поведения, характерного для таких атак.
Этот подход позволяет контролировать все возможные порты UDP и TCP, предупреждения появляются, если обнаруживается состояние, отличающееся от обычного состояния портов. Весь алгоритм основывается на индексе, известном как BH-tree, который был введен в 2013 году для ускорения процессов обучения и обнаружения и оказался чрезвычайно эффективным.
Эксперименты, проведенные разработчиками нового подхода, в ходе которых использовались данные, полученные из реального darknet-трафика, показали, что предлагаемый метод не только эффективен, но и быстро работает.
Несмотря на то, что исследование было сосредоточено именно на атаках с распределенным сканированием, в ходе которых несколько источников атакуют один и тот же порт на нескольких целевых компьютерах или IP-адресах, этот подход можно легко настроить для мониторинга атак, при которых несколько источников атакуют несколько портов на нескольких целевых машинах или IP-адресах.
Выводы
Изучив атаки, использующие сканирование портов, мы можем прийти к выводу, что необходимо провести дополнительные исследования, чтобы проанализировать методы, позволяющие обнаруживать такие атаки. Чем больше будет использовано машинное обучение, тем лучше, так как настроить мониторинг на обнаружение аномального поведения на портах несложно.
List of available regions
Main regions
АМЕРИКА
ЕВРОПА, БЛИЖНИЙ ВОСТОК и АФРИКА
АЗИАТСКО-ТИХООКЕАНСКИЙ РЕГИОН
Что такое сканирование портов?
Сканирование портов — это метод определения открытых портов в сети, которые могут принимать или отправлять данные. Кроме того, это процесс отправки пакетов на определенные порты на хосте и анализа ответов для выявления уязвимостей.
Это сканирование не может выполняться без первоначального определения списка активных хостов и сопоставления этих хостов с их IP-адресами. Такой процесс называется обнаружением хостов. Он начинается со сканирования сети.
Целью сканирования портов и сети является определение организации системы IP-адресов, хостов и портов, чтобы надлежащим образом определить местоположение открытых или уязвимых серверов и уровень безопасности. Сканирование как сети, так и портов выявляет наличие системы безопасности, например брандмауэра между сервером и устройством пользователя.
После тщательного сканирования сети и составления списка активных хостов можно провести сканирование портов, чтобы определить открытые порты в сети, делающие возможным несанкционированный доступ.
Важно отметить, что сканирование сети и портов могут использовать как ИТ-администраторы, так и киберпреступники, чтобы проверить политики безопасности сети, определить уязвимости и (в случае злоумышленников) воспользоваться потенциальными слабыми местами, чтобы проникнуть в сеть. Обнаружение хостов в ходе сканирования сети часто является подготовкой перед совершением атаки.
Оба сканирования остаются ключевыми орудиями злоумышленников, поэтому на основе результатов сканирования сети и портов ИТ-администраторы могут определить уровень безопасности сети, чтобы защитить ее от атак.
Что такое порты и номера портов?
Компьютерный порт — это главное место подключения потока информации из программы или Интернета в устройство или другой компьютер в сети и наоборот. Его можно представить как место обмена данными с помощью электронных средств, программного обеспечения или механизмов, связанных с программированием.
В целях обеспечения системности и для удобства программирования портам были назначены номера. Номер порта в сочетании с IP-адресом образует важную информацию, которая хранится у каждого интернет-провайдера для выполнения запросов. Порты могут иметь номер от 0 до 65 536 и обычно распределяются по популярности.
Порты с номерами от 0 до 1023 широко известны. Они предназначены для использования Интернета, хотя также могут выполнять специализированные задачи. Они находятся в ведении Администрации адресного пространства Интернет (IANA). Эти порты принадлежат ведущим компаниям, таким как Apple QuickTime, MSN, SQL Services и другим известным организациям. Ниже приведены некоторые наиболее известные порты и назначенные им службы. Возможно, они покажутся вам знакомыми.
Порты с 1024 по 49 151 считаются «зарегистрированными», то есть они зарегистрированы корпорациями-разработчиками программного обеспечения. Порты с 49 151 по 65 536 являются динамическими и частными и могут использоваться практически всеми.
Какие протоколы используются при сканировании портов?
Обычно для сканирования портов используются следующие протоколы: TCP (протокол управления передачей данных) и UDP (протокол пользовательских датаграмм). Оба они предназначены для передачи данных в Интернете, но имеют разные механизмы.
TCP — это надежная двусторонняя передача данных, основанная на соединении, при которой успешность отправки зависит от статуса адресата. А протокол UDP работает без подключения и является ненадежным. При использовании протокола UDP данные отправляются без учета состояния пункта назначения. Следовательно, нет гарантий, что данные вообще будут переданы.
Существует несколько различных методов сканирования портов с помощью этих двух протоколов.
Какие методы используются для сканирования портов?
Для сканирования портов используются различные методы в зависимости от конкретной цели. Важно отметить, что киберпреступники также выбирают определенный метод сканирования, исходя из своих целей или стратегии атаки.
Ниже описаны некоторые методы и принципы их работы.
Какие результаты можно получить при сканировании портов?
Сканирование портов показывает состояние сети или сервера. Результат может относиться к одной из трех категорий: открытые, закрытые или фильтруемые порты.
Как хакеры могут использовать сканирование портов в качестве метода атаки?
По данным института SANS, сканирование портов является одной из самых популярных тактик, используемых хакерами при поиске уязвимого сервера для взлома.
Злоумышленники часто используют сканирование портов в качестве подготовки к атаке на сеть. Они проводят сканирование портов, чтобы оценить уровень защиты различных организаций и определить, у кого установлен надежный брандмауэр, а у кого могут быть уязвимы сервер или сеть. Некоторые методы протокола TCP позволяют злоумышленникам скрыть свое сетевое местоположение и использовать «ложный трафик» для выполнения сканирования портов, не раскрывая целевому устройству какой-либо сетевой адрес.
Злоумышленники проверяют сети и системы, чтобы увидеть реакцию каждого порта и понять их состояние (открыт, закрыт или фильтруется).
Например, ответы открытых и закрытых портов предупредят хакеров о наличии вашей сети и ее готовности принимать данные. Злоумышленники смогут определить уровень защиты и тип операционной системы, используемой вами.
Сканирование портов — это довольно старый метод, требующий изменений в системе безопасности и актуальных сведений об угрозах, поскольку протоколы и средства обеспечения безопасности постоянно развиваются. Рекомендуется использовать предупреждения о сканировании портов и брандмауэры, чтобы отслеживать трафик своих портов и не позволить хакерам обнаружить возможность неавторизованного проникновения в вашу сеть.
Вы уверены, что ваш бизнес готов к завтрашним киберугрозам и хакерским атакам?
Узнайте больше о нашем комплексном пакете решений для сетевой безопасности