Новое расширение Firefox Firesheep подчеркивает тот факт, что сеансы входа в систему HTTP могут быть легко перехвачены, если данные могут быть перехвачены, что тривиально в открытой сети Wi-Fi.
Я хотел бы что-то сделать, чтобы снизить этот риск для моей семьи. У меня есть небольшой VPS (256M, в настоящее время запущены lighttpd и SpamAssassin), который я могу использовать для этой цели, основная идея заключается в том, что когда мы используем ненадежную сеть, трафик (по крайней мере, HTTP) передается через зашифрованный туннель на VPS. публикуется в открытом Интернете.
Какие у меня возможности с учетом этих ресурсов? Если это важно, то все клиенты - Mac. Возможности, о которых я знаю, - это OpenVPN (ключевая проблема заключается в том, что в конфигурации туннель-весь трафик он уничтожает маршрут к DHCP-серверу открытой сети) и HTTP-прокси (о котором я ничего не знаю). Есть ли другие варианты? О каких соображениях и подводных камнях мне следует знать?
Я бы хотел, чтобы на клиентах было что-то, что можно просто включить (я технический специалист, но остальные члены моей семьи нет), и это работает для всех веб-сайтов, независимо от того, поддерживают ли они HTTPS.
шаттл имеет лучшую производительность, чем собственный прокси-сервер SOCKS SSH, и требует гораздо меньше настроек. Просто скопируйте его на каждый Mac и запустите ./sshuttle -r user@sshserver 0.0.0.0/0
(как описано в README.md
) перед выходом в Интернет.
Он только туннелирует трафик TCP, поэтому DNS и DHCP по-прежнему работают в локальной сети.
Как насчет использования HTTPS?
настройте сохраненный сеанс шпатлевки с включенным ssh-туннелем для вашего vps с динамической пересылкой localhost: 8000 (или что-то еще).
установите расширение proxybutton в firefox и настройте прокси для localhost: 8000 (или что-то еще).
установите для них два ярлыка firefox "firefox.exe -proxy 0" и еще один, который представляет собой командный файл, содержащий команды "putty.exe -load" сохраненное имя сеанса "", а затем "firefox -proxy 1"
Ярлык firefox №1 предназначен для защищенных сетей и ведет себя стандартным образом. №2 предназначен для незащищенных сетей, и весь трафик направляется через ваш зашифрованный туннель ssh, прежде чем он будет расшифрован на вашем VPS и превратится в обычный http-трафик между вашим VPS и веб-сервером.
С помощью этого метода они должны будут пройти аутентификацию на вашем VPS, чтобы он действительно работал. Вы можете автоматизировать аутентификацию с помощью ключей, но это создает собственные риски, когда вы не можете гарантировать безопасность конечных точек.
В качестве альтернативы вы можете настроить что-то вроде OpenVPN. Я не уверен, как ваш хостинг-провайдер отнесется к этому или даже будет ли это разрешено.
Если вы используете GNU Linux / other * nix с установленным клиентом Openssh,
Откройте Терминал и запустите:
ssh -D 8080 -p YOURSSHPORT [-i optionalkeyfile] имя пользователя @ your_VPS_DomainName
если вы не используете ключи rsa / dsa и ваш порт ssh по умолчанию 22, это будет работать:
ssh -D 8080 имя пользователя@myvps.com
Затем в вашем браузере
например, Firefox, Настройки> Дополнительно> Сеть> Кнопка Настройки подключения>
Вы готовы туннелировать весь трафик через локальный порт 8080 через WAN-канал вашего VPS.
Кроме того, для туннелирования DNS-запросов через ваш VPS (настоятельно рекомендуется):
Выше мое решение QuickGun для безопасного туннеля с использованием OpenSSH. Надеюсь это поможет.
В итоге я настроил OpenVPN с Tunnelblick на клиентах. Посмотрим, насколько хорошо это работает на практике.