Перейти к содержимому

Зачем нужно открывать порты

  • автор:

Коварный роутер или почему порты надо открывать


В статье небольшая история о том как желание упростить приложение для конечного пользователя, вышло весьма трудоемким процессом.

Речь об «автоматической» пробросе порта, через технологию UPnP, без использования «стандартной» библиотеки NATUPnPLib.

О том, в силу чего был выбран такой непростой путь и почему он все-таки непростой — читайте ниже.

Пролог

Работая над своим проектом (игровой проект), я четко осознавал, что рано или поздно придется подойти в плотную к вопросу сервера и связки с оным. Стоит отметить, что он был в планах. Но я помнил свой опыт работы с выделенным сервером, для того же minecraft’a, был готов к тому что меня ждет определенная «боль», в особенности, если я попытаюсь продвинуть свой продукт в массы.

  1. Пользователь должен делать минимум движений для запуска сервера и начала игры.
  2. Решение должно работать «из коробки» на любой машине под Windows (поддержка Unix систем пока что не в планах).
  1. Проброс порта должен происходить без вмешательства человека.
  2. Решение будет написано на C# в двух архитектрурах x64 и x32 (приоритет на x64, в связи с тем, что вероятно потребуется «много» памяти).

Иллюзия решения

Определившись с языком, первым же делом отправился в гугл, узнать если ли уже готовые решения. И действительно, было сразу же найдено «решение», предлагалось использовать библиотеку NATUPnPLib, и сразу же пример ее использования:

Возрадовавшись сему, я поспешил опробовать полученную «зверюшку». В конечном итоге на одной машине мне удалось, получить желаемый результат. Однако, когда я уже совсем возрадовался, я решил «чуток потестировать» (вообще как показывает практика, это полезное действие), и запустил скомпиленый код на соседней машине (в одной локалке, с одним роутером «во главе») и тут меня ждало первое разочарование.

Увы, upnpnat.StaticPortMappingCollection — возвращал null, что бы я не делал. Вместе с этим пришел «отчет» от другого человека, которого я так же попросил протестировать, его ответ был так же грустен, у него данная библиотека вообще не разрешалась (вероятно была не зарегистрирована в системе, по какой-то причине или запрещена, или еще как, но суть в том что она не подхватывалась).

«Отсутствие результата, тоже результат» — так гласит одна хитрая мудрость. Печальный результат, дал мне понимание, что если я оставлю эту библиотеку, то подобные же ошибки будут у конечного потребителя, а значит мне придется готовится принимать поток «добра». Что мне, почему-то совсем не хотелось.

Поиск пути

В расстроенных чувствах пошел гуглить замену NATUPnPLib. Но как оказалось, почти все готовые решения были по сути обертками над этой библиотекой. Ради эксперимента они были попробованы, но поскольку в основе NATUPnPLib, то все заканчивалось как и ранее.

Это сильно огорчало. Однако глядя на такие продукты как например uTorrent, и видя что он успешно пробрасывает порт, я решил пойти научным хитрым путем. Идея проста как котик. Я знаю, что от машины до роутера передается некая команда или часть, в которой должно быть как-то сказано, что роутер должен сделать. Оставалось дело за малым, «посмотреть в лицо» этой команде или набору команд.

Первой же ссылкой в гугле, на запрос о сетевом сниффере был Wireshark. Дальше начав гуглить, что он умеет попалась вот эта статья от товарища sinist3r за что ему большое спасибо. В статье в достаточной степени описано, как и что делать, потому подробно на этом останавливаться не стану.

Анализ сетевого трафика

  • Кучу сетевой информации
  • Знаем ip адрес машины, с которой отправляем
  • Знаем ip адрес других машин

Смотрим на полученный список и видим какую-то интересную вещь, а именно мультикаст группа и протокол SSDP, и на нее посылается такое сообщение:

Радостно потираю лапки, как муха, из буквально маленькой статьи на Википедии, узнаю, что используется протокол UDP, посылается сообщение обнаружение, которое было приведено в скрине выше. И все говорит, о том что я иду правильным путем.

От теории к практике

Имея под рукой запрос, протокол по которому обращаемся и адрес, я решил попробовать сделать небольшую консольную программку, для того что бы протестеровать, как оно будет, и будет ли вообще, работать.

Итак, такой запрос надо отправить в мультикаст группу, на порт 1900. Роутер услышав запрос, ответит, машине с которой пришел запрос, с неким ответом.

Подробнее, что есть что, можно посмотреть тут.

Пишем примерно такой код:

Почему использую такую конструкцию:

А не IPAddress.Any, в следствии вот этого ответа

Теперь не много о функции GetLocalAdress. Обычно, предлагают использовать такой или подобный код

Однако, если у вас на машине стоит VirtualBox или скажем Tunngle, или что-то подобное, что ставит свой адаптер, то в таком случае, указанный выше код, вернет адрес этого самого адаптера. Что «не есть хорошо», и потому надо либо как-то по названиям пытаться обрезать «левые» адреса, либо как предлагаю я:

Конец уж близок

Итак, почти все у нас есть. Можно перейти к финальной стадии, а именно, попробовать на практике пробросить порт и его закрыть.

Опущу моменты как я в Wireshark’e, наблюдал какие команды ходят и куда, ранее достаточно подробно писал, дальнейший поиск достаточно прост, учитывая, что все общение с роутером уже идет через HTTP.

Получив на предыдущей стадии, путь для запроса информации о роутере, сделаем это. Сразу оговорюсь, при HTTP запросах, обязательно указывать UserAgent = «Microsoft-Windows/6.1 UpnP/1.0»; (естесвенно учитывая реальную версию Windows).

В моем случае GET-запрос, надо послать по этому адресу:

В полученном, огромном ответе, (да-да, вот в этой огромной простыне текста), нас интересует тег controlURL, у которого serviceType равен urn:schemas-upnp-org:service:WANIPConnection:1.

В моем случае получено значение «/ctl/IPConn». Дописываем его к адресу роутера, в итоге получаем такое:

  • NewRemoteHost //оставляем пустым
  • NewExternalPort //внешний порт
  • NewProtocol //протокол (TCP/UDP)
  • NewInternalPort //внутренний порт
  • NewInternalClient //ip «на который» открываем
  • NewEnabled //включен или выключен
  • NewPortMappingDescription //описание
  • NewLeaseDuration //продолжительность жизни, 0 — навсегда

Аналогично, но проще делается для удаления порта, там всего два важных параметра — это протокол и порт, подчеркну, внешний порт.

Заключение

Вот так вот, простое желание сделать для пользователя «проще», вылилось в целую эпопею и статью. Надеюсь, статья кому-либо поможет избежать тех определенных трудностей, с которыми я столкнулся.

Всем спасибо, кто прочитал, если имеются какие-то дополнения, пишите, дополню статью.

Как правильно открыть порты на роутере

Проброс портов на роутере

Проброс портов является важной функцией, которая позволяет получить доступ к локальному устройству или серверу из внешней сети. Некоторые интернет-сервисы, в частности торрент-клиенты, онлайн-игры, приложения для удалённого доступа требуют открытия дополнительных портов. Давайте рассмотрим, как пробросить порты самостоятельно и какие проблемы при этом могут возникнуть.

Что такое проброс портов

В компьютерных сетях портом называют числовой идентификатор от 0 до 65 535, указываемый при запросе на соединение. Стандартные номера портов назначаются серверным службам Центром управления номерами интернета (IANA). Например, веб-серверы обычно используют порт 80, FTP-серверы — порты 20 и 21, SMTP-серверы — порт 25 и 110. Перечень общеизвестных и зарегистрированных организацией IANA портов, а также их краткое описание можно посмотреть на сайте «Википедия» по адресу https://ru.wikipedia.org/wiki/Список_портов_TCP_и_UDP.

Таблица портов TCP и UDP на сайте «Википедия»

Белым цветом в таблице выделены порты, зарегистрированные IANA, синим — незарегистрированные, а жёлтым — конфликтные порты, имеющие несколько применений наряду с зарегистрированным

Использование портов позволяет компьютерам, ноутбукам, смартфонам одновременно запускать несколько служб/приложений. А переадресация портов сообщает маршрутизатору, на какое устройство внутри сети должны быть направлены входящие соединения и с каким именно приложением на этом устройстве нужно связаться для обмена пакетами данных.

Зачем нужно открывать порты на роутере?

Функция переадресации портов довольно часто используется как в домашних сетях, так и в корпоративных. Варианты использования перенаправления портов могут быть следующими:

  • доступ к камерам видеонаблюдения, когда вы находитесь вдали от дома;
  • настройка сервера RDP для удалённого доступа к компьютеру из внешней сети;
  • обеспечение дополнительного уровня безопасности сети за счёт скрытия IP-адреса;
  • ускорение загрузки файлов с торрентов и файлообменников;
  • подключение к почтовой службе или FTP-серверу;
  • посещение веб-сайтов с регионально ограниченным доступом;
  • создание виртуального сервера для тестирования сайта на домашнем ПК;
  • настройка IP-телефонии;
  • подключение к игровым серверам с многопользовательскими видеоиграми, например, Counter Strike или Minecraft.

Схема использования разных портов локальными устройствами

На роутере можно настроить проброс портов для всех устройств локальной сети, присвоив им разные IP-адреса

Переадресация портов

Для открытия портов на роутере не нужно быть опытным администратором — с этой процедурой справится любой пользователь. Главное, следовать пошаговой инструкции, состоящей из двух основных этапов: присвоения статического IP-адреса пользовательскому компьютеру в настройках ОС Windows и перенаправления портов в админ-панели маршрутизатора.

Предварительные настройки «Виндовс»

Перед пробросом портов нужно для устройств локальной сети выделить диапазон внутренних IP-адресов, после чего закрепить по одному адресу за каждым ПК. Сделать это можно в настройках компьютера либо в панели администрирования роутера (раздел DHCP). Первый способ является более надёжным, так как статический адрес прописывается в настройках сетевой карты и без вашего вмешательства ничто и никто его не изменит. Для запуска данного процесса нужно включить ПК и произвести несколько действий:

    Перейти в раздел «Сетевые подключения», воспользовавшись системной утилитой «Выполнить» (вызывается сочетанием клавиш Win + R в любой версии Windows). В появившемся окошке ввести команду ncpa.cpl и нажать кнопку «ОК» или клавишу «ENTER».

Окно утилиты «Выполнить» на устройстве с ОС Windows

Для быстрого перехода к разделу с сетевыми подключениями можно использовать системную программу «Выполнить»

Скриншот раздела «Сетевые подключения» с контекстным меню

При клике ПКМ по активному подключению появится контекстное меню

Окно раздела «Свойства подключения»

В «Свойствах подключения» первым делом нужно убедиться в том, что пункт «IP версии 4 (TCP/IPv4)» включён, после чего перейти к настройке протокола

  • «IP-адрес» — сюда вписать адрес из диапазона внутренней локальной сети, например, любое значение от 192.168.0.2 до 192.168.0.200 (единственное условие — он должен отличаться от адреса роутера),
  • «Маска подсети» — в домашних сетях чаще всего этот параметр имеет значение 255.255.255.0,
  • «Основной шлюз», в роли которого выступает IP-адрес роутера (по умолчанию 192.168.0.1 или 192.168.1.1),
  • «Предпочитаемый DNS-сервер» — здесь чаще всего указывают DNS-адреса провайдера или альтернативного источника, например, публичного сервиса Google Public DNS (8.8.8.8 и 8.8.4.4.).

Скриншот окна «Свойства IP версии 4 (TCP/IPv4)» в ОС Windows

В окне настроек протокола можно задать статичный IP-адрес компьютеру и DNS-серверу

Проброс портов в веб-интерфейсе маршрутизатора

После того как для компьютера зафиксирован статичный IP-адрес, можно переходить к настройке роутера (на примере TP-Link). Для этого нужно выполнить следующие действия:

    Войти в админ-панель маршрутизатора, введя в браузерной строке адрес устройства (для большинства роутеров по умолчанию используется 192.168.0.1 или 192.168.1.1).

Окно авторизации для входа в веб-интерфейс роутера TP-Link

По умолчанию для входа в веб-интерфейс большинства роутеова используются одинаковые логин и пароль — admin

Добавление нового порта в админ-панели маршрутизатора TP-Link

Чтобы открыть новый порт, нужно воспользоваться кнопкой «Добавить» в разделе «Виртуальные серверы»

Окно настроек переадесации порта

В настройках виртуального сервера обязательно нужно указать номер внешнего порта и статичный IP-адрес компьютера или другого сетевого устройства

При необходимости проброса стандартных портов в роутере имеются предустановленные настройки. Достаточно выбрать в выпадающем списке «Стандартный порт сервиса» нужную службу (DNS, FTP, HTTP, POP3, SMTP, TELNET), как все поля заполнятся автоматически.

Скриншот со списком стандартных портов сервиса

Для облегчения процесса настройки стандартных портов предусмотрено соответствующее поле с перечнем общеизвестных портов

Возможные проблемы при пробросе портов и их решение

Иногда при проверке работоспособности добавленных портов пользователь попадает из интернета в панель администрирования роутера, а не на нужный сервис или приложение на компьютере. Почему так происходит? Причин может быть несколько:

  • блокировка внешнего соединения брандмауэрами и антивирусными программами. Решается данная проблема отключением этих служб либо их тонкой настройкой, во время которой добавляются исключения на подсоединение к нужным портам;
  • у компьютера нет постоянного адреса. В таком случае при старте или перезагрузке роутера IP-адрес ПК изменится, и открытый порт перестанет работать, поскольку изначально был привязан к другому адресу. Решение — присвоить компьютеру (ноутбуку, планшету) неизменяемый IP-адрес;
  • политика провайдера. Не редки случаи, когда интернет-провайдер запрещает обладателям «серых» (внутренних) IP-адресов использовать некоторые порты, например, торрент-трекеров. Выход из данной ситуации — приобретение статичного «белого» адреса;
  • изменение порта самим приложением или сервисом. Иногда программы-клиенты самостоятельно меняют порт при каждом запуске. Избежать этого можно, если прописать порт в настройках софта и запретить опцию «Случайный выбор порта».

Окно настроек программы uTorrent

В настройках программы uTorrent (раздел «Соединение») можно указать порт входящих соединений и запретить выбор случайного порта при запуске

Как закрыть порты

Очень часто при использовании пользователем различных веб-серверов и сервисов удалённого доступа может возникнуть необходимость закрыть тот или иной порт. Осуществить эту процедуру можно в админ-панели маршрутизатора. Удаление портов производится в той же вкладке, где настраивался их проброс («Переадресация» → «Виртуальные серверы»). В списке открытых портов напротив каждого из них есть две ссылки «Изменить» и «Удалить». Нажав на вторую, произойдёт закрытие (удаление) порта и он перестанет отображаться в панели управления.

Скриншот вкладки «Виртуальные серверы» со ссылками на редактирование и удаление открытых портов

Для редактирования и удаления открытых портов во вкладке «Виртуальные серверы» есть соответствующие ссылки

Настройка перенаправления портов в веб-интерфейсе роутера не требует определённых знаний. Пользуясь вышеизложенной инструкцией на примере маршрутизатора TP-Link, любой пользователь при необходимости сможет открыть доступ к устройствам локальной сети из интернета. Алгоритм проброса портов в роутерах других производителей может несколько отличаться, но главные этапы настройки будут одинаковы.

Риски открытия портов маршрутизатора для игры в онлайн и как этого избежать

В некоторых случаях для правильной работы программы или игры требуется, чтобы на маршрутизаторе были открыты определенные порты, чтобы они были доступны из Интернета. Однако по возможности рекомендуется держать порты закрытыми. Киберпреступники сканируют порты на предмет уязвимостей и способов проведения атак. Случается так, что иногда, чтобы использовать программу или играть в сети, нам нужно открыть порты. Здесь мы объясним, насколько опасно открывать порты маршрутизатора для игры в сети, а также, в случае, если мы должны это сделать, как мы должны это делать.

Когда мы говорим о транспортном уровне модели TCP / IP, мы должны иметь в виду два типа протоколов: TCP и UDP. Оба могут использоваться при открытии портов.

Риски открытия портов на маршрутизаторе для игры в онлайн

Как открывать порты и зачем их открывать?

Первое, что нам нужно сделать, чтобы открыть порты маршрутизатора для игры, или что нам нужно, это узнать IP-адрес нашего маршрутизатора. Мы сделаем это с помощью окна командной строки, набрав эту команду:

Затем появится экран, на котором Шлюз по умолчанию это IP нашего роутера.

Please enable JavaScript

Затем мы записываем его в интернет-браузере и вводим свой логин и пароль для входа в конфигурацию роутера. Затем мы ищем раздел, который обычно называется NAT, виртуальный сервер или перенаправление портов.

Следующим шагом будет указать порт, который мы хотим использовать, и протокол, который он использует, TCP или UDP, о которых мы говорили ранее. Также следует добавить локальный IP-адрес оборудования. Если вам нужны более подробные сведения, вы объяснили, как открыть порты TCP / UDP любого роутера .

  • Пользователи консольных игр, которые жалуются, что у них строгий NAT, что мешает им играть хорошо из-за одного или нескольких портов.
  • Использование программ P2P, таких как Torrent или Emule.
  • Чтобы использовать дома FTP, SSH или VPN-сервер, необходимо получить к ним доступ из Интернета.

Опасно ли открывать порты роутера для игры?

Что касается открытия неиспользуемого порта, это может быть опасно, тем более что в любой момент уязвимая служба может прослушивать этот порт, поэтому мы будем разоблачены. Это не так просто, как открыть первый порт, который приходит в голову. Еще одно важное соображение — мы должны открывать как можно меньше портов. В поисковых системах, таких как Shodan, вы можете видеть открытые порты различных служб, и он даже может сказать нам, есть ли служба, работающая за этим портом.

латенсия пара югар

В этом смысле, открывая порты маршрутизатора для игр или программ, мы должны убедиться, что диапазон как можно меньше. Чем меньше возможностей атаковать мы даем киберпреступникам, тем в большей безопасности мы будем.

Также следует отметить, что есть некоторые критические порты, которые мы не должны использовать, если мы не собираемся использовать эту службу. Все порты, которые мы помещаем ниже, являются общими для разных протоколов, в целях безопасности рекомендуется изменить их как можно скорее и не использовать порты по умолчанию.

  • Порт 21 используется протоколом FTP и для создания серверов этого типа.
  • Порт 22, используемый протоколом SSH для удаленного управления компьютерами.
  • Порт 23, используемый протоколом Telnet для удаленного доступа.
  • Порты 80 и 443, которые следует закрыть, если у нас нет веб-сервера.

Вот еще опасные порты TCP и UDP и как мы можем защитить себя. Эти порты, которые мы вам показали, являются самыми простыми и первыми, которые проверяет киберпреступник. Поэтому, если мы заблокируем все, кроме тех, которые используются и нужны нам, у нас будет очень защищенная система. Помните, что если у нас есть открытый порт, это может быть первым шагом к вторжению.

Проверить открытые порты онлайн

Еще один важный момент обзор — это программное обеспечение, которое мы установили . В этом смысле, операционная система без последних обновлений делает нас более уязвимыми . Беспокоит тот факт, что многие люди до сих пор используют Windows 7 и XP, хотя они давно не поддерживаются. Еще один важный фактор — это наш маршрутизатор , который должен иметь обновленная прошивка . Кроме того, старый маршрутизатор, который не обновлялся в течение многих лет, также может оставить нас незащищенными.

Первое, что нам нужно, прежде чем начать проверку портов, — это узнать наш общедоступный IP-адрес. Для этого воспользуемся сайтом что-эс-ми-ip.net и нажав на ссылку, мы сможем узнать наш IP.

Далее пора проверить открытые порты на вашем роутере. Для этого воспользуемся сайтом теста скорости. Там у них естьтест порта чтобы быстро и легко проверить это онлайн.

После загрузки сети мы помещаем наш общедоступный IP-адрес и устанавливаем порт или порты, которые хотим проверить. Этот инструмент позволяет вам проверять диапазоны портов, а также порты, разделенные запятыми. Наконец, вот мои результаты, в которых вы можете видеть, что порты 21, 22 и 23, о которых мы говорили ранее, закрыты, что является хорошей новостью.

Как вы видели, открытие портов на маршрутизаторе несет в себе угрозу безопасности, если за нами стоит уязвимая служба или если мы открываем неиспользуемый порт, потому что в будущем приложение может использовать его и быть уязвимым. В мире кибербезопасности первое, что пентестеры будут тестировать и проверять, — это открытые порты на определенной цели, чтобы попытаться использовать уязвимость в сервисах, стоящих за ней.

зачем нужно открывать порты

Сетевые порты компьютера и их назначение, как открыть порт или закрыть?

Когда пакет достигает цели, протокол транспортного уровня (в нашем случае TCP/IP), принимает дейтаграмму, считывает номер порта из соответствующего поля и передает эту информацию программе (или протоколу), которая начинает работу с полученными данными.

Всем основным приложениям в Интернет присвоены определенные номера портов, которые называют «хорошо известными портами». Например, стандартный порт WEB — сервера идет под номером 80, прокси-сервер может иметь номер 8080, FTP сервер работает с портом 21 или 20.

зачем нужно открывать порты

Кратко перечислю хорошо известные номера портов в разрезе сервисов:

Когда трафик перенаправляется другой системе, TCP/IP использует комбинацию IP адреса и определенного порта. Такая связка называется «Сокет». К примеру, из Интернета или локальной сети можно получить доступ к папке фтп-сервера, указав через двоеточие IP- адрес и порт: 192.168.0.3:21.

Хорошо известные номера портов не являются чем-то жестко регламентируемым. Их можно менять своему усмотрению. В этом случае в настройках программы прописывается нужный порт, а при обращении к нему через браузер его так же нужно указывать в адресной строке. Это необходимо делать для проверки на открытость или закрытость того или иного порта.

Что такое динамические порты FTP

Поскольку обычно запросы идут на сервер от клиента (а не наоборот), то хорошо известные номера портов актуальны для серверов. Они «слушают» через порты своих клиентов, которым эти номера не нужны. На время связи программа- клиент (или операционная система) использует свой временный номер порта, или некий диапазон номеров. IANA задает номера от 1 до 1023. А временные номера начинаются с 1024 и выше. Программа FTP- клиент работает таким же образом — у нее указан свой временный диапазон, по которому она пытается «достучаться» до нужного сервера.

Когда мы настраиваем FTP — сервер, мы прописываем 21 порт для передачи данных. Но, программа, которая непосредственно руководит сервером, должна не только передавать данные, а еще давать доступ к данным пользователями этого сервера. С помощью такого же диапазона временных (или динамических) портов. Через эти порты она «слушает»пользователей ФТП сервера и устанавливает соединения. Диапазон динамических портов FTP задается при настройке соответствующей программы:

зачем нужно открывать порты

В Windows Server 2012-2016 можно задать произвольный диапазон портов прямо в операционной системе, не пользуясь сторонними программами. Диапазон номеров задается от 1024 до 65535, это ограничение транспортного протокола.

Как проверить порты на роутере

Здесь речь идет о возможности доступа к вашему компьютеру из Интернет. К примеру, у вас дома есть сеть из нескольких компьютеров. Внутри сети доступ к ним существует. А из интернета доступа к ним нет, хотя интернет у вас дома есть. Некоторые «поднимают» у себя дома игровой сервер, чтобы с друзьями играть по сети. В этом случае нужен доступ к серверу из Интернет, что и осуществляется форвардингом портов.

Открытые порты могут угрожать безопасности компьютера. Если вашему компьютеру присвоен внешний IP адрес, то такая проверка актуальна для Вас. Проверить можно с помощью многочисленных онлайн сервисов. Вводите свой внешний IP и готово:

зачем нужно открывать порты

Нормальной (с точки зрения безопасности) ситуацией считается когда все порты на роутере закрыты. Если адрес присвоен роутеру, то проверять нужно каждый компьютер. На роутере по умолчанию обычно включен файрвол и защита от dos-атак и тогда проверка вам ничего не покажет. В этом случае вам нужно зайти на свой роутер и посмотреть список открытых портов в разделе «Виртуальный сервер» или «Переадресация»:

зачем нужно открывать порты

У меня для фтп включено вот такое правило. Подробнее, как открывать порты на маршрутизаторе я рассказываю тут.

Как проверить открыт порт на компьютере Win 10, или нет

Даже если порт открыт на маршрутизаторе, его можно закрыть на целевом компьютере. И тогда доступа через эту лазейку через интернет не будет. Различные вирусы так же используют в своей работе порты. Если вы видите некий открытый порт у себя, нужно найти программу, которая его использует. Если не находите — тогда нужно проводить антивирусную проверку. Я пользуюсь отечественными бесплатными утилитами — касперский и доктор веб.

Получаем список открытых портов на компьютере сети

Для того, чтобы получить список портов, нужно сначала запустить командную строку (обязательно от имени администратора) :

зачем нужно открывать порты

зачем нужно открывать порты

Будет выведен список сокетов, а так же приложений, которые идентифицированы с ними в данный момент. Можно увидеть и адреса внешних ресурсов, которые обмениваются данными с портами:

зачем нужно открывать порты

Порты компьютера и файрвол

Файрвол (или брандмауэер) это фильтр, который закрывает порты кроме хорошо известных, и тех которые используются установленными программами. Впрочем, и эти порты можно легко закрывать и снова открывать вручную. Данное программное обеспечение идет в составе операционных систем. Дополнительно его можно активировать в антивирусной программе, а так же на роутере.

Каждая из них на своем уровне отсеивает ненужные запросы, в результате чего обмена данными по этим портам не происходит. Безопасность системы в целом становится надежнее. В Windows брандмауэр можно найти в «Панели управления».

зачем нужно открывать порты

Если при входе файрвол у вас выглядит так как у меня — он отключен. Если что-то не работает (например, никак не настроить FTP) то можно отключить его, чтобы убедится что это именно брандамауэр блокирует ваши соединения.

зачем нужно открывать порты

Включить брандмауэр можно нажатием на одноименную ссылку в левой части окна. При этом не делайте максимальной блокировки портов:

зачем нужно открывать порты

У антивирусов свой файрвол, можно использовать и его. Но, это по началу может доставить неудобства, потому что программу надо обучать. При каждом соединении она будет спрашивать у вас разрешения на соединения и прописывать правила. Так как порты временные тоже будут, то процесс обучения растягивается надолго. Поэтому учится открывать порты мы будем на классическом виндовом брандмауэре.

Как открыть порты в брандмауэре Windows 10(49, 50, 4955, 25655)

Чтобы снять фильтры со всех портов — отключаем файрвол насовсем. Если нужна тонкая настройка — тогда будем настраивать каждый порт опционально. Заходим далее в «Дополнительные параметры»:

зачем нужно открывать порты

Затем нам нужно будет настроить правила для входящих и исходящих подключений. Все наглядно — зеленый цвет «разрешено», красный цвет — «запрещено».

зачем нужно открывать порты

Чтобы создать правило — нажимаем правой кнопкой мыши на «входящих подключениях» и создаем нужное нам. Обратите внимание — если у вас есть программа, использующая временные динамические порты — можно указать ее, а не номер порта. Для асов предусмотрены настраиваемые правила — можно настроить фильтр в сочетании со службами и программами. зачем нужно открывать порты

Мы будем настраивать порт, поэтому выбираем «Для порта» и жмем «Далее».

зачем нужно открывать порты

Выбираем протокол TCP (в случае необходимости можно аналогичные настройки сделать и на UDP протокол).Через запятую указываем нужные порты. Можно через дефис указать диапазон портов, если в этом есть нужда. Далее, переходим к настройкам безопасности подключения.

зачем нужно открывать порты

Безопасное подключение требует проверки подлинности и выбирается, только если используется защищенное соединение. Поэтому выбираем верхний пункт. Далее, мы выбираем все доступные типы сетей на нашем компьютере:

зачем нужно открывать порты

Не забываем указать имя нашего правила, чтобы потом было легко его найти. На этом настройка брандмауэра для входящих подключений завершена.

зачем нужно открывать порты

В списке правил мы теперь видим наше, и в случае необходимости можно его отключить или удалить. Порты закроются.

зачем нужно открывать порты

Для полноценного обмена данными следует сделать такие же настройки правил для исходящих подключений. Если вы планируете через эти порты настроить доступ из интернета — нужно пробросить эти порты на роутере. А на сегодня информации достаточно, удачи!

Риски открытия портов маршрутизатора для игры в онлайн и как этого избежать

В некоторых случаях для правильной работы программы или игры требуется, чтобы на маршрутизаторе были открыты определенные порты, чтобы они были доступны из Интернета. Однако по возможности рекомендуется держать порты закрытыми. Киберпреступники сканируют порты на предмет уязвимостей и способов проведения атак. Случается так, что иногда, чтобы использовать программу или играть в сети, нам нужно открыть порты. Здесь мы объясним, насколько опасно открывать порты маршрутизатора для игры в сети, а также, в случае, если мы должны это сделать, как мы должны это делать.

Когда мы говорим о транспортном уровне модели TCP / IP, мы должны иметь в виду два типа протоколов: TCP и UDP. Оба могут использоваться при открытии портов.

Как открывать порты и зачем их открывать?

Первое, что нам нужно сделать, чтобы открыть порты маршрутизатора для игры, или что нам нужно, это узнать IP-адрес нашего маршрутизатора. Мы сделаем это с помощью окна командной строки, набрав эту команду:

Затем появится экран, на котором Шлюз по умолчанию это IP нашего роутера.

зачем нужно открывать порты

Затем мы записываем его в интернет-браузере и вводим свой логин и пароль для входа в конфигурацию роутера. Затем мы ищем раздел, который обычно называется NAT, виртуальный сервер или перенаправление портов.

зачем нужно открывать порты

Опасно ли открывать порты роутера для игры?

зачем нужно открывать порты

В этом смысле, открывая порты маршрутизатора для игр или программ, мы должны убедиться, что диапазон как можно меньше. Чем меньше возможностей атаковать мы даем киберпреступникам, тем в большей безопасности мы будем.

Вот еще опасные порты TCP и UDP и как мы можем защитить себя. Эти порты, которые мы вам показали, являются самыми простыми и первыми, которые проверяет киберпреступник. Поэтому, если мы заблокируем все, кроме тех, которые используются и нужны нам, у нас будет очень защищенная система. Помните, что если у нас есть открытый порт, это может быть первым шагом к вторжению.

Проверить открытые порты онлайн

Далее пора проверить открытые порты на вашем роутере. Для этого воспользуемся сайтом теста скорости. Там у них естьтест порта чтобы быстро и легко проверить это онлайн.

После загрузки сети мы помещаем наш общедоступный IP-адрес и устанавливаем порт или порты, которые хотим проверить. Этот инструмент позволяет вам проверять диапазоны портов, а также порты, разделенные запятыми. Наконец, вот мои результаты, в которых вы можете видеть, что порты 21, 22 и 23, о которых мы говорили ранее, закрыты, что является хорошей новостью.

зачем нужно открывать порты

Все о портах. И как правильно открыть порты

С недавнего времени участились случаи с вопросами, когда необходимо открыть порт на своем маршрутизаторе для игры или какой либо программы. Данная статья дополнит основную статью про порты, и прояснит ситуацию.

зачем нужно открывать порты

Все уже давно используют имитаторы LAN (локальной сети), после того, как некоторые провайдеры в начале нового десятилетия, отключи всех своих абонентов от локальной сети, оставив им только подключение по каналу «Интернет».

Именно с того момента и пошла популяризация имитаторов, так как без них, с соседом невозможно было по-играть в какую-нибудь игрушку. И с того момента вопрос про «открытие портов» становился более популярным, и многие «псевдо-сис.админы» пытались выложить актуальное руководство как открыть порты на своем железе. Но не все знают что да как это сделать правильно.

зачем нужно открывать порты

Именно по «Белому» IP и стоит открывать порты на своем оборудовании. Что бы получить свой «Белый» IP необходимо обратить к своему провайдеру, и после этого, он назначит IP на Вас. Данная услуга везде является платной, и в зависимости от региона может составлять от 50 рублей/месяц.

Допустим, мы купили реальный IP у своего провайдера, и теперь необходимо приступить к настройке. Разберемся с настройками на 4-х популярных моделях роутеров (ASUS/TP-Link/D-Link/Zyxel):

Примечание: настройка производилась на оборудовании ASUS RT-N12 C1 с микропрограммой 3.0.0.4.260 (черный интерфейс)

зачем нужно открывать порты

Не открывайте порты в мир — вас поломают (риски)

зачем нужно открывать порты

Снова и снова, после проведения аудита, на мои рекомендации спрятать порты за white-list’ом встречаюсь со стеной непонимания. Даже очень крутые админы/DevOps’ы спрашивают: «Зачем. «

Предлагаю рассмотреть риски в порядке убывания вероятности наступления и ущерба.

Ошибка конфигурации

Наиболее типичная и опасная ситуация. Как это бывает. Разработчику надо быстро проверить гипотезу, он поднимает временный сервер с mysql/redis/mongodb/elastic. Пароль, конечно, сложный, он везде его использует. Открывает сервис в мир — ему удобно со своего ПК гуём коннектиться без этих ваших VPN. А синтаксис iptables вспоминать лень, все равно сервер временный. Еще пару дней разработки — получилось отлично, можно показывать заказчику. Заказчику нравится, переделывать некогда, запускаем в ПРОД!

Пример намеренно утрированный с целью пройтись по всем граблям:

А в /etc/rsyslog.d/10-iptables.conf
:msg,contains,»[FW — » /var/log/iptables.log
& stop

DDoS по IP

Если злоумышленник знает ваш IP, он может на несколько часов или суток заддосить ваш сервер. Далеко не у всех лоукост-хостингов есть защита от DDoS и ваш сервер просто отключат от сети. Если вы спрятали сервер за CDN, не забудьте сменить IP, иначе хакер его нагуглит и будет DDoS’ить ваш сервер в обход CDN (очень популярная ошибка).

Уязвимости сервисов

Во всем популярном ПО рано или поздно находят ошибки, даже в самых оттестированных и самых критичных. В среде ИБэшников, есть такая полу-шутка — безопасность инфраструктуры можно смело оценивать по времени последнего обновления. Если ваша инфраструктура богата торчащими в мир портами, а вы ее не обновляли год, то любой безопасник вам не глядя скажет, что вы дырявы, и скорее всего, уже взломаны.
Так же стоит упомянуть, что все известные уязвимости, когда-то были неизвестными. Вот представьте хакера, который нашел такую уязвимость, и просканировал весь интернет за 7 минут на ее наличие… Вот и новая вирусная эпидемия ) Надо обновляться, но это может навредить проду, скажете вы. И будете правы, если пакеты ставятся не из официальных репозиториев ОС. Из опыта, обновления из официального репозитория крайне редко ломают прод.

Брутфорс

Как описал выше, есть база с полу миллиардом паролей, которые удобно набирать с клавиатуры. Другими словами, если вы не сгенерировали пароль, а набрали на клавиатуре рядом расположенные символы, будьте уверены* — вас сбрутят.

Уязвимости стека ядра.

Бывает**** и такое, что даже не важно какой именно сервис открывает порт, когда уязвим сам сетевой стек ядра. То есть абсолютно любой tcp/udp-сокет на системе двухлетней давности подвержен уязвимости приводящий к DDoS.

Усиление DDoS-атак

Напрямую ущерба не принесет, но может забить ваш канал, поднять нагрузку на систему, ваш IP попадет в какой-нибудь black-list*****, а вам прилетит абуза от хостера.

Неужели вам нужны все эти риски? Добавьте ваш домашний и рабочий IP в white-list. Даже если он динамический — залогиньтесь через админку хостера, через веб-консоль, и просто добавьте еще один.

Я 15 лет занимаюсь построением и защитой IT-инфраструктуры. Выработал правило, которое всем настоятельно рекомендую — ни один порт не должен торчать в мир без white-list’a.

Например, наиболее защищенный web-сервер*** — это тот, у которого открыты 80 и 443 только для CDN/WAF. А сервисные порты (ssh, netdata, bacula, phpmyadmin) должны быть как минимум за white-list’ом, а еще лучше за VPN. Иначе вы рискуете быть скомпрометированным.

У меня все. Держите свои порты закрытыми!

Как и зачем открывать компьютерные порты?

зачем нужно открывать порты

В прошлый раз мы рассказали о том, что такое компьютерные порты. По сути, установленным на компьютере программам, которые используют Интернет, для нормальной работы нужен не только сам доступ в Сеть, но и открытые порты.

Как и другим программам, которые отправляют и принимают информацию из Сети, порты нужны для работы сетевым играм. Неважно, играете в Counter Strike, World of Tanks или «Доту»: все эти игры многопользовательские, а значит, им нужны порты для взаимодействия с другими игроками. Порты постоянно используют и другие популярные программы, например, Skype, Viber или μTorrent.

Примерно так можно описать ситуацию, когда порты вашего компьютера закрыты. Ваши программы, связанные с Сетью, отправляют информацию, но в ответ ничего не приходит. Конечно, при этом они не могут полностью выполнять свои функции. В играх это проявляется сообщениями об ошибке соединения, задержками в работе (лагами). Так, например, в World of Tanks может появляться сообщение «Destination Unreachable».

Чтобы понять, что при этом происходит и как с этим бороться, нужно понимать, как компьютер может быть соединен с Интернетом. Возможны три различных варианта: прямое подключение к Интернету, подключение через роутер и подключение с использованием трансляции сетевых адресов (NAT). Сейчас мы расскажем о каждом из этих случаев подробнее.

Прямое подключение.

При таком подключении ваш компьютер можно сравнить с частным домом. Этот дом стоит сам по себе, у него есть 65536 постоянно открытых дверей и свой отдельный адрес – название улицы и номер дома. При этом вы можете выйти из любой из дверей и пойти куда угодно. Точно так же кто угодно, зная название улицы и номер дома, может прийти к вам и зайти в любую из дверей. Вы либо ваши гости это и есть пакеты информации, передаваемой между вашим компьютером и Интернетом. Как вы уже догадались, все порты при таком подключении открыты, а информация может свободно передаваться в обоих направлениях.

Правда, такая ситуация это лишь идеальный случай. Почти всегда для защиты информации применяются межсетевые экраны – брандмауэры или Firewall’ы. О том, что это такое, мы уже писали. Если рассматривать его как часть нашего частного дома, то Firewall это сторож, который следит за тем, чтобы двери были закрыты, а войти и выйти могли только те, у кого есть пропуск. О том, как настроить Firewall для того, чтобы открывались те или иные порты, мы расскажем в отдельной статье.

Подключение через роутер.

Внешне домашний роутер представляет собой небольшую коробочку. По сути это тоже компьютер, задача которого сводится к получению доступа в Интернет и распределению его сразу на несколько устройств – компьютер, ноутбук, планшет или смартфон. Таким образом, если при подключении к Сети напрямую наш компьютер можно сравнить с частным домом, то при подключении к роутеру он является квартирой в многоквартирном доме. Вы можете легко выйти из квартиры через любую дверь (а их у нас, как вы уже могли догадаться, 65536) и пойти куда угодно. Но если кто-то хочет прийти к вам в гости, то теперь он должен знать не только название улицы и номер дома, но и номер квартиры. В подъезде при этом сидит строгий швейцар, который спросит у любого гостя, куда тот направляется, выяснит, ждут ли его, и лишь после этого впустит гостей.

Как видите, чтобы гости без лишних проблем попали к вам в квартиру, нужно объяснить это швейцару, то есть, настроить роутер. О тонкостях настройки роутеров различных производителей мы расскажем в отдельной статье.

Подключение с использованием NAT.

Таким образом, если ваш провайдер использует NAT, то вы не сможете открыть порт при всем желании. Об этом мы подготовили отдельную статью.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *