Данный пакет имеет номер порта назначения 23 какое приложение службы запрашивает клиент
Основанные на TCP и UDP службы отслеживают множество приложений, осуществляющих коммуникацию. Чтобы различать сегменты и датаграммы для каждого приложения, как TCP, так и UDP имеют поля в заголовке, которые могут однозначно определить эти приложения. Эти уникальные идентификаторы представляют собой номера портов.
В заголовке каждого сегмента или датаграммы имеются два порта - источника и назначения. Номер порта источника - это номер для данной коммуникации, ассоциированный с приложением, инициирующим передачу на локальном хосте. Номер порта назначения является номером, ассоциированным с приложением, которому адресована коммуникация, на удаленном хосте.
Когда клиентское приложение посылает запрос приложению на сервере, порт назначения в заголовке указывает на демона службы, работающей на удаленном хосте. Клиентское ПО должно знать, какой номер порта ассоциирован с серверным процессом удаленного компьютера. Этот номер порта назначения конфигурируется вручную, либо устанавливается по умолчанию. Например, когда веб браузер делает запрос на веб сервер, браузер использует TCP и номер порта 80, если не указан другой номер. Это происходит потому, что TCP порт 80 по умолчанию ассоциирован с веб-приложениями. Многие распространенные приложения имеют номера, используемые по умолчанию.
Комбинация номера порта Транспортного уровня и IP адреса Сетевого уровня, назначенного хосту, однозначно определяет конкретный процесс, работающий на конкретном хостовом устройстве. Эта комбинация называется сокетом. Кое-кто использует термины порт и сокет взаимозаменяемо. В контексте этой и последующих статей, термин сокет будет подразумевать исключительно уникальную комбинацию IP адреса и номера порта. Пара сокетов, состоящая из IP адресов хостов источника и назначения, а также номеров портов, однозначно определяет конкретный диалог между двумя хостами.
Если веб браузер, запрашивающий веб страницу, работает на хосте 192.168.100.48 и Динамический номер порта, назначенный веб браузеру, равняется 49152, то сокетом для веб страцицы будет 192.168.100.48:49152.
Термины Редактор: Дмитрий Сокол 10277 10 мин АудиоТранспортный протокол TCP/IP - это сетевая модель для передачи данных (набор правил обмена информацией) от одного источника к другому, является основой Интернета. Термин “порт”, который часто встречается в описаниях интернет-сервисов, связан с особенностями работы этого протокола.
Сервисы и порты
Каждая приходящая на сервер порция данных предназначена для обработки определенным сервисом.
Для того, чтобы сетевая подсистема сервера различала данные, адресованные определенным сервисам, и правильно распределяла их, в протокол TCP/IP было введено понятие номера порта.
Пакеты данных и их заголовки
Протокол TCP/IP передает данные отдельными порциями - “пакетами данных”.
Каждый пакет данных имеет специальный заголовок, содержащий служебную информацию.
Технически номер порта - это просто цифры в определенном месте заголовка пакета данных, приходящего на сервер.
Сетевая подсистема сервера анализирует заголовок пакета, находит номер порта и, согласно его значению, направляет данные той или иной работающей на сервере программе-сервису.
Каждая принимающая сетевые данные программа на сервере при запуске сообщает операционной системе, что готова получать и обрабатывать данные, адресованные на определенный порт.
Специалисты используют выражение “программа слушает конкретный порт на сервере”. Например, входящие пакеты данных с номером порта 80 передаются на обработку web-серверу, с номером порта 25 - почтовому серверу, номер 22 адресуется серверу SSH и так далее.
Распределение пакета данных IP по сервисам в соответствии с номером порта
TCP- и UDP-порты
Порты используются протоколами TCP или UDP.
TCP - это основной транспортный протокол интернета, который обеспечивает доставку данных через соединение, предварительно установленное между двумя компьютерами. Соединение работает на протяжении всего сеанса связи.
Протокол UDP предназначен для быстрой передачи порции данных без гарантии доставки и без предварительной установки соединения.
Оба протокола в заголовке пакета данных указывают порт получателя, а также исходящий номер порта. Протокол TCP устанавливает соединение, при котором данные между сервером и клиентом обмениваются между исходящим портом клиента и входящим портом сервера.
Диапазоны портов
Номер порта может находиться в диапазоне от 0 до 65535. Как и другие используемые в сети Интернет ресурсы, номера портов стандартизированы. Все порты в диапазоне 1-1023 называются “системными портами” и распределены, согласно списку, от координационного центра Internet организации IANA.
Порты в диапазоне 1024-49151 называются “пользовательскими”, и они предназначены для настройки дополнительных сервисов по выбору пользователя.
Оставшиеся порты из диапазона 49152-65535 называются “динамическими” и предназначены для использования операционной системой для установки соединений в рамках протокола TCP/IP.
Список портов и протоколов
Технически администратор сервера может гибко настраивать используемые порты для каждого из запускаемых на сервере сетевых сервисов. Например, при желании он может изменить номер порта, на котором работает web-сервер, с 80 на 8080. Но при этом, если пользователи не знают, что номер порта изменен, то они не смогут присоединиться к web-серверу. Поэтому для публичных сетевых сервисов принято применять стандартные номера портов.
Таблица наиболее важных и распространенных номеров портов выглядит так:
Номер порта | Протокол | Название сервиса |
20 | TCP | FTP - данные |
21 | TCP | FTP - контрольное соединение |
22 | TCP | SSH-сервер |
23 | TCP | Telnet-сервер |
25 | TCP | SMTP - отправка почты |
53 | TCP, UPD | DNS - сервер доменных имен |
69 | UPD | TFTP-сервер |
80 | TCP | HTTP - web-сервер |
110 | TCP | POP3 - прием почты |
145 | TCP | IMAP - прием почты |
161 | UPD | SNMP - протокол управления сетевыми устройствами |
443 | TCP | HTTPS - защищенный шифрованием протокол HTTP |
587 | TCP | Защищенный шифрованием протокол SMTP |
993 | TCP | Защищенный шифрованием протокол IMAP |
995 | TCP | Защищенный шифрованием протокол POP3 |
1500 | TCP | Панель ISPManager |
2083 | TCP | Панель cPanel |
3306 | TCP | Сервер базы данных MySQL |
8083 | TCP | Панель Vesta |
Порты и URL
Как просмотреть список используемых портов на сервере
Для пользователей виртуальных и выделенных серверов может понадобиться просмотреть список применяемых на сервере портов TCP и UDP. Для этой задачи в операционной системе Linux имеется утилита Netstat.
Утилита Netstat работает из командной строки. Чтобы просмотреть список используемых для входящих соединений портов, прослушиваемых запущенными на сервере сетевыми сервисами, примените следующую команду:
Netstat выводит информацию в несколько колонок. Номер порта, на который принимаются соединения, можно увидеть в колонке “Local address”. Также в колонке “PID/Program name” можно увидеть, какая программа на сервере слушает конкретный порт.
Порты и безопасность сервера
Порты TCP и UDP используются для соединения с сервером, а значит, могут подвергаться атакам. Например, протокол SSH работает по умолчанию на порте 22, и злоумышленники часто ведут атаку на этот порт, пытаясь подобрать пароль от сервера.
Для повышения уровня безопасности вы можете изменить номер порта для SSH. Например, замените порт 22 на 2222.
Конкретно в случае с SSH, смена номера порта - хорошее решение. В случае, если вы измените номер порта, для злоумышленников не будет даже выводиться окно, в котором нужно вводить пароль. Соединение с сервером будем прервано, так как номер порта будет изменен.
1. Отредактируйте на сервере файл /etc/ssh/sshd_config.
2. Найдите в файле строку “Port 22” и измените ее на “Port 2222”.
3. Перезагрузите программу-сервис sshd командой:
Теперь сервер будет принимать SSH-соединения по нестандартному порту 2222, который не известен злоумышленникам.
В других случаях порты менять не нужно, так как большинство плагинов, модулей, почтовых программ и другого стороннего ПО для работы с сайтами и серверами настроено по умолчанию для работы по стандартным портам.
Выводы
1. TCP и UPD- протоколы транспортного уровня:
- обеспечивают доставку данных от одного адресата другому;
- сохраняют правильную последовательность передачи данных.
2. Для просмотра списка используемых на сервере портов TCP и UDP используйте утилиту Netstst в операционной системе Linux.
Прежде чем мы начнем сегодняшний видеоурок, хочу поблагодарить всех, кто способствовал популярности моего курса на YouTube. Когда я начал его около 8 месяцев назад, то не ожидал такого успеха – на сегодня мои уроки просмотрели 312724 человека, у меня 11208 подписчиков. Мне и не снилось, что это скромное начинание достигнет таких высот. Но не будем терять время и сразу перейдем к сегодняшнему занятию. Сегодня мы восполним пробелы, которые имели место в последних 7 видеоуроках. Хотя сегодня только 6 день, день 3 был разбит на 3 видеоурока, так что фактически сегодня вы посмотрите восьмой видеоурок.
Сегодня мы будем заниматься 3 важными темами: DHCP, передача TCP и наиболее употребительные номера портов. Мы уже говорили об IP-адресах, и одним из важнейших факторов конфигурации IP-адреса является DHCP.
То, что вы видите на слайде, похоже на широковещательный запрос, кода устройство обращается ко всем устройствам в сети в поисках DHCP-сервера. Как я уже сказал, это широковещательный запрос, поэтому его слышат все устройства сети.
Если в сети есть DHCP-сервер, он отправляет пакет — предложение DHCP OFFER. Предложение означает, что DHCP-сервер в ответ на запрос обнаружения отправляет клиенту конфигурацию, предлагая клиенту принять определенный IP-адрес.
DHCP-сервер резервирует IP-адрес, в данном случае 192.168.1.2, не предоставляет, а именно резервирует за устройством данный адрес. Вместе с этим в пакете предложения содержится собственный IP-адрес DHCP-сервера.
Если в этой сети имеется более одного DHCP-сервера, другой DHCP-сервер, получив широковещательный запрос клиента, также предложил бы ему свой IP-адрес, например, 192.168.1.50. Обычно в одной и той же сети не настраиваются два разных DHCP-сервера, но иногда такое все же случается. Таким образом, когда предложение DHCP отправляется клиенту, он получает 2 предложения DHCP и теперь должен решить, какое предложение DHCP он хочет принять.
Давайте предположим, что клиент принимает первое приложение. Это означает, что клиент отсылает запрос DHCP REQUEST, в котором буквально говорится: «я принимаю IP-адрес 192.168.1.2, предлагаемый DHCP-сервером 192.168.1.1».
Получив запрос, DHCP-сервер 192.168.1.1 отвечает: «хорошо, я это признаю», то есть подтверждает запрос и направляет это подтверждение DHCP ACK клиенту. Но мы помним, что другой DHCP- сервер DHCP зарезервировал для клиента IP-адрес 1.50. Получив широковещательный запрос клиента, он узнает об отказе и поместит этот IP-адрес обратно в пул, чтобы он мог назначить его другому клиенту, если получит другой запрос.
Однако чаще всего случается так, что пользователь отключается от сети раньше, чем клиент успевает послать на сервер DHCP RELEASE. Так происходит при выключении компьютера, которое осуществляем мы с вами. При этом сетевой клиент, или компьютер, просто не имеет времени на то, чтобы сообщить серверу об освобождении использовавшегося адреса, поэтому DHCP RELEASE не является обязательным шагом. Обязательными шагами для получения IP-адреса являются: обнаружение DHCP, предложение DHCP, запрос DHCP и подтверждение DHCP.
В одном из следующих уроков я расскажу, как мы настраиваем DHCP- сервер при создании DNCP- пула. Под пулом подразумевается, что вы сообщаете серверу о назначении IP-адресов в диапазоне от 192.168.1.1 до 192.168.1.254. Таким образом, DHCP-сервер создаст пул, поместит в него 254 IP-адреса и сможет назначать клиентам сети адреса только из этого пула. Так это что-то вроде административной настройки, которую может осуществить пользователь.
Теперь рассмотрим передачу TCP. Не знаю, знакомы ли вы с изображенным на картинке «телефоном», но в детстве мы использовали такие консервные банки, соединенные шнурком, чтобы разговаривать друг с другом.
К сожалению, сегодняшнее поколение не может позволить себе такой «роскоши». Я имею в виду, что сегодня дети находятся перед телевизором с годовалого возраста, они играют в PSP, и, возможно, это спорный вопрос, но я думаю, что у нас было лучшее детство, мы действительно выходили на улицу и играли в игры, а сегодняшних детей не оторвешь от дивана.
Моему сыну всего год, и я уже вижу, что он пристрастился к iPad, я имею в виду, что он еще очень маленький, но мне кажется, что сегодняшние дети уже рождаются со знаниями, как обращаться с электронными гаджетами. Итак, я хотел сказать, что в детстве, когда мы играли, мы дырявили консервные банки, и когда связывали их струной и произносили что-то в одну банку, то на другом конце человек мог услышать, что ему говорят, просто приложив банку к уху. Так что это очень похоже на сетевое соединение.
Сегодня даже для передачи TCP должно имеется соединение, которое необходимо установить до того, как начнется реальная передача данных. Как мы обсуждали в предыдущих уроках, TCP — это передача, ориентированная на предварительное установление соединения с сетью, в то время как UDP — это передача без необходимости установки соединения. Можно сказать, что UDP – это когда я бросаю мяч, и от вас зависит, сможете ли вы его поймать. Готовы вы это сделать или нет, это не моя проблема, я просто собираюсь его бросить.
ТСP больше похоже на то, что вы разговариваете с парнем и заранее предупреждаете его о том, что собираетесь бросить мяч, то есть между вами завязывается связь, и только затем вы бросаете мяч, так что с большой вероятностью ваш партнер будет готов его поймать. Таким образом, TCP фактически строит соединение, а затем начинает осуществлять реальную передачу.
Рассмотрим, как он создает такое соединение. Для создания соединения этот протокол использует 3-х этапное рукопожатие. Это не слишком технический термин, но он давно используется для описания TCP-соединения. 3-х этапное рукопожатие инициируется отправляющим устройством, при этом клиент отправляет серверу пакет с SYN-флагом.
Далее мы рассмотрим технологию TCP Windowing. Проще говоря, это метод, используемый в TCP / IP для согласования возможностей отправителя и получателя.
Это один из тех механизмов регулирования трафика, где передающее устройство со временем понимает, какова фактическая пропускная способность сети. У вас может возникнуть вопрос, почему они не могут договориться заранее о том, какова емкость принимающего устройства? Дело в том, что технически это невозможно, потому что в сети имеются различные типы устройств. Предположим, у вас есть iPad, и у него скорость приема/передачи данных отличается от iPhone, у вас могут быть разные типы телефонов, или, может быть, у вас очень старый компьютер. Поэтому у всех разная пропускная способность сети.
Поэтому и была разработана технология TCP Windowing, когда передача данных начинается на небольшой скорости или с передачи минимального количества пакетов, постепенно увеличивая «окно» трафика. Вы отправляете один пакет, 5 пакетов, 10 пакетов, 1000 пакетов, 10000 пакетов и медленно приоткрываете это окно все больше и больше, пока «раскрытие» не достигнет максимального возможного значения отправки объема трафика в конкретный промежуток времени. Таким образом, концепция Windowing является частью работы протокола TCP.
Далее мы рассмотрим наиболее распространенные номера портов. Классической является ситуация, при которой у вас есть 1 главный сервер, возможно, это дата-центр. Он включает в себя файловый сервер, веб-сервер, почтовый сервер и DHCP-сервер. Теперь, если один из клиентских компьютеров свяжется с дата-центром, который расположен в середине картинки, тот начнет рассылать клиентским устройствам трафик файлового сервера. Этот трафик показан красным цветом, и для его передачи будет использоваться определенный порт для определенного приложения от определенного сервера.
Каким образом сервер узнал, куда должен идти определенный трафик? Он узнает об этом из номера порта назначения. Если вы посмотрите на фрейм, то увидите, что в каждой передаче данных имеется упоминание номера порта назначения и порта источника. Вы видите, что синий и красный трафик, а синий трафик – это трафик веб-сервера, оба поступают на один и тот же физический сервер, в котором установлены разные серверы. Если это дата-центр, то он использует виртуальные серверы. Так как же они узнали, что красный трафик должен был вернуться к этому левому ноутбуку с этим IP-адресом? Они знают это благодаря номерам портов. Если вы обратитесь к статье Википедии «Список портов TCP и UDP», то увидите, что в ней перечислены все стандартные номера портов.
Поэтому номера портов в TCP не всегда предназначены для того же, что и в UDP. Вам не нужно учить этот список наизусть, его невозможно запомнить, но некоторые популярные и наиболее распространенный номера портов нужно знать. Как я сказал, некоторые из этих портов имеют официальное предназначение, которое описано в стандартах, а некоторые – неофициальное предназначение, как в случае с Сhromium.
Итак, в этой таблице перечислены все распространенные номера портов, и эти номера служат для отправки и получения трафика при использовании конкретных приложений.
Как мы знаем, если это устройство хочет связаться с этим сервером, сначала должен быть сделан первый шаг 3-этапного рукопожатия, то есть отправлен SYN-пакет. При создании этого запроса компьютер 10.1.1.10 укажет номер порта источника, который Windows создаёт динамически. Windows случайным образом выбирает номер порта в диапазоне от 1 до 65,000. Но поскольку начальные номера в диапазоне от 1 до 1024 являются широко известными, в данном случае система будет рассматривать номера больше 25000 и создаст случайный порт источника, например, под номером 25113.
Далее наш компьютер говорит: «Хорошо, мой IP-адрес 10.1.1.10, а мне нужно связаться с IP-адресом 30.1.1.10». Оба эти адреса также включаются в пакет, формируя SYN-запрос, и этот пакет не будет изменяться до конца установления соединения.
Я хочу, чтобы вы поняли из этого видео, как данные перемещаются по сети. Когда наш компьютер, отправляющий запрос, видит IP-адрес источника и IP-адрес назначения, он понимает, что адрес назначения не находится в этой локальной сети. Я забыл сказать, что это все /24 IP-адреса. Так что, если вы посмотрите на IP-адреса /24, то поймете, что компьютеры 10.1.1.10 и 30.1.1.10 не находятся в одной сети. Таким образом, компьютер-отправитель запроса понимает, что для того, чтобы выйти из этой сети, он должен обратиться к шлюзу 10.1.1.1, который настроен на одном из интерфейсов маршрутизатора. Он знает, что он должен перейти к 10.1.1.1, и знает свой MAC-адрес 1111, но не знает MAC-адрес шлюза 10.1.1.1. Что же он делает? Он посылает широковещательный ARP-запрос, который получат все устройства в сети, но ответит на него только маршрутизатор с IP-адресом 10.1.1.1.
Маршрутизатор ответит ему своим MAC-адресом АААА, и оба MAC-адреса – источника и назначения — также будут помещены в этот фрейм. Как только фрейм будет готов, перед тем, как покинуть сеть, будет осуществлена проверка целостности данных CRC, представляющая собой алгоритм нахождения контрольной суммы с целью обнаружения ошибок.
Циклический избыточный код CRC означает, что весь этот фрейм, от SYN до последнего MAC-адреса, прогоняется через алгоритм хеширования, скажем, MD5, в результате чего получается значение хеша. Затем значение хеша, или контрольная сумма MD5, помещается в начало фрейма.
Я обозначил её FCS/CRC, потому что FCS – это последовательность проверки кадров, четырехбайтовое значение CRC. Некоторые люди употребляют обозначение FCS, а некоторые — CRC, поэтому я просто указал оба обозначения. Но в принципе это всего лишь значение хеша. Оно нужно для того, чтобы убедиться, что все данные, поступающие по сети, не содержат ошибок. Поэтому, когда этот фрейм достигает маршрутизатора, первое, что сделает маршрутизатор, это вычислит контрольную сумму самостоятельно и сравнит её со значением FCS или CRC, которое содержит полученный фрейм. Таким образом он сможет проверить, что данные, поступившие по сети, не содержат ошибок, после чего удалит контрольную сумму из фрейма.
Дальше роутер посмотрит на MAC-адрес и скажет: «Хорошо, MAC-адрес AAAA означает, что фрейм адресован мне», и удалит часть фрейма, содержащую MAC-адреса.
Посмотрев на IP-адрес назначения 30.1.1.10, он поймет, что этот пакет адресован не ему и должен пройти через маршрутизатор дальше.
Теперь роутер «думает» о том, ему нужно увидеть, где находится сеть с адресом 30.1.1.10. Мы еще не рассматривали полной концепции маршрутизации, но знаем, что роутеры имеют таблицу маршрутизации. В этой таблице есть запись для сети с адресом 30.1.1.0. Как вы помните, это не IP-адрес хоста, а идентификатор сети. Роутер «подумает» о том, что можно достичь адреса 30.1.1.0/24, пройдя через маршрутизатор 20.1.1.2.
Итак, мы предполагаем, что он уже знает MAC-адрес, тогда у нас появится исходный MAC-адрес BBB и MAC-адрес назначения CCC. Роутер снова вычисляет FCS/CRC и помещает его в начало фрейма.
Затем он отправляет этот фрейм по сети, фрейм доходит до маршрутизатора 20.1.12, тот проверяет контрольную сумму, убеждается, что данные не повреждены, и удаляет FCS/CRC. Затем он «обрезает» MAC-адреса, смотрит на пункт назначения и видит, что это адрес 30.1.1.10. Он знает, что этот адрес подключен к его интерфейсу. Тот же процесс формирования фрейма повторяется, роутер добавляет значения MAC-адресов источника и назначения, делает хеширование, прикрепляет хэш к фрейму и отправляет его по сети.
Наш сервер, получив наконец-то адресованный ему SYN-запрос, проверяет контрольную сумму хеша, и если в пакете не содержит ошибок, удаляет хеш. Затем он удаляет MAC-адреса, смотрит на IP-адрес и понимает, что этот пакет адресован именно ему.
После этого он обрезает IP-адреса, относящиеся к третьему уровню модели OSI, и смотрит на номера портов.
Он видит порт 21, который означает FTP-трафик, видит SYN и поэтому понимает, что кто-то пытается установить с ним связь.
Теперь, в соответствие с тем, что мы узнали о рукопожатии, сервер 30.1.1.10 создает пакет SYN/ACK и отправит его обратно компьютеру 10.1.1.10. Получив данный пакет, устройство 10.1.1.10 создаст ACK, пропустит его через сеть таким же образом, как пакет SYN, и после получения ACK сервером соединение будет установлено.
Начиная со следующего урока, я буду отбирать по 3 самых интересных вопроса с YouTube, которые я буду рассматривать в конце каждого видео. С этого момента у меня будет раздел «Лучшие вопросы», так что я буду размещать вопрос вместе с вашим именем и отвечать на него в прямом эфире. Думаю, это пойдет на пользу.
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps до лета бесплатно при оплате на срок от полугода, заказать можно тут.
Есть сетевой порт для каждого типа трафика. Некоторые порты подвержены большему риску, чем другие. Вот самые ужасные преступники и что вы можете сделать, чтобы их обезопасить.
Сетевая адресация
На вашем компьютере будет запущено множество программ и служб. На вашем рабочем столе могут быть открыты почтовая программа и браузер. Возможно, вы используете чат-клиент, например Слабина или же Команды Microsoft. Если вы администрируете удаленные машины, вы можете использовать безопасная оболочка (SSH) соединение. Если вы работаете из дома и вам нужно подключиться к своему офису, вы можете использовать Протокол удаленного рабочего стола (RDP) или Виртуальная частная сеть (VPN) соединение.
Когда курьер доставляет посылку в отель, адрес идентифицирует здание. Номер комнаты идентифицирует комнату и гостя отеля. Уличный адрес подобен IP-адресу, а номер комнаты подобен адресу порта. Приложения и службы используют определенные пронумерованные порты. Таким образом, фактическим местом назначения сетевого пакета является порт с IP-адресом. Этого достаточно, чтобы идентифицировать приложение или службу на конкретном компьютере, для которого предназначен пакет.
Стандартная нумерация портов
Всего имеется 65535 портов TCP / IP (и столько же Протокол пользовательских датаграмм (UDP) порты).
Ни один порт не является безопасным по своей сути
Любой порт не более безопасен или подвержен риску, чем любой другой порт. Порт есть порт. Именно от того, для чего используется порт, и от того, насколько безопасно это использование используется, зависит, является ли порт безопасным.
Протокол, который используется для связи через порт, служба или приложение, которые потребляют или генерируют трафик, проходящий через порт, должны быть текущими реализациями и находиться в пределах периода поддержки производителя. Они должны получать обновления безопасности и исправления ошибок, и их следует применять своевременно.
Вот некоторые распространенные порты и способы их использования.
Порт 21, протокол передачи файлов
Вредоносные программы, такие как Dark FTP, Ramen и WinCrash, использовали небезопасные порты и службы FTP.
Порт 22, безопасная оболочка
Учетные записи Secure Shell (SSH), настроенные с использованием коротких, неуникальных, повторно используемых или предсказуемых паролей, небезопасны и могут быть легко взломаны с помощью атак по словарю паролей. Было обнаружено множество уязвимостей в прошлых реализациях служб и демонов SSH, и они все еще обнаруживаются. Установка исправлений жизненно важна для обеспечения безопасности с помощью SSH.
Порт 23, Telnet
Злоумышленники могут перехватить любое соединение Telnet и легко выбрать учетные данные для аутентификации. Они могут выполнять Атаки посредника путем внедрения специально созданных вредоносных пакетов в немаскированные текстовые потоки.
Даже не прошедший проверку подлинности удаленный злоумышленник может воспользоваться уязвимостью переполнения буфера в демоне или службе Telnet и, создавая вредоносные пакеты и вставляя их в текстовый поток, выполнять процессы на удаленном сервере. Это метод, известный как Удаленное (или произвольное) выполнение кода (RCE).
Порт 80, протокол передачи гипертекста
Незащищенный веб-трафик и связанные порты уязвимы для межсайтовых сценариев и подделок, атак с переполнением буфера и Атаки с использованием SQL-инъекций.
Порт 1080, SOCKS прокси
Порт 4444, протокол управления транспортом
Интернет-чат (IRC) началось в 1988 году в Финляндии, и продолжается до сих пор. В наши дни вам понадобится чугунное экономическое обоснование, чтобы разрешить IRC-трафик в вашу организацию.
За 20 с лишним лет использования IRC было обнаружено и использовалось бесчисленное количество уязвимостей. В UnrealIRCD В 2009 году у daemon был недостаток, делавший удаленное выполнение кода тривиальным делом.
Порт 161 используется Простой протокол управления сетью который позволяет злоумышленникам запрашивать такую информацию, как оборудование инфраструктуры, имена пользователей, имена общих сетевых ресурсов и другую конфиденциальную информацию, то есть, для злоумышленника, оперативную информацию.
Порт 53, служба доменных имен
Злоумышленникам необходимо учитывать маршрут утечки, который их вредоносное ПО будет использовать для передачи данных и файлов из вашей организации на свои собственные серверы.
Порт 53 использовался в качестве предпочтительного порта эксфильтрации, поскольку трафик через Служба доменных имен редко контролируется. Злоумышленники могут легко маскировать украденные данные под трафик DNS и отправлять их на свой собственный поддельный DNS-сервер. Фальшивый DNS-сервер принял трафик и восстановил данные в исходном формате.
Памятные числа
Некоторые авторы вредоносных программ выбирают легко запоминающиеся последовательности чисел или повторяющиеся числа для использования в качестве портов. Для этого использовались порты 234, 6789, 1111, 666 и 8888. Обнаружение любого из этих странно выглядящих номеров портов, используемых в вашей сети, должно повлечь за собой более глубокое расследование.
Как защитить эти порты
Все порты должны быть закрыты, если нет задокументированного, проверенного и утвержденного экономического обоснования. Сделайте то же самое для открытых сервисов. Пароли по умолчанию необходимо изменить и заменить надежными уникальными паролями. По возможности следует использовать двухфакторную аутентификацию.
Все службы, протоколы, микропрограммы и приложения должны по-прежнему соответствовать жизненному циклу поддержки производителей, и для них должны быть доступны исправления безопасности и исправления ошибок.
Контролируйте порты, которые используются в вашей сети, и исследуйте любые странности или необъяснимые открытые порты. Поймите, как выглядит ваше обычное использование порта, чтобы можно было определить необычное поведение. Выполните сканирование портов и тесты на проникновение.
Закройте порт 23 и прекратите использование Telnet. Шутки в сторону. Просто перестань.
Порты SSH можно защитить с помощью аутентификации с открытым ключом и двухфакторной аутентификации. Также поможет настройка вашей сети на использование другого номера порта для трафика SSH.
Если вам необходимо использовать IRC, убедитесь, что он находится за брандмауэром, и потребуйте, чтобы пользователи IRC подключились к вашей сети через VPN, чтобы использовать его. Не позволяйте внешнему трафику напрямую попадать в ваш IRC.
Отслеживайте и фильтруйте DNS-трафик. Из порта 53 не должно выходить ничего, кроме подлинных DNS-запросов.
Примите стратегию глубокоэшелонированной защиты и сделайте свою защиту многоуровневой. Используйте межсетевые экраны на основе хоста и сети. Рассмотрим систему обнаружения вторжений (IDS), такую как бесплатный Snort с открытым исходным кодом.
Отключите прокси, которые вы не настраивали или которые вам больше не нужны.
Некоторые возвращаемые строки SNMP содержат учетные данные по умолчанию в виде обычного текста. Отключите это.
Читайте также: