The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Как зашифровать канал с помощью Nginx"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (Безопасность)
Изначальное сообщение [ Отслеживать ]

"Как зашифровать канал с помощью Nginx"  +/
Сообщение от Аноним (0), 29-Авг-20, 13:26 
Подскажите, плиз, как зашифровать канал с помощью Nginx?

Ситуация следующая: есть роутер с внешним веб-доступом по http://
В Интернете есть внешний реверсный сервер на Nginx, через который можно обращаться к роутеру извне по схеме:

Инет -----http-----> Внешний реверсный Nnginx-прокси ------http------> | Роутер

На данный момент конфиг Nginx следующий:

    server {
        server_name my_http_router.ru;
        listen      88.88.88.88:80;
        location / {
            proxy_pass       http://77.77.77.770:80;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_redirect   default;
            proxy_set_header Host              $http_host;
            proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Real-IP         $remote_addr;
        }
    }

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

Задача состоит в том, чтобы зашифровать участок между Реверсным Nginx-прокси и роутер с помощью еще одного локального прокси, т.е. вот так:

Инет -----http-----> Реверсный Nnginx-прокси ------httpS://------> | Локальный Nnginx-прокси --http--> Роутер

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

Не подскжет ли многоуважаемый All конфиг для этого локального прокси?

PS. VPN и другие решения не предлагать, нужна реализация именно на Nginx.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Как зашифровать канал с помощью Nginx"  +1 +/
Сообщение от ACCA (ok), 29-Авг-20, 19:45 
Ты хочешь сделать на прокси

proxy_pass       https://77.77.77.770:80;

А на локальном nginx proxy http://nginx.org/en/docs/http/configuring_https_servers.html

И это сильно отличается от того, что тебе нужно сделать - прежде всего SSL на внешнем сервере. Иначе получается откровенная глупость.

Ответить | Правка | Наверх | Cообщить модератору

2. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от Аноним (0), 29-Авг-20, 21:05 
> И это сильно отличается от того, что тебе нужно сделать - прежде
> всего SSL на внешнем сервере. Иначе получается откровенная глупость.

Извините, не совсем понял, какую глупость вы имеете в виду.
Если в том, что обащение к внешнему прокси будет незашифрованное (т.е. обычный http) - то мне именно так и нужно, https здесь совсем не нужен.

Зашифровать нужно только "внутренний" канал (т.е. между двумя прокси), а  обращение к внешнему прокси должно быть по обычному 'http'

Ответить | Правка | Наверх | Cообщить модератору

3. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от DeerFriend (?), 30-Авг-20, 00:05 
>> И это сильно отличается от того, что тебе нужно сделать - прежде
>> всего SSL на внешнем сервере. Иначе получается откровенная глупость.
> мне именно так и нужно, https здесь совсем не нужен.
Ответить | Правка | Наверх | Cообщить модератору

5. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от Аноним (0), 30-Авг-20, 10:38 
>>> И это сильно отличается от того, что тебе нужно сделать - прежде
>>> всего SSL на внешнем сервере. Иначе получается откровенная глупость.
>> мне именно так и нужно, https здесь совсем не нужен.

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

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

Что касается VPN, почему он мне не подходит. Причина банальная - любой VPN привлекает внимание т-щей майоров.
И хотя по этому каналу ничего недозволенного не гуляет, но попадать в списки неблагонадежных совсем не хочется.
А httpS - да кому он нужен, почти все сайты на них.

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

Ответить | Правка | Наверх | Cообщить модератору

4. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от ACCA (ok), 30-Авг-20, 06:07 
>> И это сильно отличается от того, что тебе нужно сделать - прежде
>> всего SSL на внешнем сервере. Иначе получается откровенная глупость.
> Извините, не совсем понял, какую глупость вы имеете в виду.

Если ты не зашифровал что-то в Internet - ты это открыл всем. Зачем тогда шифровать хоть что-то?

Дополнительный аргумент в пользу VPN против SSL. Открыть соединение через HTTPS - довольно тяжёлый процесс, причём приходится гонять пакеты туда-сюда поштучно. Поэтому весь "внутренний трафик" лучше завернуть через HTTP через VPN, оставляя HTTPS только там, где деваться уже некуда. Только на канале до клиента.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

6. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от Аноним (0), 30-Авг-20, 14:04 
Похоже, что мой ответ никто не заметил, поэтому дубулирую еще раз:

> Иногда то, что на первый взгляд кажется глупостью, является хорошо продуманной необходимостью :)
> Друзья, уж поверьте мне на слово, это так и есть, и пожалуйста, не заставляйте меня вдаваться в подробности - сэкономим время.
> Нужно именно так, как я прошу вас - внешний доступ обязательно нужен по обычному http, а внутренний, меду проксями - httpS, как бы это вам не казалось странным, и другое сочетание этих протоколов здесь не подходит.
> Что касается VPN, почему он мне не подходит. Причина банальная - любой VPN привлекает внимание т-щей майоров.
> И хотя по этому каналу ничего недозволенного не гуляет, но попадать в списки неблагонадежных совсем не хочется.
> А httpS - да кому он нужен, почти все сайты на них.

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

Да, и похоже, я кое-что упустил из виду:
- нужен конфиг не только для локального прокси,  но видимо, нужно как-то скоректировать приведенный выше конфиг для внешнего реверсного прокси?
Чтобы он тоже участвовал в шифровании трфика между проксями.

Ответить | Правка | Наверх | Cообщить модератору

7. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от DeerFriend (?), 30-Авг-20, 20:10 
> Да, и похоже, я кое-что упустил из виду:
> - нужен конфиг не только для локального прокси,  но видимо, нужно
> как-то скоректировать приведенный выше конфиг для внешнего реверсного прокси?
> Чтобы он тоже участвовал в шифровании трфика между проксями.

Если с одной стороны https, то трафик шифруется в обе стороны.
Возможно ты имел ввиду аутентификацию с помощью клиентского сертификата?

Ответить | Правка | Наверх | Cообщить модератору

8. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от Licha Morada (ok), 30-Авг-20, 20:26 
> Похоже, что мой ответ никто не заметил

Все всё заметили.

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

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

Альтернатива: привлекайте специалиста деньгами, пусть подписывает NDA и аккуратно лаврирует между вашими хотелками.

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

9. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от Licha Morada (ok), 30-Авг-20, 20:35 
> А теперь прошу то помочь с тем, чего я без вашей помощи
> сотворить не сумею.

А по существу, вам уже всё сказали.
Конфиг "внешнего" прокси сервера у вас есть, в нём надо только поменять URL роутера по HTTP на УРЛ "внутреннего" прокси по HTTPS.
Конфиг внутреннего проки экивалентен тому который у вас уже есть. Если что-то не работает, обращайтесь, с описанием диагностики.

Кстати, "зашифровать канал" (как в теме вашего сообщения) это как раз про VPN.
"Канал" в контексте сетевых технологий это
https://ru.wikipedia.org/wiki/Канальный_уровень
Опять, это не упрёк, а обратная связь, о риске ввести в заблуждение любого желающего вам помочь.

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

10. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от Аноним (0), 30-Авг-20, 22:02 
Участок, который хочу зашифровать, проходит по неблагополучной в отношении охоты на ведьм стране.
Поэтому о т-щах майорах я сказал вполне серьезно, не надо искать другой подтекст, которого нет.
А вот дальше трафик попадает в нормальную страну, и поэтому там шифроваться нет смысла.
Более того, если задаться целью шифровать и выходной прокси, это потребует или покупки сертификата, или прикручивания китайского - зачем эта лишняя морока, если http вполне достаточно?

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

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

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

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

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

Ответить | Правка | Наверх | Cообщить модератору

11. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от universite (ok), 30-Авг-20, 23:13 

> Для лучшего понимания можете считать, что я журналист, ведущий расследования о коррупционерах
> - так понятнее? Хотя на самом деле речь о другом, но
> вам это знать ни к чему.

Я думаю, вы очень сильно лукавите.
Подозреваю, вы хотите соорудить анонимный хостинг.
Тут два варианта:
1) VPN между хостами с nginx
2) https между хостами и  варнинг, когда кто-то пытается сделать MITM.


P.S. даже если вы по сигнатурам заблочите такой канал,  добавление мусора быстро сделают сигнатуры бесполезным методом.

Ответить | Правка | Наверх | Cообщить модератору

12. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от Licha Morada (ok), 31-Авг-20, 04:19 

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

> попробую реализовать ваш совет, потом отпишусь, что получится.

Конечно, ждём с нетерпением.

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

13. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от Аноним (0), 31-Авг-20, 09:06 
> Я думаю, вы очень сильно лукавите.

universite, не стоит судить о других по себе. Я вам рассказал половину правды, вторая вам просто ни к чему.


> Подозреваю, вы хотите соорудить анонимный хостинг.

Если бы мне понадобился анонимный хостинг, то я бы тут не заморачивался с проксями, а поступил бы гораздо проще, а главное, гораздо безопаснее - работал бы с хостом через Tor, благо он умеет пропускать ssh. Только мне это не надо.


> P.S. даже если вы по сигнатурам заблочите такой канал,  добавление мусора быстро сделают сигнатуры бесполезным методом.

А вот эта ремарка меня заинтересовала. Можно подробнее, что вы тут имеете в виду?

Ответить | Правка | Наверх | Cообщить модератору

14. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от Аноним (0), 31-Авг-20, 11:34 
>> Я думаю, вы очень сильно лукавите.

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

Ответить | Правка | Наверх | Cообщить модератору

16. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от ACCA (ok), 01-Сен-20, 00:24 
> Участок, который хочу зашифровать, проходит по неблагополучной в отношении охоты на ведьм
> стране.
> Поэтому о т-щах майорах я сказал вполне серьезно, не надо искать другой
> подтекст, которого нет.

Вот смотри - я, как т-щ майор, слушаю твой HTTPS трафик. После этого отправляю HTTP запрос на твой открытый reverse proxy - скажем, 1024000 пробелов внутри PUT request. Получаю пару зашифровано+расшифровано.

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

Дальше продолжать или до тебя дошло, что ты вообще не понимаешь, что ты делаешь?

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

17. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от Аноним (0), 01-Сен-20, 09:46 
С трудом :) Но вам, знатокам,  виднее.

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

Чтобы снаружи, конечно, был виден IP внешнего прокси, а вот понять, откуда, с какого IP поступает на него трафик - чтобы это было невозможно.
И тут без разницы, что будет  использоваться - httpS или VPN, главное - скрыть мой истинный IP.


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

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

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


Ответить | Правка | Наверх | Cообщить модератору

20. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от Аноним (20), 01-Сен-20, 16:39 
Сопоставить возможно. Если иметь контроль над каналом подключения одного из прокси-серверов. Для этого не надо взламывать шифрованное соединение.

Идея в целом дурная. Очередной подкроватный сайт с сомнительным контентом. Сколько можно? Вот прямо совсем нет денег на хостинг? В школе горячие обеды теперь и мама не дает карманные?

Ответить | Правка | Наверх | Cообщить модератору

18. "Как зашифровать канал с помощью Nginx"  +1 +/
Сообщение от Аноним (20), 01-Сен-20, 16:23 
>Получаю пару зашифровано+расшифровано.
>Понятно, что с несимметричным шифрованием я не получу сразу пару ключей.

Полная ахинея. Перед тем, как кого-то учить, надо самому разобраться.

Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

23. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от Аноним (23), 01-Сен-20, 21:06 
>>Получаю пару зашифровано+расшифровано.
>>Понятно, что с несимметричным шифрованием я не получу сразу пару ключей.
> Полная ахинея. Перед тем, как кого-то учить, надо самому разобраться.

Имхо,  этот человек определенно знает о чем говорит.

Ответить | Правка | Наверх | Cообщить модератору

19. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от Аноним (20), 01-Сен-20, 16:32 
>этот конфиг поддерживает также и сокеты.

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

На локальный прокси ставите самоподписные сертификаты и ставите его CA серт в доверенный на реверсном прокси.

http://nginx.org/ru/docs/http/ngx_http_ssl_module.html
http://nginx.org/ru/docs/http/ngx_http_proxy_module.html#pro...

Серьезно, прочитайте. Сразу станете умнее 95% собравшихся. И умнее 99% в многоуважаемом All, где бы это не было.

Ответить | Правка | Наверх | Cообщить модератору

24. "Как зашифровать канал с помощью Nginx"  +/
Сообщение от Аноним (24), 02-Сен-20, 11:52 
> Вебсокеты. С ними ничего не будет, зашифрован промежуточный
> канал или нет, совершенно  неважно.

Как понять эту фразу - что вебсокеты не шифруются??

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру