У меня есть интересная проблема безопасности в сети, и я не могу найти лучший способ атаковать.Как обеспечить безопасное соединение между брандмауэрами с использованием ненадежного хоста?
мне нужно предоставить способ, чтобы позволить двум компьютерам (А и В), которые находятся за брандмауэрами, чтобы создать безопасное соединение друг с другом, используя только общий «брокер» ненадежный сервер в Интернете (где-то, как Rackspace). (сервер считается ненадежным, потому что клиенты, стоящие за брандмауэрами, не будут доверять ему, так как он находится на открытом сервере). Я не могу настроить параметры брандмауэра, чтобы сети могли напрямую соединяться друг с другом, потому что соединения не известны заранее время.
Это очень похоже на проблему с подключением NAT к NAT, например, с помощью инструментов справки удаленного рабочего стола (crossloop, copilot и т. Д.).
То, что я действительно хотел бы найти, - это способ открыть SSL-соединение между двумя узлами и предоставить серверу брандмауэр. Предпочтительно, когда хост A пытается подключиться к хосту B, он должен будет предоставить токен, который брокер может проверить с хостом B до установления соединения.
Чтобы добавить еще одну морщину к этому, механизм соединения должен поддерживать два типа связи. Во-первых, HTTP-запрос/ответ на веб-службу REST и второе постоянное соединение сокетов, чтобы разрешить передачу сообщений в реальном времени.
Я рассмотрел методы, которые я знаю о OpenSSL, используя сертификаты, OAuth и т. Д., Но я не вижу ничего, что вполне делает то, что мне нужно.
С кем-нибудь еще что-то занималось раньше? Любые указатели?
Необходимо уделить особое внимание проверке другой стороны, поскольку ненадежный хост перенаправляет ваш трафик ... где-то, что может быть или не быть вашим назначенным пунктом назначения. – Piskvor 2010-11-30 17:17:34