Что такое сетевые порты и как их открыть в Windows XP? Как открыть порт Windows.

Если Вы заядлый геймер или активный пользователь файлообменных сетей типа DC++ и торрент, то знаете что для работы программы-клиента надо дополнительно открыть порт. При этом все знают что надо это сделать на роутере, а про то, что у используемой операционной системы есть ещё брандмауэр или файрволл почему то забывают. Эта инструкция посвящена вопросу как открыть порты на Windows 10.
Чтобы это сделать, нужно сначала зайти в Панель управления и выбрать раздел «Брандмауэр Windows».

В меню слева надо выбрать пункт «Дополнительные параметры».

Появится полный список правил встроенного в Виндовс 10 файрволла.


Для того, чтобы открыть порт надо добавить для него правило. Делается это с помощью раздела меню «Действие»>>>»Создать правило».

Таким образом будет запущен Мастер создания правила для нового входящего подключения. Первый шаг — выбор типа правила:

Выбираем вариант «Для порта». Кликаем на «Далее».

Следующим шагом будет выбор протокола (TCP или UDP) и указание порта, к которому будет применено правило:


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

Третий шаг — выбор действия. Так как мы хотим открыть порт на Windows 10 — ставим флажок «Разрешить подключение».


Следующий момент — выбор профиля, для которого будет применено правило. Выбираем все три.


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


Кликаем на кнопку «Готово».

Правило создано. Оно будет первым в таблице уже существующих (читай открытых портов).


Внимание! Если у Вас в системе используется сторонний брандмауэр или файрвол, то проброс порта надо будет делать уже в их настройках. Иначе он будет всё равно недоступен из вне.

Популярный вопрос «как проверить, открыт ли порт» актуален как для опытных геймеров, так и начинающих сисадминов. Соответственно, прежде чем открывать порты на компьютере с ОС Windows XP, 7 или 8, необходимо определиться с конечной целью данного «предприятия» и тем, какие именно порты нужно открыть. Например, для «Skype» это 433 и 80 порт, а для мегопопулярной игры «Minecraft» потребуется открыть порт 25565.

Само по себе «открытие портов» не несет какого-либо ущерба вашему компьютеру: его безопасность будет зависеть от того, какая программа и как использует и «прослушивает» его.

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

Например, большинство компаний, предоставляющих услуги информационной безопасности, рекомендуют обратить внимание на порты за номерами: 21, 23, 25, 80, 1026, 1028, 1243, 137, 139, 555, 666, 1001, 1025, 7000, 8080, 12345, 31337, 31338.

Иными словами, открытые порты - как открытые двери в суровый мир высоких технологий, соответственно не стоит открывать всё подряд, не зная кем и с какой целью данный порт может использоваться.

Как узнать, какие порты открыты на компьютере с windows 7?

Когда цель черко определена и список портов «согласован», нужно проверить открыт ли порт в настоящее время. Для этого можно воспользоваться «Командной строкой»:

Откройте «Командную строку» и введите команду «netstat -a»;

В ответ на команду ОС Windows представит список всех открытых портов «TCР» и «UPD»;

В столбце «Состояние» будет указано, что происходит с данным портом:

  • - «Listening» - т.е порт «прослушивается». Иными словами, некая программа следит за действиями данного порта;
  • - «Established» - порт открыт и используется;
  • - «Time wait» - порт находится в режиме ожидания: т.е. использующая его программа готовится перевести порт в одно из указанных состояний.

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

Итак, с тем как посмотреть открытые порты определились, теперь спокойно открывать нужный порт.

Как открыть порт в брандмауэре windows 7?

Наиболее простой способ открыть нужный порт на компьютере - это воспользоваться встроенным «Брандмауэром Windows»:

- («Пуск» - «Панель управления»);

В столбце слева «Дополнительные настройки» откроется окно «Брандмауэр Windows в режиме повышенной безопасности»;


  • - нажмите «Правило для входящего подключения» и в разделе «Действия» (правая сторона окна) выберите «Создать правило»;


  • - откроется «Мастер создания правил»: из представленного списка выберите «Для порта» и нажмите «Далее»;


Ниже строка «Определённые локальные порты»: именно здесь и требуется прописать открываемый порт (или диапазон портов) и нажать «Далее»;

  • - откроется раздел «Действия», в котором выберите «Разрешить подключение» - так как вам нужно открыть порт на компьютере;



  • после чего вам останется ввести имя созданного правила и - по желанию - заполнить описание.

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

Как открыть порт через командную строку Windows?

Однако возможность открыть порт через firewall - далеко не единственный способ, которым можно воспользоваться. Открыть порты на компьютере можно и с помощью «Командной строки»: это несложно, но данный подход требует элементарных познаний в структуре и функциональной части команды «netsh».

Итак, откройте командную строку с «Правами администратора» и введите команду «netsh advfirewall firewall add rule name=L2TP_TCP protocol=TCP localport=хххх action=allow dir=IN»


в структуру команды входят следующие параметры:

  • - имя «L2TP_TCP» - это туннельный протокол второго уровня (аббревиатура «L2TP» дословно «Layer 2 Tunneling Protocol»);
  • - «protocol=TCP» означает, к какому протоколу относится открываемый порт: если он для UPD, то после символа «равно» и необходимо прописать данную аббревиатуру;
  • - «localport=хххх» вместо «х» укажите номер открываемого порта.

Таким образом, открыть порт на компьютере достаточно просто, и каждый может выбрать наиболее удобный для себя способ. Преимущество использования «Брандмауэра Windows» заключается только в пошаговой настройке с интуитивно-понятным для пользователя интерфейсом.

Проблема

Проблема Брандмауэра Windows (Windows Firewall) заключается не в том как закрыть все порты, а в том, как открыть только необходимые. И главное, что сходу хрен поймешь, каким образом ограничить подключение к некоторым портам по IP адресам клиентов. По отдельности решить эти задачи не сложно, но чтобы было вместе — не встретил ни одного толкового руководства, поэтому и написана данная заметка. Так же, найденное решение не предполагает установки стороннего фаервола.

Недостатки Брандмауэра Windows:
— Если создать запрещающее правило для всех портов, а потом разрешающие для необходимых, то они не попадают в белый список, т.к. запрещающие правила приоритетнее разрешающих. Т.е. если запрет на подключение по порту существует, то разрешение на этот порт работать уже не будет.
— Нет приоритетов правил, как в нормальных фаерволах, чтобы сначала указать открытые порты, а последним задать запрещающее правило для всех остальных.

Допустим, есть VPS на винде, но у хостера нет внешнего фаервола, которым можно прикрыться. Свежеустановленная винда торчит наружу как минимум 135/tcp, 445/tcp, 49154/tcp и 3389/tcp (если включен RDP) портами даже в публичной сети (Public network), что требует исправления.

Алгоритм

Есть три типа портов, это:
— Общедоступные порты, которые должны быть открыты для всего интернета. Пусть будут 80 и 443 (http и https)
— Фильтруемые порты, доступные только с определенных IP адресов. Возьмем 3389 (RDP)
— Все остальные, должны быть закрыты
Требуется:
1. Создать правило, запрещающее всё, кроме трех вышеобозначенных портов.
2. Для общедоступных больше делать ни чего не требуется.
3. Для фильтруемого создать разрешающее правило, указав белые адреса.

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

Пример

Задача 1: оставить открытыми для всего интернета 80, 443 и 3389 порты. Все остальные закрыть.
1. Создать новое правило для входящих подключений
2. Тип правила (Rule Type). Настраиваемые (Custom)
3. Программа (Program). Все программы (All programs)
4. Протокол и порты (Protocol and Ports). Тип протокола (Protocol type) — TCP. Локальный порт (Local port) — Специальные порты (Specific Ports). В поле вписать диапазон портов, за исключением 80, 443 и 3389. Должно выглядеть так — 1-79, 81-442, 444-3388, 3390-65535
5. Область (Scope). Локальный (local) — Любой IP-адрес (Any IP address). Удаленный (remote) — Любой IP-адрес (Any IP address).
6. Действие (Action). Блокировать подключение (Block the connection).
7. Профиль (Profile). Выбрать на свое усмотрение. Если не уверен, то выбрать все.
8. Имя (Name). Назвать его, например, Block_TCP.

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

Задача 2: оставить открытыми для всего интернета 80 и 443 порты. Ограничить подключение на порт 3389 только с разрешенных IP адресов. Все остальные закрыть.
Шаги 1-8 аналогичны предыдущей задаче, т.е. создается правило, разрешающее коннект по трем указанным портам.
Для фильтрации по IP надо создать второе правило:
9. Создать новое правило для входящих подключений
10. Тип правила. Настраиваемые
11. Программа. Все программы
12. Протокол и порты. Тип протокола — TCP. Локальный порт — специальные порты. Вписать порт 3389
13. Область. Локальный — Любой IP-адрес. Удаленный — Указанные IP-адреса. Сюда вписать белый список IPшников или подсетей, которым разрешен коннект по данному порту
14. Действие. Разрешить подключение.
15. Профиль. Выбрать на свое усмотрение. Если не уверен, то выбрать все.
16. Имя. Назвать его, например, RDP.

Если фильтруемых портов несколько, то создается по одному правилу на каждый порт.

Ну и чтобы стать совсем защищенным — создать правило, блокирующее все UDP соединения.

Задача 2 из консоли

Для хард core щиков приведу вторую задачу в виде консольных команд:

Netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=1-79,81-442,444-3388,3390-65535 name="Block_TCP" netsh advfirewall firewall add rule dir=in action=allow protocol=TCP localport=3389 remoteip=192.168.0.0/24,x.x.x.x name="RDP" netsh advfirewall firewall add rule dir=in action=block protocol= UDP name="Block_All_UDP"

В конечном итоге, в гуёвине должно выглядеть так:
Для правила RDP:


Для правила Block_TCP:


UPDATE

Выяснилось, что приведенный выше синтаксис командной строки не работает на WS2008R2, а конкретно — перечисления в любом параметре, поэтому пришлось разбивать два правила на восемь:

Netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=1-79 name="Block_TCP-1" netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=81-442 name="Block_TCP-2" netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=444-3388 name="Block_TCP-3" netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=3390-65535 name="Block_TCP-4" netsh advfirewall firewall add rule dir=in action=allow protocol=TCP localport=80 name="HTTP" netsh advfirewall firewall add rule dir=in action=allow protocol=TCP localport=443 name="HTTPS" netsh advfirewall firewall add rule dir=in action=allow protocol=TCP localport=3389 remoteip=192.168.0.0/24 name="RDP-1" netsh advfirewall firewall add rule dir=in action=allow protocol=TCP localport=3389 remoteip=x.x.x.x name="RDP-2"