Если вы читаете это руководство в интернете при помощи веб-браузера, то вероятно используете протокол HTTPS, работающий на порту 443.
Хотя порты упрощают задачу идентификации и обработки определенных запросов, соглашение о нумерации портов является стандартом, но не правилом. Порты могут использовать для любых задач при условии, что соединение между клиентом и сервером на указанном порту использует соответствующий протокол.
В веб-браузерах нестандартные HTTP порты могут быть указаны после двоеточия в конце IP адреса или URL с целью загрузки содержимого через этот порт. Если веб-сервер запущен на локальной машине на порту 8080, а не более общепринятом 80 порту, возможно получить доступ к этому серверу, если ввести в браузере адрес localhost:8080 или 127.0.0.1:8080. Если же ввести один из вышеуказанных адресов без суффикса «:8080» та же самая страница загружена не будет.
Хотя любой открытый порт должен позволять попытки соединения, чтобы эти попытки совершились, у клиента должен быть сетевой доступ к целевому устройству. В случае с сервером, подключенным к интернету напрямую, или при соединении через локальную сеть, сложностей обычно не возникает. Проблема появляется в тот момент, когда мы пытаемся подключиться к порту у устройства, находящегося за роутером или фаерволом.
Установка и настройка виртуальных COM портов
Большинство домашних или офисных сетей подключено к интернету через роутер, который регулирует доступ и аккумулирует трафик на одном IP адресе. Все запросы и пакеты отсылаются через роутер перед обратным возвращением ответов на соответствующие устройства, сделавшие изначальные запросы. По умолчанию роутеры не обрабатывают входящие запросы на определенных портах. Если кто-то пытается подключиться к роутеру через SSH, роутер не сможет ни обработать этот запрос, ни отправить этот запрос дальше по цепочке, поскольку не знает целевого адресата. Эту проблему как раз и решает настройка проброса портов внутри роутера.
Шаг 1. Выяснение IP адреса роутера
C:> ipconfig/all Windows IP Configuration Host Name . . . . . . . . . . . . : █████████ Primary Dns Suffix . . . . . . . : █████████ Node Type . . . . . . . . . . . . : █████████ IP Routing Enabled . . . . . . . : █████████ WINS Proxy Enabled . . . . . . . : █████████ Ethernet adapter Ethernet: Connection-specific DNS Suffix . : █████████ Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Desktop Adapter Physical Address . . . . . . . . : █████████ DHCP Enabled . . . . . . . . . . : Yes Autoconfiguration Enabled . . . . : Yes Link-local IPv6 Address . . . . . : █████████ IPv4 Address . . . . . . . . . . : █████████ Subnet Mask . . . . . . . . . . . : 255.255.255.0 Lease Obtained . . . . . . . . . : █████████ Lease Expires . . . . . . . . . . : █████████ Default Gateway . . . . . . . . . : 192.168.0.1 DHCP Server . . . . . . . . . . . : 192.168.0.1 DHCPv6 IAID . . . . . . . . . . . : █████████
Обычно у роутеров доступна административная панель по протоколу HTTP (порт 80). В большинстве случаев для доступа используется локальный IP адрес роутера (192.168.0.1 или 192.168.1.1). В Microsoft Windows подключенный роутер (или шлюз, используемый по умолчанию) легко обнаружить при помощи команды ipconfig/all.
Порты и перенаправлениеоткрытие портов. Инструкция и объяснения на пальцах!
В Линуксе та же самая задача решается при помощи утилиты netstat. Откройте терминал и введите следующую команду для выяснения IP адреса подключенного роутера.
~$ netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 enp0s25 █████████ ████████████ █████████ ███ ██████ ████████████ █████████ ████████████ █████████ ███ ██████ ████████████
В macOS используется та же самая команда:
~% netstat -rn Routing tables Internet: Destination Gateway Flags Netif Expire default 192.168.0.1 UGSc en0 █████████ █████████ █████████ ███ ████ █████████ █████████ █████████ ███ ████ █████████ █████████ █████████ ███ ████ █████████ █████████ █████████ ███ ████ █████████ █████████ █████████ ███ ████ █████████ █████████ █████████ ███ ████
Шаг 2. Доступ к конфигурационной панели роутера
После выяснения локального IP адреса роутера вы можете получить доступ к конфигурационной панели, если введете адрес в браузере, как и в случае с обычным URL (у некоторых роутеров, например, предусмотрено мобильное приложение, и задача упрощается).
Рисунок 2: Форма авторизации конфигурационной панели роутера
После загрузки панели управления необходимо выполнить авторизацию. Имя пользователя и пароль могут быть установлены производителем или интернет-провайдером или вами. Эту информацию можно найти в документации на роутер или на корпусе.
Хотя у разных роутеров панель управления может отличаться, в целом процедура настройки примерно одинаковая. После авторизации зайдите в раздел «Advanced» или найдите, где находится раздел «Port Forwarding». В нашем случае соответствующий раздел называется «Advanced Port Forwarding Rules».
Рисунок 3: Раздел с настройкой проброса портов
Шаг 3. Настройка правил проброса портов
Для демонстрации правил проброса портов рассмотрим простейший случай, когда у пользователя есть устройство Raspberry Pi, подключенное домашнему сетевому роутеру. На Pi запущена служба SSH, позволяющая залогиниться на устройстве при наличии корректного имени пользователя и пароля. Текущий IP адрес устройства Raspberry Pi — 192.168.0.105.
- Правило было названо как «RBPi SSH» с целью упрощения идентификации в будущем. В целом имя правила полностью зависит от ваших личных предпочтений и не влияет на используемые порты.
- Диапазон параметра PublicPort(иногда именуемого какSourcePort) установлен от 22 до 22 (стандартный порт протоколаSSH). Этот порт роутер сделает доступным через интернет. Через этот же порт пользователь будет подключаться к Raspberry Pi.
- Параметр PrivatePort(иногда именуемый какDestinationPort) установлен как 22, поскольку демон SSH на устройстве Pi работает на 22 порту.
- Параметр Traffic Type установлен как TCP, поскольку по протоколу SSH передается TCP трафик.
- Параметр IPAddressсоответствуетIPадресу устройства Pi в локальной сети (192.168.0.105).
- Наконец, слева от правила отмечен флажок, чтобы правило стало активным.
У вашего роутера интерфейс может отличаться, но в целом суть настроек остается неизменной.
Рисунок 4: Настройки правила проброса портов для авторизации через протокол SSH
Вышеуказанное правило означает, что пользователь может подключаться по IP адресу роутера по протоколу SSH через интернет и впоследствии будет перенаправлен на сервер устройства Raspberry Pi. Эту схему можно использовать для создания веб-сервера, работающего на 80 порту, или, например, для прикрепления сервера видеоигр к указанному порту. Учитывайте, что у некоторых провайдеров есть правила, касательно хостинга и другого контента, которые нужно учитывать перед тем, как сделать доступным сервер из локальной сети.
Шаг 4. Защита от сканирования портов и атак
Одна из проблем, возникающая во время открытия портов в интернете при помощи проброса – порты становятся доступными для сканирования. Злоумышленники в интернете могут использовать автоматизированные средства для сканирования диапазонов IP адресов или утилиты навроде Shodan для поиска потенциально уязвимых устройств с определенными активными портами. Порты протокола SSH являются основной целью, поскольку дают доступ к шеллу, при помощи которого можно украсть данные или установить вредоносное приложение.
В случае проброса портов для защиты от сканирования может оказаться полезным поменять публичный или исходный порт в настройках роутера. Вместо распространенного порта 22, на который настроены все сканеры, можно указать нестандартный порт (например, 9022).
Рисунок 5: Настройка SSH на нестандартный порт
После смены порта клиент при подключении к устройствам через SSH из интернета должен будет указать порт 9022. Попытка подключиться к порту 22 извне окажется неудачной, поскольку проброс будет идти от порта 9022, а не от порта 22.
Вы также можете использовать сервис типа Fail2ban (фреймворк для защиты от внешний вторжений), предназначенного для защиты сети от атак с использованием брутфорса, после того как злоумышленник найдет активный порт. Утилиты навроде Fail2ban ограничивают количество попыток авторизации, выполняемых из внешней сети.
Проброс портов в Линуксе на системном уровне
Проброс портов на уровне роутера может быть полезным для настройки сетей, доступных через интернет. В Линуксе ту же самую задачу можно решить на системном уровне.
Схожим образом, что и порт роутера связывается с указанным портом устройства внутри локальной сети, один порт можно связать с другим для упрощения использования. Например, при установке ханипота Cowrie демон SSH перемещается от порта 22 на порт 9022. Затем порт 2222, где работает ханипот, перенаправляется на порт 22, который будет доступен в интернете и, как следствие, с высокой степенью вероятности просканирован и атакован.
Для конфигурирования локального проброса портов в Линуксе вначале нужно выполнить следующую команду с целью установки в параметр ip_forward значения 1 (в этом случае проброс портов активируется на уровне операционной системы):
~$ echo «1» > /proc/sys/net/ipv4/ip__forward
Как только IP форвардинг включен, убедитесь, что вы знаете текущий порт сервиса, который нужно пробросить. Во время конфигурирования ханипота Cowrie эта задача решается посредством настройки демона SSH на порт 9022.
GNU nano 2.7.4 File: /etc/ssh/sshd_config Modified # $OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the # default value. Port 9022 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress ::
Наконец, для включения локального проброса портов, можно воспользоваться iptables. Команда ниже перенаправляет запросы с порта 22 на порт 2222, где эти запросы обрабатывает ханипот.
~$ sudo iptables -t nat -A PREROUTING -p tcp —dport 22 -j REDIRECT —to-port 2222
Другие сферы, где используется проброс портов
Перенаправление портов может использоваться и в других задачах. Например, порт 8080 может быть перенаправлен на порт 80 с целью облегчения доступа к тестовому серверу, или могут быть добавлены новые порты для использования определенной службой.
Проброс портов полезен для удаленного доступа, администрирования сервера, конфигурирования сети и даже во время пост-эксплуатации и пивотинга. Понимание этой технологии может быть ключом к бесчисленному множеству других проектов по безопасности.
Интересуетесь, как ХАКЕРЫ обходят системы защиты?
Подпишитесь на наш ТГ канал и хакеры будут обходить вас стороной.
Источник: www.securitylab.ru
Создание правила порта для входящего трафика
Чтобы разрешить входящий сетевой трафик только по указанному номеру порта TCP или UDP, используйте узел Защитник Windows Брандмауэр в режиме повышенной безопасности в оснастке MMC управления групповая политика, чтобы создать правила брандмауэра. Этот тип правила позволяет любой программе, прослушивающей указанный порт TCP или UDP, получать сетевой трафик, отправляемый на этот порт.
Учетные данные администратора
Для выполнения этих процедур необходимо быть участником группы администраторов домена либо иметь делегированные разрешения на изменение объектов групповой политики.
В этом разделе описывается создание стандартного правила порта для указанного протокола или номера порта TCP или UDP. Другие типы правил для входящих портов см. в следующих разделах:
- Создание правила ICMP для входящего трафика
- Создание правил для входящего трафика для поддержки RPC
Создание правила входящего порта
- Откройте консоль управления групповой политикой в узле Брандмауэр Защитника Windows в режиме повышенной безопасности.
- В области навигации щелкните Правила для входящего трафика.
- Щелкните Действие, а затем — Создать правило.
- На странице Тип правила мастера создания правила для входящего трафика нажмите кнопку Пользовательский, а затем нажмите кнопку Далее.
Примечание. Хотя вы можете создать правила, выбрав Программа или Порт, эти параметры ограничивают количество страниц, представленных мастером. Если выбрать Пользовательский, вы увидите все страницы и будете максимально гибкими при создании правил.
Примечание. Этот тип правила часто сочетается с правилом программы или службы. При объединении типов правил вы получите правило брандмауэра, которое ограничивает трафик указанным портом и разрешает трафик только при запуске указанной программы. Указанная программа не может получать сетевой трафик на других портах, а другие программы не могут получать сетевой трафик на указанном порту. Если вы решили сделать это, выполните действия, описанные в процедуре Создание входящей программы или правила службы , а также действия, описанные в этой процедуре, чтобы создать единое правило, которое фильтрует сетевой трафик с помощью условий программы и порта.
Примечание. Если этот объект групповой политики предназначен для серверных компьютеров под управлением Windows Server 2008, которые никогда не перемещаются, попробуйте изменить правила, чтобы они применялись ко всем профилям типов сетевых расположений. Это предотвращает непредвиденное изменение применяемых правил, если тип сетевого расположения изменяется из-за установки нового сетевого карта или отключения существующего сетевого карта кабеля. Отключенный сетевой карта автоматически назначается типу расположения общедоступной сети.
Источник: learn.microsoft.com
Все о портах. И как правильно открыть порты
С недавнего времени участились случаи с вопросами, когда необходимо открыть порт на своем маршрутизаторе для игры или какой либо программы. Данная статья дополнит основную статью про порты, и прояснит ситуацию.
Все уже давно используют имитаторы LAN (локальной сети), после того, как некоторые провайдеры в начале нового десятилетия, отключи всех своих абонентов от локальной сети, оставив им только подключение по каналу «Интернет».
Именно с того момента и пошла популяризация имитаторов, так как без них, с соседом невозможно было по-играть в какую-нибудь игрушку. И с того момента вопрос про «открытие портов» становился более популярным, и многие «псевдо-сис.админы» пытались выложить актуальное руководство как открыть порты на своем железе. Но не все знают что да как это сделать правильно.
Что же такое «Открытый порт» ? Да все гениальное просто — любой компьютер в сети имеет определенный идентификатор (имя, MAC-адрес, IP), так вот, по IP на роутер поступает определенный пакет, но не просто поступает по IP, а по специальному каналу (порту), через который, программа отправляет/принимает запросы из внешней сети. По стандарту, этот пакет дальше роутера не пройдет, так как по умолчанию (далее дефолту), порт по которому работает программа — закрыт, а что принять пакет, его нужно открыть.
То, что пишут в интернете — можно открыть порты, независимо от того, какое сетевое оборудование стоит — все это бред! Любой знающий сис.админ скажет — что IP делятся на два вида — «Белый» и «Серый», и только на одном можно открыть порты, что бы принимать «пакеты» из вне. Серый — это когда IP может переходить из рук-в-руки множество количество раз (он же именуется как динамический), Белый — или реальный (по другому статический) можно быть присвоен только на одного пользователя, и не будет переходить из рук-в-руки.
Именно по «Белому» IP и стоит открывать порты на своем оборудовании. Что бы получить свой «Белый» IP необходимо обратить к своему провайдеру, и после этого, он назначит IP на Вас. Данная услуга везде является платной, и в зависимости от региона может составлять от 50 рублей/месяц.
Допустим, мы купили реальный IP у своего провайдера, и теперь необходимо приступить к настройке. Разберемся с настройками на 4-х популярных моделях роутеров (ASUS/TP-Link/D-Link/Zyxel):
Настройка роутера ASUS
Открываем порты на реальном (белом) IP в роутере ASUS
Примечание: настройка производилась на оборудовании ASUS RT-N12 C1 с микропрограммой 3.0.0.4.260 (черный интерфейс)
- Подключаемся к своему роутеру через браузер (192.168.1.1), с логином и паролем (admin/admin). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
- В левом меню выбираем «Интернет» (или WAN) ->Переадресация портов (или Virtual Server/Port Forwarding)
- Включаем данную опцию, поставив галочку напротив «Включить переадресацию портов: Да».
- Выбираем из готовых шаблонов заданные порты, или вписываем свои:
- Имя службы — можно быть любое
- Диапазон портов — можно ввести как один порт (например 80) так и диапазон (27000:27099)
- Локальный IP
- Конечный порт — так же как и в «Диапазон» нужно вводить в зависимости от того, что сначала ввели — один или диапазон.
- Протокол — TCP/UDP/BOTH /OTHER — выбрать один (TCP/UDP порты выбирают)
- После ввода данных нажимаем на плюсик (слева от формы заполнения).
- А после ввода данных, нажимаем «Сохранить».
Настройка роутера D-Link
Открываем порты на реальном (белом) IP в роутере D-link
- Подключаемся к своему роутеру через браузер (192.168.0.1. или в некоторых 192.168.1.1), с логином и паролем (admin/admin). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
- В левом меню выбираем Межсетевой экран/Виртуальные серверы.
- Выбираем из готовых шаблонов , или вписываем свои (выбрав пункт «Costom»):
- Имя службы — можно быть любое
- Протокол — выбираем нужный протокол.
- Внешний порт (начальный)
- Внутренний порт (начальный)
- Внутренний IP
- После ввода данных можно нажать «Применить», а после через «Система» — выбрать пункт «Перезагрузка», и только после этого порты должны открыться.
Настройка роутера TP-Link
Открываем порты на реальном (белом) IP в роутере TP-Link
- Подключаемся к своему роутеру через браузер (192.168.0.1/192.168.1.1), с логином и паролем (admin/admin). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
- В левом меню выбираем Переадресация (Forwarding) ->Виртуальные сервера (Virtual Server).
- После открытия раздела «Виртуальные серверы» перед вами должна появиться страница со списком открытых портов. Для того чтобы открыть нужный вам порт здесь нужно нажать на кнопку «Добавить новый» и заполняем форму:
- Порт сервиса – внешний порт. Здесь нужно ввести порт (или диапазон портов через знак дефиз, например, 10100-10200)
- Внутренний порт – внутренний порт, который будет использоваться программами на вашем компьютере.
- IP адрес
- Протокол
- Состояние (Status) – статус порта.
- После ввода данных можно нажать «Сохранить» (Save).
Настройка роутера ZyXEL
Открываем порты на реальном (белом) IP в роутере ZyXEL
- Подключаемся к своему роутеру через браузер (192.168.0.1/192.168.1.1), с логином и паролем (admin/admin или admin/1234). Узнать об этом можно на обратной стороне роутера или в инструкции к нему.
- В левом меню выбираем «Безопасность» (в виде щита) ->Трансляция сетевых адресов (NAT).
- После открытия раздела «Трансляция сетевых адресов (NAT)» нажимаем на кнопку «Добавить» и добавляем по шаблону:
- Интерфейс – выбираем необходимый интерфейс.
Внимание! Необходимо правильно указать значение поля Интерфейс. В зависимости от того, использует ли ваш провайдер авторизацию (PPPoE, L2TP или PPTP), значение этого поля может быть различным. Если авторизация у провайдера не используется, следует всегда выбирать интерфейс Broadband connection (ISP). Если провайдер использует PPPoE для доступа в Интернет, то следует выбирать соответствующий интерфейс PPPoE.
Если вам предоставляется одновременный доступ в локальную сеть провайдера и Интернет (Link Duo), для проброса порта из локальной сети нужно выбирать интерфейс Broadband connection (ISP), а для проброса порта из Интернета — интерфейс туннеля (PPPoE, PPTP или L2TP). - Протокол – можно указать протокол из списка предустановленных, который будет использован при пробросе порта (в нашем примере используется TCP/21 – Передача файлов FTP). При выборе в поле Протокол значения TCP или UDP вы можете в полях
- Порты TCP/UDP — указать номер порта или диапазон портов.
- Перенаправить на адрес — указываем локальный IP адрес компьютера.
- После ввода данных можно нажать «Сохранить».
Подводя итоги можно сделать такой вывод — что для проброса портов и сохранения своих нервных клеток, лучше сразу купить у своего провайдера статический (белый) IP, так как на сером — проброс портов не удастся сделать. Если все удалось сделать, то видимость портов можно проверить на этом сервисе, или на этом. Из эксперимента с роутерами, мне удалось правильно все сделать только на трех из четырех маршрутизаторах (кроме Zyxel).
Источник: coop-land.ru