Как безопасно открыть порт 8080?
Есть ПК, на котором стоит УТМ ЕГАИС, доступ к которому осуществляется по адресу 127.0.0.1:8080 и обмен происходит xml запросами. ПК подключён к интернету и если открыть на нём порт 8080, то можно через интернет подключаться к этому УТМ, указав вместо 127.0.0.1 IP адрес ПК, и обмен будет запросами будет работать. Проблема заключается в том, что требуется предоставить такой доступ удалённому серверу, но как это сделать безопасно я не знаю, предполагаю, что надо наладить vpn-туннель, но как быть с удалённым сервером тоже понятия не имею.
- Вопрос задан более трёх лет назад
- 10863 просмотра
Комментировать
Решения вопроса 1

впишусь в проект как SRE/DevOps.
можете разрешить доступ к 8080 только с определенного IP — но это защита от пионеров. Правильным было бы действительно построить VPN — и разрешить доступ к 8080 уже только из диапазона адресов VPN
Ответ написан более трёх лет назад
Нравится 1 1 комментарий
Узнаем как настроить прием подключений через 8080 (порт): инструкция, схема и отзывы


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

Как правило, в пространстве пользователя на хосте с установленной ОС происходит несколько процессов одновременно, и в каждом из них работает определенная программа. Если же эти программы затрагивают компьютерную сеть, «оболочка» время от времени получает через нее IP-пакет, который предназначается для одной из программ.
Как это работает?
Если программа использует обмен данными через сеть, этот процесс может происходить следующим образом:
- У ОС запрашивается определенный номер порта. При этом система может как предоставить его программе, так и запретить передачу (это происходит в случаях, если этот номер порта уже используется другим приложением).
- У ОС запрашивается не конкретизированный номер порта, в любой свободный. Система сама выбирает его и предоставляет программе.
Как открыть порт (8080, 80 и так далее)? Внутри сети обмен информацией происходит согласно определенному протоколу (между двумя процессами). Чтобы соединение было установлено, требуется следующее:
Разбор и описание команды Netstat, ее ключей и параметров. Применение ее в средах Linux и Windows.
- IP-адреса хостов получателя и отправителя (необходимы, чтобы между ними был построен маршрут);
- Номер протокола;
- Номера обоих портов (получателя и отправителя).
Если соединение происходит по протоколу TCP, то порт отправителя применяется как ОС получателя для передачи подтверждения о полученных данных, так и процессом получателем для передачи ответа.

Открытые и закрытые порты
Со стороны отправителя хост и номер порта выступают в качестве аналога обратного адреса, который указывается на конвертах. Такой номер называют обратным.
В случаях, когда какой-либо процесс на хосте на постоянной основе использует один и тот же номер порта, такой порт считается открытым. К примеру, программа, связанная с сервером, может все время использовать 80 или 8080 для связи. Когда процесс не может открыть порт, тот считается закрытым.
Что представляют собой TCP-порты? Их значение, история создания.
Номера портов
Все порты имеют свои номера, зарегистрированные в установленном порядке. Каждый из них предназначен для своей специфической цели. Так, при работе в интернете часто можно увидеть порт 8080. Для чего нужен такой функционал?
Согласно официальным данным, этот порт работает по протоколу TCP и предназначен для использования с HTTP. Неофициально он также используется контейнером сервлетов Tomcat, написанным на языке Java.

TCP-порт 8080 может использовать определенный протокол для связи, в зависимости от приложения. Протокол представляет собой набор формализованных правил, который объясняет, как данные передаются по сети. Это можно представить в качестве языка, который применяется между компьютерами, чтобы помочь им общаться более эффективно.
Протокол HTTP, который работает через 8080, определяет формат связи между интернет-браузерами и веб-сайтами. Другим примером является протокол IMAP, который определяет связь между почтовыми серверами IMAP и клиентами или, наконец, протокол SSL, в котором указывается формат, используемый для шифрованных сообщений.
В этой статье мы попробуем разобраться, что такое «порты», научимся.
Передача данных
Таким образом, TCP-порт 8080 использует протокол управления передачей. Он является одним из основных протоколов в сетях TCP/IP. В то время как протокол IP имеет дело только с пакетами, TCP позволяет двум хостам устанавливать соединение и обмениваться потоками данных. Он гарантирует их доставку, а также то, что пакеты будут доставлены на порт 8080 в том же порядке, в котором они были отправлены. Гарантированная связь по 8080 — это ключевое различие между TCP и UDP. UDP 8080 не гарантировал бы соединение так же.

Как открыть порт 8080 в Windows 7?
Для этого необходимо зайти в меню «Пуск» и найти Панель управления. В ней требуется нажать на подменю «Сеть» и найти в нем «Бранмауэр». Во вкладке «Исключения» найдите пункт «Добавить порт». У вас откроется диалоговое окно, в котором потребуется ввести номер порта. Убедитесь в том, что в настройках указан TCP, после чего выберите ОК.
Как закрыть порт 8080? Для этого достаточно настроить подключение на другой определенный порт.
Расширенная настройка прокси-сервера HTTP и TCP
Протокол HTTP работает поверх протокола TCP, но предоставляет дополнительную информацию о назначении сообщения. По этой причине два прокси настраиваются по-разному.
HTTP-трафик включает в себя целевой хост и порт для сообщения. Он отправляется по TCP-соединению с конечной точкой TCP, то есть между определенным хостом и портом. Как правило, HTTP-сообщение указывает на ту же конечную точку, что и TCP-соединение. Если вы изменяете конфигурацию клиента для использования прокси-сервера HTTP, соединение выполняется с другим хостом и портом, вместо указанного в URL-адресах HTTP. Это означает, что конечная точка TCP в сообщении отличается от той конечной, к которой она подключена.

Например, если HTTP-запрос отправлен на страницу http://192.0.2.1:8080/operation, запрос включает в себя «192.0.2.1:8080» в заголовке «Host» HTTP-сообщения, которое отправляется на 8080 порт на хосте 192.0.2.1.
Однако, если вы настроите HTTP-клиент на использование прокси-сервера, базовое TCP-соединение переходит к конечной точке TCP для него, в то время как сообщения все еще содержат исходную конечную точку.
Например, если вы настроите клиент на отправку своих сообщений на прокси-сервер по адресу 198281.100.1 порт 3128, а клиент отправит запрос для http://192.0.2.1:8080/operation, сообщение все еще содержит «192.0.2.1: 8080 »в заголовке« Host », а теперь также в поле« Request-Line ». Однако это сообщение теперь отправляется через TCP-соединение по адресу 198.51.100.1:3128. Таким образом, прокси-сервер HTTP может получать сообщения на одном порту (прокси-порт 8080) и может пересылать их нескольким различным службам на основе информации о получателе.
Как настроить прием подключений через порт 8080?
Итак, заголовок «Host» был добавлен в HTTP/1.1. Соединения HTTP/1.0 не включает его в себя. По этой причине такие соединения, которые не проходят через прокси, не включают в себя хост и порт для сообщения. Однако информация по HTTP/1.0, отправленная через прокси-сервер, по-прежнему содержит целевой хост и порт в «строке запроса». Поэтому отсутствие заголовка «Host» не вызывает проблемы для прокси.

Чтобы включить прокси-сервер TCP, вы должны изменить конфигурацию клиента с конечной точки TCP в реальном времени на заменяемую конечную точку. В отличие от HTTP, этот протокол не обеспечивает встроенную возможность использования прокси. То есть, если вы подключаетесь к прокси-серверу через TCP, для передачи информации конечному адресату не предусмотрен какой-либо механизм.
Как настроить множественное соединение с помощью 8080
Единственный способ для прокси-сервера TCP разрешить соединения с несколькими системами (то есть с конечными точками назначения), независимо от того, какой трафик будет отправлен по этим соединениям, — это прослушивание другого порта для каждой из систем. Это позволяет подключать и поддерживать информацию о том, какой из ее номеров портов соответствует каждой конечной точке. Затем клиент настраивается с прокси-портом, соответствующим каждой системе, с которой ему нужно соединиться. Прокси-порты TCP для прослушивания и соответствующие им конечные точки настраиваются в операторах в файле конфигурации прокси, RTCP_install_dir / httptcp / registration.xml. В первую очередь, необходимо проверить порт 8080 – если он открыт по умолчанию, дальнейшие настройки будут сделаны за несколько минут.
В этом примере 198.51.100.1 является IP-адресом прокси-сервера. Любой трафик, отправленный на порт 3333 на прокси-сервер, отправляется на порт 8080 по адресу: www. Example. com:
Поэтому вы должны изменять файл конфигурации клиента всякий раз, когда вы добавляете новый пункт назначения для трафика. Это ограничение не распространяется на HTTP-прокси.
Взаимодействие между HTTP и TCP
Чтобы понять, как порты обрабатываются в прокси-серверах HTTP и TCP, предположим, что у вас есть две службы: на 192.0.2.1:8080 и 192.0.2.1:8081, и прокси-сервер, работающий на 198.51.100.1. Если же они отличаются по IP-адресу, а не по номеру порта, этот пример будет таким же, за исключением соответствующего адреса для каждой службы. Если они ожидают HTTP-трафик на один HTTP-прокси-порт, запросы на обе конечные точки TCP могут быть отправлены на него. Когда HTTP видит, что сообщение адресовано 192.0.2.1:8080, прокси перенаправляет сообщение на этот адрес или применяет любые правила, которые он имеет для этой службы. Эта же процедура применяется к 192.0.2.1:8081, используя тот же самый порт.
Если эти две службы вместо этого ожидают трафик TCP, должны быть открыты два TCP-прокси-порта, определенные двумя элементами в файле конфигурации:
Конфигурация клиента для первой службы изменяется с «192.0.2.1:8080» на «198.51.100.1:3333», а для второй — с «192.0.2.1:8081» до «198.51.100.1:3334». Клиент отправляет сообщение (пакет TCP) первой службе по первому адресу.
Прокси-сервер получает его на этом порту (3333), но не знает, какие данные отправляются по этому соединению. Все, что ему известно — это подключение к порту 3333. Поэтому прокси-сервер консультируется с его конфигурацией и видит, что трафик на этот порт должен быть перенаправлен на 192.0.2.1:8080 (или что к нему необходимо применить правило для этой службы). Если вы не можете перенаправить весь свой HTTP-трафик, поскольку конфигурация клиента не поддерживает конфигурацию прокси-сервера HTTP, вы должны использовать обратный HTTP-прокси.
В нем вместо целевого URL-адреса вы указываете нужный вам. Этот процесс аналогичен процессу настройки прокси-сервера TCP, в котором вы указываете его в качестве конечной точки TCP для сообщения в клиентской системе и создаете правило пересылки.
Разница заключается в том, что вы добавляете атрибут типа в правило, определяющее HTTP, как в следующем примере: .

Как идет движение трафика
Теперь прокси-сервер настроен на прием только HTTP-трафика на назначенный порт, и может применять более богатую фильтрацию. Например, сервер может отфильтровать трафик на заглушку, которая не имеет определенного пути в своем URL-адресе, или который не использует определенный HTTP-метод, такой как POST. Однако, поскольку заглушка не всегда работает, сервер все еще нуждается в адресате из элемента , чтобы иметь возможность отправлять трафик в систему. Например, предположим, что клиенту необходимо подключиться к службе на 192.0.2.1:8080 и использовать обратный HTTP-прокси на 198.51.100.1:3333.
Прежде, чем клиент сможет использовать прокси-сервер, конфигурацию клиента для этой службы необходимо изменить с URL-адреса, например http:// 192.0.2.1:8080/ operation, на http:// 198.51.100.1:3333/ operation. Запрос, который отправляется на этот новый URL-адрес, попадает в прокси-сервер.
Сообщение запроса содержит конечную точку TCP для прокси (198.51.100.1:3333) в заголовке «Хост», а не адрес системы, потому что клиент не знает, что он отправляет перенаправленное сообщение. Эта упрощенная клиентская роль определяет природу такого соединения. Таким образом, прокси использует элементы , чтобы знать, что запрос, поступающий на порт 3333, требует одно из следующих действий: он должен быть перенаправлен в живую систему на 192.0.2.1:8080, а заголовок «Host» в сообщении должен быть обновлен. Для сообщения должны применяться все правила этой службы, например, маршрутизация на заглушку.
Форум
В винде, в фаерволе разрешить нужно полный доступ со всех входящих IP на порт 80 TCP.
Порт 8080, как советовали выше, трогать не нужно, к HTTP они не имеет отношения.
Vlad_Starkovsky Сообщения: 35 Зарегистрирован: 28 окт 2013, 21:27 Откуда: Piter
Dragon_Knight писал(а): В винде, в фаерволе разрешить нужно полный доступ со всех входящих IP на порт 80 TCP.
Порт 8080, как советовали выше, трогать не нужно, к HTTP они не имеет отношения.
А по вопросу уже решили, дело не в открытости порта, а в неправильной настройке маршрутизации портов
Dragon_Knight Сообщения: 581 Зарегистрирован: 10 сен 2012, 02:43 Контактная информация:
Нука, раскажитека, что у нас висит на 8080 порту?
Я вот запустил сервер и ничего на этой порту не отвечает как-бы
C:\Documents and Settings\Dragon_Knight>telnet 127.0.0.1 8080 Подключение к 127.0.0.1. Не удалось открыть подключение к этому узлу, на порт 8080: Сбой подключения
Vlad_Starkovsky Сообщения: 35 Зарегистрирован: 28 окт 2013, 21:27 Откуда: Piter
Dragon_Knight писал(а): Нука, раскажитека, что у нас висит на 8080 порту?
Я вот запустил сервер и ничего на этой порту не отвечает как-бы
C:\Documents and Settings\Dragon_Knight>telnet 127.0.0.1 8080 Подключение к 127.0.0.1. Не удалось открыть подключение к этому узлу, на порт 8080: Сбой подключения
То что ты не можешь понюхать порт через telnet — не говорит о том, что его нет.
Товарищ апач имеет возможность сидеть и на 8080
8080/TCP HTTP alternate (http_alt)—commonly used for Web proxy and caching server, or for running a Web server as a non-root user
8080/TCP Apache Tomcat

А по факту, Openserver открывает порт 8080
Dragon_Knight Сообщения: 581 Зарегистрирован: 10 сен 2012, 02:43 Контактная информация:
Vlad_Starkovsky, уважаемый, апач слушает ровно тот порт, который указан в конфиге хоста, только это не означает что нужно открывать все (2^32)-1 портов.
Порт 8080, по умолчанию принято использовать как порт HTTP-proxy, например в связке Apache+Nginx, но не по умолчанию как порт апача.
Дальше, telnet это самый примитивная реализация сокета, что означает что через него можно подключиться на совершенно любой порт любой службы по протоколу TCP, будь-то апач, smpt сервер, Mysql сервер, и т.д.
Так вот, на 8080 порту ничего не весит и ничего не слушается (в стандартных настройках), более того, для HTTP он совершенно ненужен.
По факту, хватит верить всему что написано. Лучше-бы посоветовали открыть порт 443, который действительно необходим, для HTTPS.
Максим Сообщения: 6022 Зарегистрирован: 11 дек 2010, 20:29
Извиняюсь что вмешиваюсь. Читать тему не буду, ибо про внешний доступ всё написано в руководстве и что тут обсуждают мне не интересно. Но решил дать пояснение по поводу порта 8080. Не знаю зачем он тут кому-то нужен (тему я не читал, не в курсе), но он используется только для связки Apache+Nginx (если этот модуль выбран в настройках) и только на адресе 127.0.0.1, т.е. открывать этот порт наружу не нужно, даже наоборот, лучше закрыть.
Dragon_Knight Сообщения: 581 Зарегистрирован: 10 сен 2012, 02:43 Контактная информация:
Максим, именно это я и говорю.
Более того, у меня именно так и сделано, на уровне аппаратного фаервола: есть 3 правила:
1) Разрешить 80\TCP.
1) Разрешить 443\TCP.
3) Запретить всё
И считаю что это правильно.
Vlad_Starkovsky Сообщения: 35 Зарегистрирован: 28 окт 2013, 21:27 Откуда: Piter
Dragon_Knight писал(а): Максим, именно это я и говорю.
Более того, у меня именно так и сделано, на уровне аппаратного фаервола: есть 3 правила:
1) Разрешить 80\TCP.
1) Разрешить 443\TCP.
3) Запретить всё
И считаю что это правильно.
Суть в том, что у человека создавшего тему, была проблема именно в проброске 80 порта
8080 был открыт — в итоге закрыли
80 — открыли и теперь все работает.
Тему можно закрывать. Вопрос был в неправильном конфиге маршрутизатора при проброске порта.
svetlitsky.sv Сообщения: 2 Зарегистрирован: 20 июн 2014, 15:46
Ситуация следующая:
OpenServer установлен по умолчанию на компе с внешним адресом, шлюз и адреса днс серверов в настройках прописаны.
Задача для начала: увидеть страничку приветствия при заходе на внешний адрес как-то так http://12.34.56.78/localhost/index.php
Но ничего не получается. Что делать в таком случае? (инструкцию читал, ничего особо не понял — в первый раз однако)
Vlad_Starkovsky Сообщения: 35 Зарегистрирован: 28 окт 2013, 21:27 Откуда: Piter
svetlitsky.sv писал(а): Помогите пожалуйста!
Ситуация следующая:
OpenServer установлен по умолчанию на компе с внешним адресом, шлюз и адреса днс серверов в настройках прописаны.
Задача для начала: увидеть страничку приветствия при заходе на внешний адрес как-то так http://12.34.56.78/localhost/index.php
Но ничего не получается. Что делать в таком случае? (инструкцию читал, ничего особо не понял — в первый раз однако)
Посмотрел порт открыт
Возможно антивирусник/фаерволл не дает внешнего доступа.
В локалке если ввести ip компа страничка открывается?
Техническая поддержка
Как открывать или перенаправлять TCP/UDP порты? Печать
Изменено: Вт, 3 Июл, 2018 на 10:45 AM
Открытие или перенаправление порта необходимо в тех случаях, когда нужно получить доступ к локальным устройства или службам находящимися за роутером в локальной сети.
Возможные задачи могут выглядеть следующим образом:
1. Необходимо получить доступ к WEB интерфейсу самого роутера.
2. Необходимо перенаправить порт 8080 на WEB сервер расположенный на локальном ПК с IP 192.168.88.100

Все операции с открытием и перенаправлением портов производятся в Межсетевом экране

1. Открытие порта
Открываются порты для получения доступа к различным службам на самом роутере или контроллере.
Например откроем порт 80 для получения доступа к WEB-интерфейсу роутера.
Переходим в пункт Правила для трафика

Добавляем новое правило
Так выглядит новое созданное правило
Сохраняем добавленные правила

1.2. Через консоль
Необходимо отредактировать файл /etc/config/firewall
Добавляем правило и сохраняем файл:
config rule
option enabled ‘1’
option target ‘ACCEPT’
option src ‘wan’
option proto ‘tcp udp’
option dest_port ‘1194’
option name ‘OpenVPN’
Перезапускаем межсетевой экран
2. Перенаправление порта
Перенаправление используется, чтобы перенаправить запросы с внешнего порта к другому или тому же порту в локальную сеть.
Например перенаправим запросы с внешнего порта 8080 к локальному ПК с IP 192.168.88.100 и его порту 80
Переходим в пункт Перенаправления портов

Добавляем новое правило:

Так выглядит новое правило

Сохраняем и применяем изменения

2.1. Через консоль
Необходимо отредактировать файл /etc/config/firewall
Добавляем правило и сохраняем файл:
config redirect
option target ‘DNAT’
option src ‘wan’
option dest ‘lan’
option proto ‘tcp udp’
option src_dport ‘8080’
option dest_ip ‘192.168.88.100’
option dest_port ’80’
option name ‘8080 to 192.168.88.100:80’
Перезапускаем межсетевой экран
3. IPTABLES. Перенаправление порта из локальной сети к статическому IP и порту в интернете или VPN.
Бывают и такие ситуации, при которых Ваше оборудование имеет только Локальный IP адрес и маску подсети.
И не имеет настроек шлюза и DNS.
Также данному устройству можно задать цель, т.е. куда оно будет отправлять данные. Обычно это целевой IP адрес и порт(TCP или UDP).
Проблема заключается в том, что при подключении такого устройства к роутеру, данные, которые оно генерирует, не попадут дальше самого роутера. Т.е. они ограниченны рамками локальной сети.
Без шлюза устройство не «видит» интернет.

В данной ситуации нам поможет пользовательское перенаправление портов с использованием IPTABLES
Необходимо перейти в Межсетевой экран :

Перейти на вкладку Пользовательские правила:

И добавить правило перенаправления:
iptables -t nat -A PREROUTING -d 192.168.88.1 -p TCP —dport 9001 -j DNAT —to-destination 31.58.45.6:9001
# This file is interpreted as shell script.
# Put your custom iptables rules here, they will
# be executed with each firewall (re-)start.
# Internal uci firewall chains are flushed and recreated on reload, so
# put custom rules into the root chains e.g. INPUT or FORWARD or into the
# special user chains, e.g. input_wan_rule or postrouting_lan_rule.
iptables -t nat -A PREROUTING -d 192.168.88.1 -p TCP —dport 9001 -j DNAT —to-destination 31.58.45.6:9001
После, нажимаем Применить :

Перезапустим межсетевой экран. Делаем это через консоль:
Проверяем наше перенаправление. Все должно работать.
Была ли эта статья полезной? Да Нет
К сожалению, мы не смогли помочь вам в разрешении проблемы. Ваш отзыв позволит нам улучшить эту статью.