LINUX.ORG.RU

VPN доступ к веб серверу локальной сети


0

1

Захотелось странного.

В локальной сети есть веб-сервер, его адрес 192.168.0.3. Внешний интерфейс маршрутизатора имеет белый статический ip, пусть будет, 1.1.1.1. Нужно организовать защищенный канал между любым пользователем инета и сервером 192.168.0.3. Без установки клиенту дополнительного ПО (типа OpenVPN клиента) и возможностью работы через прокси.

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

Сейчас установлен OpenVPN сервер, все хорошо, но клиенты мучаются с настройками своих сетей и правами админа на компах. Кроме раздачи сертификатов всем ставить OpenVPN клиент надо.

В идеале пользователь должен набрать адрес моего сервера 1.1.1.1, ему должен быть выдан запрос на аутентификацию и дальше он должен уже работать с этим веб-сервером (не Apache).


Я дважды прочем топик, но так и не понял, что ты тут увидел «странного».

Соединение должно быть защищенным, то есть не просто проброс 80 порта на маршрутизаторе.

Проброс 443го порта на маршрутизаторе.

thesis ★★★★★
()
Ответ на: комментарий от thesis

веб-сервер работает на 80 порту, выводить его в открытый инет нельзя (лицензия не позволяет). Нужно организовать аутентификацию на маршрутизаторе и только после открыть этому пользователю доступ к серверу. Рекомендованным производителем сервера средством является OpenVPN, но он неудобен пользователям.

azx
() автор топика

Нужно организовать защищенный канал между любым пользователем инета и сервером 192.168.0.3.

https ?

dada ★★★★★
()
Ответ на: комментарий от azx

выводить его в открытый инет нельзя (лицензия не позволяет).

Выведи его через reverse-proxy, который заодно обеспечит https.

thesis ★★★★★
()
Ответ на: комментарий от dada

Cпасибо, мысль в этом направлении уже пошла... попробую пояснить, может сам пойму чего хочу :).

Веб-сервер коммерческий, закрытый, работает как http сервер (не https) его порт 80, есть ли в нем средства SSL я не знаю, скорее всего нет. Есть маршрутизатор с белым IP. Пробросить порт 80 могу, но это нарушение лицензионных требований этого коммерческого сервера, пробрасывать 443 порт бессмысленно - на нем не крутится никакого сервиса.

Суть вопроса: организовать сеансы доступа к этому сереверу, используя только браузер.

Вот мысль пришла. А на каком ПО работают различные VPN сервисы и анонимайзеры в интернете, типа openvpn.ru, мне надо тоже самое, только конечной целью будет один единственный сервер. Или это все только с помощью клиентов делается, типа openvpn или pptp?

azx
() автор топика
Ответ на: комментарий от thesis

О-о-о только что самому мысль о прокси пришла. Reverse-proxy пока не знаю что за зверь, буду искать.

azx
() автор топика
Ответ на: комментарий от thesis

Обратный прокси, похоже это то что нужно. Будьте так любезны, ткните носом в статейку по оному на SQUID-е например.

azx
() автор топика
Ответ на: комментарий от pyatak123

«pyatak123 На маршрутизаторе веб-сервер с https который прокинет на вашу локальную машинку по http?! » Честно, не знаю даже как к этому подступиться, а так похоже на то что нужно. Он должен транслировать клиентские запросы, но это уже больше на прокси похоже. Буду рыть обратный прокси.

Thnx.

azx
() автор топика
Ответ на: комментарий от thesis

«Обратный прокси по определению прозрачный» а как выполнять аутентификацию в этом случае?

azx
() автор топика
Ответ на: комментарий от azx

Это не на сквидах делается, для этого стоит поднять, например, nginx или apache (другие веб-серверы тоже умеют этот режим - к примеру, cherokee и lighttpd). Аутентификация пользователей и шифрование будет обеспечивать этот сервер, для чего его нужно будет, конечно же, малость настроить. Примеров настроек в инете уйма. Для апача нужно смотреть в сторону mod_proxy + mod_ssl (или mod_nss) + mod_auth и далее, в зависимости от способа аутентификации.
И прекращай слать по три ответа на один камент, флеймить нехорошо.

thesis ★★★★★
()

А pptp со 128-битным шифрованием не будет являться нарушением эксплуатации? А то оно в винде изкоробочно.

imul ★★★★★
()
Ответ на: комментарий от imul

когда клиент за прозрачным http-прокси оно не поможет, к сожалению.

azx
() автор топика
Ответ на: комментарий от azx

Пробрось 80 порт мегасервера на 8080 порт маршрутизтора.

kilolife ★★★★★
()
Ответ на: комментарий от azx

Squid в роли reverse-proxy разу не пользовался, ничего сказать не могу. Если подходит по возможностям - вперед и удачи.

thesis ★★★★★
()

Можно заюзать nginx с https и авторизацией, неважно где на маршрутизаторе или вебсервере с проброской порта

KIRALEX
()
Ответ на: комментарий от azx

ставь другой веб сервер, который будет торчать наружу и пускать клиента только по ssl сертификату

xtraeft ★★☆☆
()
Ответ на: комментарий от azx

Пробросить порт 80 могу

А потом твой «веб-сервер» и крутящийся под ним ***локод выдадут редирект на http://192.168.0.3/ и все твои «изыски» пойдут псу под хвост. Не трахай моск, напиши нормальную инструкцию по настройке OpenVPN и раздай её юзерам. Тем более, что это инструмент рекомендованый аффтарами ***локода и **б-сервера

no-dashi ★★★★★
()
Ответ на: комментарий от KIRALEX

Поднял nginx с https, настроил обратный прокси - все работает. Подключил сертификаты SSL и трафик шифруется. Остался вопрос как на nginx сделать авторизацию (аутентификацию) пользователей средствами https? Направьте мою мысль, пожалуйста!!!

azx
() автор топика
Ответ на: комментарий от azx

АГА!!! Заработало!!!

1. Итак сертификаты взял готовые от OpenVPN, благо генерируются тем же OpenSSL.

2. В качестве Шлюза используется железяка Dlink DFL на ней проброс порта 80 на внутренний сервер с nginx 192.168.0.2.

3. В для nginx раскомментарил конфиг ssl.conf в котором добавил требование верификации сертификатов:

ssl_verify_client on;

ssl_client_certificate /etc/openvpn/keys/ca.crt;

А так же проксирование:

proxy_pass http://192.168.0.3; proxy_redirect default;

4. С помощью заумной команды openssl формирую пакет с клиентским сертификатом pkcs12 и устанавливаю его в любимый браузер.

ВУА-ЛЯ. Всем огромное спасибо за поддержку!!!

PS. На рабость мне мой веб-сервер генерирует относительные ссылки, поэтому бороться со ссылками типа 192.168.0.3 не пришлось, хотя вариант был припасен :).

PPS. Если кто найдет потенциальную дыру в такой схеме, сообщите, пожалуйста.

azx
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.