Снова и снова, после проведения аудита, на мои рекомендации спрятать порты за white-list’ом встречаюсь со стеной непонимания. Даже очень крутые админы/DevOps’ы спрашивают: «Зачем?!?»
Предлагаю рассмотреть риски в порядке убывания вероятности наступления и ущерба.
- Ошибка конфигурации
- DDoS по IP
- Брутфорс
- Уязвимости сервисов
- Уязвимости стека ядра
- Усиление DDoS атак
Ошибка конфигурации
Наиболее типичная и опасная ситуация. Как это бывает. Разработчику надо быстро проверить гипотезу, он поднимает временный сервер с mysql/redis/mongodb/elastic. Пароль, конечно, сложный, он везде его использует. Открывает сервис в мир — ему удобно со своего ПК гуём коннектиться без этих ваших VPN. А синтаксис iptables вспоминать лень, все равно сервер временный. Еще пару дней разработки — получилось отлично, можно показывать заказчику. Заказчику нравится, переделывать некогда, запускаем в ПРОД!
Пример намеренно утрированный с целью пройтись по всем граблям:
- Ничего нет более постоянного, чем временное — не люблю эту фразу, но по субъективным ощущениям, 20-40% таких временных серверов остаются надолго.
- Сложный универсальный пароль, который используется во многих сервисах — зло. Потому что, один из сервисов, где использовался этот пароль, мог быть взломан. Так или иначе базы взломанных сервисов стекаются в одну, которая используется для [брутфорса]*.
Стоит добавить, что redis, mongodb и elastic после установки вообще доступны без аутентификации, и часто пополняют коллекцию открытых баз. - Может показаться, что за пару дней никто не насканит ваш 3306 порт. Это заблуждение! Masscan — отличный сканер, и может сканировать со скоростью 10М портов в секунду. А в интернете всего 4 миллиарда IPv4. Соответственно, все 3306-ые порты в интернете находятся за 7 минут. Карл!!! Семь минут!
«Да кому это надо?» — возразите вы. Вот и я удивляюсь, глядя в статистику дропнутых пакетов. Откуда за сутки 40 тысяч попыток скана с 3-х тысяч уникальных IP? Сейчас сканят все кому не лень, от мамкиных хакеров до правительств. Проверить очень просто — возьмите любую VPS’ку за $3-5 у любого** лоукостера, включите логирование дропнутых пакетов и загляните в лог через сутки.
Включение логирования
В /etc/iptables/rules.v4 добавьте в конец:
-A INPUT -j LOG —log-prefix «[FW — ALL] » —log-level 4
А в /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. Иначе вы рискуете быть скомпрометированным.
У меня все. Держите свои порты закрытыми!
- (1) UPD1: Здесь можно проверить свой крутой универсальный пароль (не делайте этого не заменив этот пароль на рандомные во всех сервисах), не засветился ли он в слитой базе. А тут можно посмотреть сколько сервисов было взломано, где фигурировал ваш email, и, соответственно, выяснить, не скомпрометирован ли ваш крутой универсальный пароль.
- (2) К чести Amazon — на LightSail минимум сканов. Видимо, как-то фильтруют.
- (3) Еще более защищенный web-сервер это тот, что за выделенным firewall’ом, своим WAF, но речь о публичных VPS/Dedicated.
- (4) Segmentsmak.
- (5) Firehol.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
А у вас торчат порты наружу?
Проголосовали 468 пользователей.
Воздержался 71 пользователь.
На чтение 12 мин Просмотров 16.1к.
Максим aka WisH
Высшее образование по специальности «Информационные системы». Опыт работы системным администратором — 5 лет.
Задать вопрос
Поговорим немного о настройках безопасности. Часто для предотвращения атак и проникновений на компьютер, системами безопасности блокируются некоторые порты и адреса. Сам человек также может провести блокировку, если узнает о распространении нового вируса, который пользуется какой-то уязвимостью.
Сегодня будем рассматривать вариант того, как открыть порты, если они были закрыты по какой-то причине.
Содержание
- Зачем порт может быть закрыт
- Проверка открытых портов
- Открыть порт в Windows
- Через встроенный брандмауэр
- Средством антивируса
- Используя PowerShell
- Внешним софтом
- Как настроить порты в Linux
- Разблокировка портов на роутере
- Почему порты не открываются
Зачем порт может быть закрыт
Здесь многое зависит от того, о каком компьютере идет речь. В случае настройки портов на рабочем компьютере, обычно блокируют все известные уязвимости у разных сеток. Также производится блокировка портов согласно политике самой компании.
Например, чтобы людям было сложнее скачать что-то постороннее на компьютер или для усложнения использования какого-то сервиса или площадки. Здесь все зависит от того, какие средства контроля используются на предприятии и какие ограничения введены для работников.
При каждой установке соединения с каким-то внешним устройством, компьютер открывает порт для каждого отдельного процесса, чтобы не было путаницы, для какой программы пришла информация.
Всего портов чуть больше 65 тысяч, так что если программе без разницы каким пользоваться, то и заблокировать её таким способом будет сложно. С другой стороны, есть «правила» использования портов, им стараются следовать.
Например, порт 80 используется при запросе информации с HTTP сайтов, а порт 443 используется при HTTPS обмене информацией. Полный список того, для чего используются те или иные порты посмотрите на сайте.
Проверка открытых портов
Перед тем как начинать разбираться в том, что именно вызывало закрытие соединения, стоит проверить открыты ли порты. Если нет, то придется просмотреть настройки маршрутизатора, антивируса и файрвола на компьютере, чтобы выяснить причину прерывания соединения. Если же все открыто, то придется проверять другие настройки.
Чтобы проверить порт 22, использующийся для SSH, на компьютере используйте командную строку:
- Нажмите комбинацию клавиш <Win+R>.
- Введите команду CMD и нажмите кнопку Enter.
- Введите команду netstat –a и повторно нажмите Enter.
Здесь отобразится список тех портов, что используются в данный момент или которые заблокированы средствами компьютера. Кроме самого компьютера на это еще виляют условия, выставленные на маршрутизаторе. Так что проверку стоит производить из внешней сети. Если вы знаете, как обратиться к своему устройству из внешней сети, то можете проверить все самостоятельно, но лучше использовать одну из сторонних площадок.
Вы можете использовать любой из сайтов для проверки подключения, вот только роутер по умолчанию режет все подозрительные подключения, поэтому часто такие сайты отображают, что открытых портов и нет толком. Остается или доверять первой проверке или проверить все настройки и убедится, что вы не закрывали порт.
Сначала поговорим об открытии портов чем саму операционную систему. Обычно их блокирует встроенный firewall или антивирус. Для, Windows 7 стоит проверять только брандмауэр, в Windows 11 и Windows 10 еще добавляется встроенный антивирус.
В Windows Server есть много настроек, используемых на сервере, здесь лучше сразу работать через консоль. Хотя, при использовании серверного варианта операционной системы вы и так должны неплохо представлять что делать дальше. Если же уверенности нет, то лучше особо не трогать настройки, особенно если это один из ключевых элементов вашей сети.
Через встроенный брандмауэр
Межсетевой экран появился еще на самых старых версиях операционных систем, но сейчас уже мало кто пользуется операционками старше семерки, так что на её примере и будем разбирать все действия.
Алгоритм работы следующий:
- В меню Пуск выберите Панель управления, Система и безопасности Брандмауэр Windows. Если на панели управления не включено представление по категориям, сразу выберите Брандмауэр Windows.
- Нажмите кнопку «Дополнительные параметры».
- Выберите «Правила для входящих подключений».
- Выберите «Создать правило» в окне «Действия».
- Выберите «Тип правила» в разделе Порт. Щелкните Далее.
- На странице «Протокол и порты» выберите TCP. Выберите «Указанные локальные порты» и введите значение туда номер того, что нужно открыть. Щелкните Далее.
- На странице «Действие» выберите Разрешить соединение. Щелкните Далее.
- На странице «Профиль» выберите необходимые параметры для среды. Щелкните Далее.
- На странице «Имя» введите имя правила. Нажмите кнопку Готово.
- Перезагрузите компьютер.
Здесь же вы можете задать исключения на своем компьютере или ноутбуке для программ и для игр. В первом разделе «Тип правила» выбирайте «Программа» и указывайте путь до исполняемого файла. Выставляйте разрешения и на этом все. Это чуть более безопасный метод, чем открывать любой порт для всех желающих.
Средством антивируса
Для встроенного варианта достаточно проделать все действия с фаерволом. Потом можете отключить сетевую защиту на антивирусе и опробовать установить подключение. Если же у вас стоит, кроме встроенного, еще один антивирус от стороннего производителя, то здесь все зависит от того, кто производитель.
Общий совет для всех: отключите полностью антивирус и попробуйте установить подключение. Можете удалить его для проверки своих подозрений. Если после удаления и отключения ничего не заработало, то проблема кроется в другом месте.
Здесь приведем пример настройки для Касперского, как антивируса, который часто используется на компьютерах в России. Его часто дают по скидке или бесплатно при подключении тарифов или при использовании некоторых программ, так что он распространен. Если у вас другой антивирус, то придется найти инструкцию конкретно для него или удалить его и перезагрузить компьютер.
Используя PowerShell
Открыть и закрыть порт проще всего с помощью консоли и специальных инструментов. PowerShell можно было использовать и в семерке, но основной его функционал раскрывается в десятке и серверных операционных системах. Правда, в этом случае, для простого пользователя способ будет не так понятен, как работа через интерфейс.
Здесь придется также создавать или отключать правила в фаерволле, но делать это с помощью команд. Так что, если вы до этого не работали много с командной строкой, то лучше проделайте все через интерфейс винды.
Откройте Пуск и наберите там PowerShell, потом откройте эту консоль нажатием по ней. После открытия наберите в строке команду:
New-NetFirewallRule -DisplayName «ALLOW TCP PORT ХХ(здесь задайте свое имя, чтобы не забыть)» -Direction inbound -Profile Any -Action Allow -LocalPort ХХ -Protocol TCP
Вместо ХХ, поставьте номер вашего порта, который хотите открыть.
Скопировать и подставить свое имя и номер порта можно быстро, но больше ни с чем экспериментировать в консоли не стоит.
Внешним софтом
Программ для открытия портов и управлением соединениями довольно много, можете скачать любую, которая лучше всего подойдет под ваши цели. Например, с помощью программы UPnP Wizard. Для его использования щелкните на плюсик, в верхней строке задайте имя, адрес компьютера впишется сам, в разделе Ports, напишите порт, который нужно открыть. Пишите в обеих строках один и тот же, разное написание используется для проброски портов, но это не то, что вам сейчас нужно.
Проследите за тем, чтобы ваш антивирус не заблокировал установку и работу программы. Лучше её добавить в исключения, иначе её деятельность может показаться подозрительной антивирусу в любой момент.
Как настроить порты в Linux
Теперь поговорим про линукс. Есть разные встроенные средства для редактирования портов и сетевых настроек. Здесь приведем пример настройки с помощью iptables. Процесс будет одинаков для всех ОС:Ubuntu, Debian, Astra Linux и остальных видов. Отличаться будет команда для установки приложения, но с этим должны справиться даже начинающие владельцы этих операционных систем.
Для начала установите нужный пакет. Для этого наберите в терминале, в ОС на основе Debian или Ubuntu «sudo apt install iptables» для запуска установки, а в сборках, основанных на Fedora — «sudo yum install iptables». Не забудьте набрать пароль.
После установке введите в терминале sudo iptables –L для просмотра возможностей. Введите команду sudo iptables –F для удаления всех предустановленных правил. При добавлении дальнейших правил не стоит её использовать. Введите также команды «sudo iptables -A INPUT -i lo -j ACCEPT» и «sudo iptables -A OUTPUT -o lo -j ACCEPT» для разрешения приема и отправки данных. Команда «sudo iptables -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT» запретит новые соединения и разрешит использовать уже установленные.
Для открытия порта используйте команду «sudo iptables -A INPUT -p tcp —dport 22 -j ACCEPT». Остается здесь только менять номер порт или название протокола. Когда таких изменений накопится много, то действующие правила сможете посмотреть с помощью «sudo iptables -nvL».
Разблокировка портов на роутере
Делается это через интерфейс настройки роутера. У каждой модели есть отличия, так что стоит поискать инструкцию для своей модели. Даже у одного производителя могут отличаться прошивки на разных устройствах, что уж говорить о разных производителях.
На новых TP-Link способ следующий:
- Зайдите в интерфейс, в левой колонке нажмите «Переадресация» – «Виртуальные серверы», потом кликните по «Добавить».
- Сверху введите номер порта или укажите их диапазон через тире, во второй строке введите адрес компьютера для которого открываете порт. Придется задать ему постоянный адрес, иначе это все не будет иметь смысла, выберите протокол TCP, UDP или ВСЕ. Измените состояние на «Включено».
На D-Link все выглядит почти также. Только после настроек в левой колонке выберите «Межсетевой экран», а потом «Виртуальные серверы». И нажмите на кнопку «Добавить». Данные здесь заполняете такие же, только диапазон задается не через тире, а в строках «Начальный и конечный порт».
Если есть какие-то сомнения в том, что вы делаете все правильно, то лучше найти подробную инструкцию для своей модели маршрутизатора.
Почему порты не открываются
Если после проведения каких-то действий у вас ничего не получается, то на это бывает несколько причин:
- Несколько уровней блокировки. Вы открыли порт на маршрутизаторе, а оказалось, что он еще блокируется антивирусом на самом компьютере и так далее.
- Неправильно указали что-то в правилах фаервола или маршрутизатора. Проверьте все данные, что у вас выставлено именно разрешение именно для нужных устройств.
- На маршрутизаторе поставили разрешение для IP – адреса компьютера, но сам адрес не зафиксировали и при следующем включении ему был выдан другой.
- Проверьте через команду на компьютере, кто использует порт. Возможно, на нем уже сидит какой-то другой процесс, поэтому его и не видно. Отключите процесс и попробуйте получить доступ снова.
- Если у вас подключение у провайдера осуществляется через динамический адрес, то открытие портов со своей стороны вряд ли поможет, тут нужно статическое подключение или вообще другой способ.
- Свяжитесь с провайдером. Есть шанс, что какие-то порты заблокированы на их серверах просто ради безопасности, поэтому до вас ничего и не доходит.
Как видите, открыть порт на любом оборудовании просто. Основная проблема заключается в том, что разные системы защиты дублируют друг друга, так что процедуры придется проходить и на роутере, и на антивирусе, и на встроенном файрволе.
Всегда думайте о том, для чего вы открываете порты, возможно, лучше будет дать полный доступ без ограничений для одной программы, чем полностью открывать порт во внешнюю сеть.
Домашний роутер обычно не дает возможности добраться из внешнего Интернета до компьютеров во внутренней сети. Это правильно — хакерские атаки рассчитаны на известные уязвимости компьютера, так что роутер является дополнительным препятствием. Однако бывают случаи, когда доступ к роутеру и его локальным ресурсам из «внешнего мира» становится необходим. О том, в каких случаях бывает нужен доступ извне, и как его безопасно настроить — эта статья.
Зачем открывать доступ извне?
Доступ «снаружи» нужен не только в экзотических случаях вроде открытия игрового сервера или запуска сайта на домашнем компьютере. Гораздо чаще приходится «открывать порт» для многопользовательской игры, а это — как раз предоставление внешнему пользователю (серверу игры) доступа к внутренней сети (порт компьютера). Если необходимо удаленно подключиться и настроить компьютер или роутер, скачать файл-другой из домашней сети, находясь в командировке, или посмотреть видео с подключенных к домашней сети IP-камер — нужно настроить доступ.
Цвета и формы IP-адресов
Прежде чем разбираться, как открыть доступ к своим ресурсам, следует понять, как вообще происходит соединение в сети Интернет. В качестве простой аналогии можно сравнить IP-адрес с почтовым адресом. Вы можете послать письмо на определенный адрес, задать в нем какой-то вопрос и вам придет ответ на обратный адрес. Так работает браузер, так вы посещаете те или иные сайты.
Но люди общаются словами, а компьютеры привыкли к цифрам. Поэтому любой запрос к сайту сначала обрабатывается DNS-сервером, который выдает настоящий IP-адрес.
Допустим теперь, что кто-то хочет написать письмо вам. Причем не в ответ, а самостоятельно. Не проблема, если у вас статический белый адрес — при подключении сегодня, завтра, через месяц и год он не поменяется. Кто угодно, откуда угодно, зная этот адрес, может написать вам письмо и получите его именно вы. Это как почтовый адрес родового поместья или фамильного дома, откуда вы не уедете. Получить такой адрес у провайдера можно только за отдельную и регулярную плату. Но и с удаленным доступом проблем меньше — достаточно запомнить выданный IP.
Обычно провайдер выдает белый динамический адрес — какой-нибудь из незанятых. Это похоже на ежедневный заезд в гостиницу, когда номер вам выдается случайно. Здесь с письмом будут проблемы: получить его можете вы или другой постоялец — гарантий нет. В таком случае выручит DDNS — динамический DNS.
Самый печальный, но весьма распространенный в последнее время вариант — серый динамический адрес: вы живете в общежитии и делите один-единственный почтовый адрес с еще сотней (а то и тысячей) жильцов. Сами вы письма писать еще можете, и до адресата они дойдут. А вот письмо, написанное на ваш почтовый адрес, попадет коменданту общежития (провайдеру), и, скорее всего, не пойдет дальше мусорной корзины.
Сам по себе «серый» адрес проблемой не является — в конце концов, у всех подключенных к вашему роутеру устройств адрес именно что «серый» — и это не мешает им пользоваться Интернетом. Проблема в том, что когда вам нужно чуть больше, чем просто доступ к Интернету, то настройки своего роутера вы поменять можете, а вот настройки роутера провайдера — нет. В случае с серым динамическим адресом спасет только VPN.
Кто я, где я, какого я цвета?
С терминологией разобрались, осталось понять, какой именно адрес у вас. У большинства провайдеров фиксированный адрес стоит денег, так что если у вас не подключена услуга «статический IP-адрес», то он наверняка динамический. А вот белый он или серый гусь — это нужно проверить. Для начала надо узнать внешний IP-адрес роутера в его веб-интерфейсе и сравнить с тем адресом, под которым вас «видят» в Интернете.
В админ-панели роутера свой IP можно найти на вкладках «Информация о системе», «Статистика», «Карта сети», «Состояние» и т. п. Где-то там нужно искать WAN IP.
Если адрес начинается с «10.», или с «192.168.», то он определенно «серый» — большинство способов открытия доступа работать не будет и остается только VPN.
Если же адрес выглядит по-другому, надо посмотреть на него «снаружи» с помощью одного из сервисов, показывающих ваш IP-адрес, например, http://myip.ru/.
Если адрес, показанный на сайте, совпадает с тем, что вы увидели в веб-интерфейсе, то у вас честный «белый» адрес и доступ из «большого мира» не вызовет особых затруднений — остается только настроить «пробросы» на роутере и подключить DDNS.
Что такое порты и зачем их бросать?
Порт — это пронумерованное виртуальное «устройство», предназначенное для передачи данных по сети. Каждая сетевая программа использует для установления связи отдельный порт или группу портов. К примеру, браузеры используют TCP-порт 80 для незашифрованного трафика (http) и 443 для зашифрованного (https).
Проброс порта — это специальное правило в роутере, которое разрешает все обращения извне к определенному порту и передает эти обращения на конкретное устройство во внутренней сети.
Необходимость «проброса» портов обычно возникает при желании сыграть по сети в какую-нибудь игру с компьютера, подключенного к роутеру. Впрочем, это не единственная причина — «проброс» потребуется при любой необходимости получить «извне» доступ к какому-нибудь конкретному устройству в вашей локальной сети.
Разрешать к компьютеру вообще все подключения, то есть пробрасывать на него весь диапазон портов — плохая идея, это небезопасно. Поэтому роутеры просто игнорируют обращения к любым портам «извне». А «пробросы» — специальные исключения, маршруты трафика с конкретных портов на конкретные порты определенных устройств.
Игровые порты: что, куда бросаем?
Какой порт открыть — зависит от конкретного программного обеспечения. Некоторые программы требуют проброса нескольких портов, другим — достаточно одного.
У разных игр требования тоже отличаются — в одни можно играть даже с «серого» адреса, другие без проброса портов потеряют часть своих возможностей (например, вы не будете слышать голоса союзников в кооперативной игре), третьи вообще откажутся работать.
Например, чтобы сыграть по сети в «Destiny 2», нужно пробросить UDP-порт 3074 до вашей «плойки», или UDP-порт 1200 на Xbox. А вот до ПК потребуется пробросить уже два UDP-порта: 3074 и 3097.
В следующей таблице приведены некоторые игры и используемые ими порты на ПК:
Fortnite |
Overwatch |
PUBG |
Tekken 7 |
WoT |
TCP: 5222, 5795:5847 |
TCP: 80, 1119, 3724, 6113 |
TCP: 27015:27030, 27036:27037 |
TCP: 27015:27030, 27036:27037 |
TCP: 80, 443, 5222, 5223, 6881, 6900:6905, 50010:50014 |
UDP: 5222, 5795:5847 |
UDP: 5060, 5062, 6250, 3478:3479, 12000:64000 |
UDP: 4380, 27000:27031, 27036 |
UDP: 4380, 27000:27031, 27036 |
UDP: 53, 1900, 3432, 3478, 3479, 5060, 5062, 6881, 12000:29999, 30443, 32800:32900 |
Настраиваем проброс портов
Пробросы настраиваются в админ-панели роутера на вкладке «Виртуальные серверы», «NAT», «Переадресация портов», «Трансляция сетевых адресов» и т. п. Они могут быть вложенными во вкладки «Интернет», «Переадресация», «Брандмауэр» или «Безопасность». Все зависит от марки и модели роутера.
Вам нужно определить, какие порты и какой протокол (UDP или TCP) использует программа, для которой вы настраиваете правило. Также следует задать статический IP-адрес для устройства, на которое пробрасывается порт — это делается в настройках DHCP и подробно разбиралось в статье про родительский контроль. Все эти данные следует ввести в соответствующие поля.
Некоторые роутеры позволяют задать также и внешний IP-адрес (или диапазон адресов). Так что если вы знаете IP-адрес, с которого будет идти обращение к вашему устройству (например, адрес игрового сервера), то его следует также ввести на странице — это повысит безопасность соединения.
Теперь все обращения с адреса 132.12.23.122 к порту 3074 вашего роутера он автоматически «перебросит» к вашей приставке PlayStation.
Больше пробросов для разных задач!
Аналогично производится настройка для других программ — и это могут быть не только игры:
-
задав порт и настроив удаленное управление для uTorrent, можно управлять его загрузками из любой точки мира с помощью браузера;
-
проброс портов часто требуется для специализированных программ удаленного управления компьютером; более простые, «гражданские» программы могут работать без этого — подробнее о них можно прочитать в этой статье;
-
для запуска на домашнем компьютере ftp-сервера потребуется открыть и пробросить управляющий порт 21 и отдельный диапазон портов для передачи данных;
-
пробросив порт 554 на домашнюю IP-камеру, которая умеет передавать видео по протоколу RTSP, можно будет подключиться к ней любым видеоплеером с поддержкой RTSP, вроде VLC;
-
проброс порта 3389 позволит задействовать службу RDP (Remote Desktop Protocol) в Windows для получения удаленного доступа к рабочему столу компьютера.
DDNS — зачем нужен и как настроить
Если IP-адрес постоянный, то его можно запомнить. Но если он меняется, запоминать его тяжело. Для решения этой проблемы предназначены службы динамического DNS. Вам будет достаточно запомнить определенное доменное имя.
Сервисы DDNS бывают платные и бесплатные, с разным набором возможностей и характеристик. Но пользоваться лучше теми, которые предусмотрел производитель роутера — когда внешний IP-адрес роутера поменяется, они с DDNS сами договорятся, без вашей помощи. Найдите вкладку «DDNS» или «Динамический DNS» в веб-интерфейсе вашего роутера. В пункте «сервис-провайдер» или «DDNS-сервис» вам будет предложен список из нескольких сервисов, можете выбрать любой. Многие производители роутеров имеют собственные DDNS-сервисы — довольно ограниченные в настройках, зато бесплатные. Это DLinkDDNS.com для роутеров D-Link, KeenDNS для роутеров Zyxel, «Облако ТР-Link» для роутеров TP-Link и т. п.
Определившись с будущим сервисом DDNS, нужно зайти на его сайт и создать аккаунт. Бесплатные DDNS-сервисы производителей роутеров могут потребовать ввести серийный номер устройства или как-то иначе подтвердить, что вы работаете с роутером их производства — у каждого производителя по-разному.
Далее вам предложат задать доменное имя для своего домашнего сервера — обычно это домен третьего уровня (то есть vash_vybor.DDNS-service.com). После этого уже можно вернуться в веб-интерфейс и настроить привязку созданного аккаунта к своему роутеру.
Удаленное управление роутером
Во всех прочих руководствах рекомендуется запрещать удаленное управление роутером. Но здесь желательно его разрешить — будет крайне обидно, если вы, например, при пробросе портов упустили какую-то мелочь и не можете из-за этого «достучаться» до сети, будучи в командировке или в отпуске. Удаленное управление роутером позволит внести необходимые исправления и получить доступ.
Разрешите «Удаленный доступ» в веб-интерфейсе и задайте правила удаленного доступа. Так, если вам известен постоянный IP-адрес компьютера, с которого вы будете производить настройку, его следует задать — это увеличит безопасность вашей сети.
Если же вы хотите получить возможность доступа к роутеру с любого устройства, подключенного к Интернету, это тоже можно сделать, но обязательно задайте сложный пароль на доступ к веб-интерфейсу — иначе ваша локальная сеть станет «легкой добычей» для хакеров.
VPN как крайний выход
Если провайдер выдает «серый» адрес и никак не желает давать «белый», даже за деньги, придется использовать VPN.
Обычно VPN-сервисы предоставляют выход в сеть через сервер в любой точке мира — Private Internet Access, TorGuard, CyberGhost VPN, Game Freedom и т. п. Бесплатных среди них нет, но для удаленного доступа к своему компьютеру или командных игр вам «внешний» сервер и не нужен. Достаточно создать «виртуальную сеть» из своего домашнего компьютера и, например, рабочего. Или ноутбука для поездок, с которого вы ходите получать доступ к домашней сети. Или всех компьютеров ваших игровых друзей. Достаточно выбрать какую-нибудь из бесплатных VPN-утилит, например, Hamachi, Remobo, NeoRouter и т. д. И запустить ее на всех компьютерах, которые нужно объединить.
Прелесть в том, что это можно сделать без настройки роутера, с самого «серого» адреса и под самым «злобным» файрволом. Можно соединить в сеть и больше двух компьютеров, хотя в бесплатных версиях их количество ограничено.
Кроме того, в Интернете существует множество открытых (без пароля) VPN, созданных специально для игр — вам остается только найти VPN вашей любимой игры, подключиться к ней с помощью одной из вышеупомянутых утилит — и играть. Чуть сложнее дело обстоит с играми, в которых требуется подключение к игровому серверу.
Существуют VPN-сети с запущенными серверами популярных игр, но пользователей на них в разы меньше, чем на открытых серверах. Кроме того, такие сервера есть не для всех игр. Сыграть в World of Tanks или World of Warcraft с помощью таких утилит не получится, придется раскошеливаться на полноценный VPN-сервис. Но об этом — в следующий раз.
ибо если службы не висят то порты закрыты и с помощью брендмауера их закрывать смысла нет?
Можешь не закрывать, если нет никаких служб, предназначенных только для локалхоста/доверенных хостов.
Но эти службы могут появиться, и могут начать слушать сеть на кой-то хер, поэтому закрывать по дефолту все входящие соединения и открывать только нужное, только с нужных хостов — разумная практика для Ъ-параноика.
В случае, если опасаешься бэкдоров/троянов, можешь ещё и исходящие закрыть(но это сложнее, требует вдумчивой настройки). Тогда без рута(а если закрыть на роутере, то и с рутом), троян не сможет слушать сеть/принимать управляющие команды.
Ivan_qrt ★★★★★
()
- Ссылка
В прошлый раз мы рассказали о том, что такое компьютерные порты. По сути, установленным на
компьютере программам, которые используют Интернет, для нормальной работы нужен не только
сам доступ в Сеть, но и открытые порты.
Как и другим программам, которые отправляют и принимают информацию из Сети, порты нужны для
работы сетевым играм. Неважно, играете в Counter Strike, World of Tanks или «Доту»: все эти
игры многопользовательские, а значит, им нужны порты для взаимодействия с другими игроками.
Порты постоянно используют и другие популярные программы, например, Skype, Viber или μTorrent.
Но порты вашего компьютера могут быть закрыты. Представьте ситуацию: ваш мобильный телефон
внезапно перестал принимать входящие сообщения и звонки. То есть, вы звоните кому-нибудь, на
другом конце поднимают трубку, вы говорите «Алло!», а в ответ — ни слова. Вы набираете номер
снова и снова, звоните на другие номера, но все по-прежнему – вас не слышат. Тогда вы пишете
SMS, но и на них не приходят ответы.
Примерно так можно описать ситуацию, когда порты вашего компьютера закрыты. Ваши программы,
связанные с Сетью, отправляют информацию, но в ответ ничего не приходит. Конечно, при этом
они не могут полностью выполнять свои функции. В играх это проявляется сообщениями об ошибке
соединения, задержками в работе (лагами). Так, например, в World of Tanks может появляться
сообщение «Destination Unreachable».
Чтобы понять, что при этом происходит и как с этим бороться, нужно понимать, как компьютер
может быть соединен с Интернетом. Возможны три различных варианта: прямое подключение к
Интернету, подключение через роутер и подключение с использованием трансляции сетевых
адресов (NAT). Сейчас мы расскажем о каждом из этих случаев подробнее.
Прямое подключение.
При таком подключении ваш компьютер можно сравнить с частным домом. Этот дом стоит сам по
себе, у него есть 65536 постоянно открытых дверей и свой отдельный адрес – название улицы и
номер дома. При этом вы можете выйти из любой из дверей и пойти куда угодно. Точно так же кто
угодно, зная название улицы и номер дома, может прийти к вам и зайти в любую из дверей. Вы
либо ваши гости это и есть пакеты информации, передаваемой между вашим компьютером и Интернетом.
Как вы уже догадались, все порты при таком подключении открыты, а информация может свободно
передаваться в обоих направлениях.
Правда, такая ситуация это лишь идеальный случай. Почти всегда для защиты информации
применяются межсетевые экраны – брандмауэры или Firewall’ы. О том, что это такое, мы уже
писали. Если рассматривать его как часть нашего частного дома, то Firewall это сторож,
который следит за тем, чтобы двери были закрыты, а войти и выйти могли только те, у кого
есть пропуск. О том, как настроить Firewall для того, чтобы открывались те или иные порты,
мы расскажем в отдельной статье.
Подключение через роутер.
Внешне домашний роутер представляет собой небольшую коробочку. По сути это тоже компьютер,
задача которого сводится к получению доступа в Интернет и распределению его сразу на несколько
устройств – компьютер, ноутбук, планшет или смартфон. Таким образом, если при подключении к
Сети напрямую наш компьютер можно сравнить с частным домом, то при подключении к роутеру он
является квартирой в многоквартирном доме. Вы можете легко выйти из квартиры через любую дверь
(а их у нас, как вы уже могли догадаться, 65536) и пойти куда угодно. Но если кто-то хочет
прийти к вам в гости, то теперь он должен знать не только название улицы и номер дома, но и
номер квартиры. В подъезде при этом сидит строгий швейцар, который спросит у любого гостя,
куда тот направляется, выяснит, ждут ли его, и лишь после этого впустит гостей.
Как видите, чтобы гости без лишних проблем попали к вам в квартиру, нужно объяснить это
швейцару, то есть, настроить роутер. О тонкостях настройки роутеров различных производителей
мы расскажем в отдельной статье.
Подключение с использованием NAT.
Если ваш провайдер использует трансляцию сетевых адресов (NAT), то сравнить компьютер ни с
домом, ни с квартирой нельзя. Скорее, это один из множества кабинетов в каком-нибудь закрытом
учреждении, например, ФСБ, и в каждом из них есть свои 65536 дверей. В кабинетах работают
сотрудники, все они могут в любой момент выйти из кабинета, спуститься по лестнице, выйти из
здания и пойти по своим делам. При этом кто-либо со стороны просто не сможет попасть в здание.
Таким образом, если ваш провайдер использует NAT, то вы не сможете открыть порт при всем
желании. Об этом мы подготовили отдельную статью.