Сканирование портов немного похоже на покачивание дверных ручек, чтобы увидеть, какие двери заблокированы. Сканер узнает, какие порты на маршрутизаторе или брандмауэре открыты, и может использовать эту информацию для поиска потенциальных слабых мест компьютерной системы.
Что такое порт?
Когда устройство подключается к другому устройству по сети, оно указывает TCP или UDP номер порта от 0 до 65535. Однако некоторые порты используются чаще. TCP-порты с 0 по 1023 являются «хорошо известными портами», которые предоставляют системные службы. Например, порт 20 - это передача файлов по FTP, порт 22 - это Безопасная оболочка (SSH) терминальные соединения, порт 80 - стандартный веб-трафик HTTP, а порт 443 зашифрован HTTPS . Итак, когда вы подключаетесь к защищенному веб-сайту, ваш веб-браузер обращается к веб-серверу, который прослушивает порт 443 этого сервера.
Сервисы не всегда должны работать на этих конкретных портах. Например, вы можете запустить веб-сервер HTTPS на порту 32342 или сервер Secure Shell на порту 65001, если хотите. Это просто стандартные значения по умолчанию.
Что такое сканирование портов?
Сканирование портов - это процесс проверки всех портов IP-адреса на предмет открытых или закрытых. Программное обеспечение для сканирования портов будет проверять порт 0, порт 1, порт 2 и полностью до порта 65535. Оно делает это, просто отправляя запрос на каждый порт и запрашивая ответ. В своей простейшей форме программа сканирования портов запрашивает информацию о каждом порте по очереди. Удаленная система ответит и скажет, открыт порт или закрыт. Человек, выполняющий сканирование портов, узнает, какие порты открыты.
Любая сеть брандмауэры в пути может блокировать или иным образом отбрасывать трафик, поэтому сканирование портов также является методом определения, какие порты доступны или доступны для сети в этой удаленной системе.
В инструмент nmap это общий сетевая утилита используется для сканирования портов, но есть много других инструментов для сканирования портов.
Почему люди проводят сканирование портов?
Сканирование портов полезно для определения уязвимостей системы. Сканирование портов сообщит злоумышленнику, какие порты открыты в системе, и это поможет им сформулировать план атаки. Например, если сервер Secure Shell (SSH) был обнаружен как прослушивающий порт 22, злоумышленник может попытаться подключиться и проверить наличие слабых паролей. Если другой тип сервера прослушивает другой порт, злоумышленник может ткнуть его и посмотреть, есть ли ошибка, которую можно использовать. Возможно, работает старая версия программного обеспечения и есть известная дыра в безопасности.
Эти типы сканирования также могут помочь обнаружить службы, работающие на портах, отличных от портов по умолчанию. Итак, если вы используете SSH-сервер на порте 65001 вместо порта 22, сканирование порта обнаружит это, и злоумышленник может попытаться подключиться к вашему SSH-серверу через этот порт. Вы не можете просто скрыть сервер на порту, отличном от порта по умолчанию, чтобы защитить свою систему, хотя это действительно затрудняет поиск сервера.
Сканирование портов используется не только злоумышленниками. Сканирование портов полезно для защитного тестирования на проникновение. Организация может сканировать свои собственные системы, чтобы определить, какие сервисы доступны в сети, и убедиться, что они настроены безопасно.
Насколько опасно сканирование портов?
Сканирование портов может помочь злоумышленнику найти слабое место для атаки и проникновения в компьютерную систему. Но это только первый шаг. То, что вы обнаружили открытый порт, не означает, что вы можете его атаковать. Но как только вы найдете открытый порт, на котором запущена служба прослушивания, вы можете просканировать его на наличие уязвимостей. Это настоящая опасность.
В вашей домашней сети между вами и Интернетом почти наверняка есть маршрутизатор. Кто-то в Интернете сможет только просканировать ваш маршрутизатор и не найдет ничего, кроме потенциальных служб на самом маршрутизаторе. Этот маршрутизатор действует как брандмауэр, если вы не перенаправлены отдельные порты с вашего роутера к устройству, и в этом случае эти конкретные порты доступны в Интернете.
Для компьютерных серверов и корпоративных сетей брандмауэры можно настроить для обнаружения сканирования портов и блокировки трафика с адреса, который сканируется. Если все службы, доступные в Интернете, надежно настроены и не имеют известных дыр в безопасности, сканирование портов не должно быть слишком пугающим.
Типы сканирования портов
При сканировании порта «полное TCP-соединение» сканер отправляет на порт сообщение SYN (запрос на соединение). Если порт открыт, удаленная система отвечает сообщением SYN-ACK (подтверждение). Затем сканер отвечает собственным сообщением ACK (подтверждение). Это полный Подтверждение TCP-соединения , и сканер знает, что система принимает соединения через порт, если этот процесс имеет место.
Если порт закрыт, удаленная система ответит сообщением RST (сброс). Если удаленная система просто отсутствует в сети, ответа не будет.
Некоторые сканеры выполняют сканирование «полуоткрытого TCP». Вместо того, чтобы проходить полный цикл SYN, SYN-ACK и затем ACK, они просто отправляют SYN и ждут в ответ сообщение SYN-ACK или RST. Нет необходимости отправлять окончательный ACK для завершения соединения, поскольку SYN-ACK сообщит сканеру все, что ему нужно знать. Это быстрее, потому что нужно отправлять меньше пакетов.
Другие типы сканирования включают отправку незнакомых, искаженных типов пакетов и ожидание, чтобы увидеть, вернет ли удаленная система пакет RST, закрывающий соединение. Если да, то сканер знает, что в этом месте есть удаленная система и что один конкретный порт на ней закрыт. Если пакет не получен, сканер знает, что порт должен быть открыт.
Простое сканирование портов, при котором программное обеспечение запрашивает информацию о каждом порте, один за другим, легко обнаружить. Сетевые брандмауэры можно легко настроить для обнаружения и прекращения такого поведения.
Вот почему некоторые методы сканирования портов работают иначе. Например, сканирование портов может сканировать меньший диапазон портов или может сканировать весь диапазон портов за гораздо более длительный период, поэтому его будет труднее обнаружить.
Сканирование портов является основным средством обеспечения безопасности, когда речь идет о проникновении (и защите) компьютерных систем. Но они всего лишь инструмент, позволяющий злоумышленникам находить порты, которые могут быть уязвимы для атаки. Они не дают злоумышленнику доступа к системе, а надежно сконфигурированная система, безусловно, может без вреда выдержать полное сканирование портов.
Кредит изображения: xfilephotos /Шуттерсточк.ком, Идея Casezy /Шуттерсточк.ком.