Моя цель — разрешить клиентам через Интернет подключаться к прокси-серверу Squid, предоставлять имя пользователя и пароль, а затем получать доступ к нескольким http-серверам во внутренней сети, частью которой является сервер, используя IP-адреса типа 192.168.11.152. В настоящее время доступ к этим серверам осуществляется с помощью беспорядка переадресаций портов NAT с внутреннего порта 80 на каком-то IP на нестандартный внешний порт. Это требует, чтобы люди помнили, что доступ к устройству с IP 192.168.11.152 осуществляется через http://example.com:8936, и это не идеально. Кроме того, многие устройства не поддерживают имена пользователей и пароли, поэтому я полагаюсь на безопасность через неизвестность. Я не хочу использовать VPN, потому что единственный трафик, который я хочу разрешить в сети извне, — это HTTP- и HTTPS-трафик. Я не могу изменять HTTP-серверы ни на одном из своих устройств, поскольку все они являются встроенными системами (выключатели питания, камеры безопасности, сигнальные устройства и т. д.). Я искал руководства по настройке прокси-серверов squid на Debian, но все они посвящены настройке анонимных прокси, не поддерживают имена пользователей и пароли и разрешают прокси-подключения к внешним ресурсам. После подключения к прокси-серверу единственный трафик, который он должен пересылать, это трафик на адреса 192.168.11.xxx. Итак, мои вопросы:
- Возможно ли это вообще? Судя по моим поискам в Google, никто этого не делает, и, может быть, это потому, что это невозможно?
- Хорошая ли это идея? Если нет, есть ли какие-то лучшие, более безопасные и при этом отвечающие моим требованиям?
- С чего начать? Все онлайн-руководства просто дают скопированные и вставленные файлы конфигурации, ничего не объясняя, поэтому я не могу изменить их под свои цели. Страницы руководства достаточно неясны, так что мне нужно знать, что я хочу, прежде чем искать информацию об этом. Есть ли где-то хорошая книга/набор руководств, которые я пропустил?
Я понимаю, что полный ответ на этот вопрос займет больше времени, чем кто-либо, кроме меня, может потратить на это. Я приму ответ, который кратко обсуждает вышеуказанные 3 пункта и сопровождается подробными ссылками.
решение1
Если у ваших пользователей есть SSH-доступ к сети, есть отличная альтернатива.
Используя например
ssh -D9090
они открывают порт SOCKS-прокси на своей локальной машине. Затем они могут получить доступ к любому месту назначения в локальной сети SSH-сервера через этот SOCKS-прокси.
Это можно сделать особенно удобным, используя Firefox с таким расширением, какФокси Прокси, в котором вы можете определить белый список (например, http://192.168.11.*/
плюс https), чтобы соответствующие IP-адреса (и только они) посещались через прокси-сервер.