Что такое и зачем настраивать защищенный туннель?
Вам может быть интересно, почему вы даже хотели бы настроить безопасный туннель от своих устройств к домашнему маршрутизатору и какие выгоды вы могли бы извлечь из такого проекта. Давайте рассмотрим несколько различных сценариев, в которых вы используете Интернет, чтобы проиллюстрировать преимущества безопасного туннелирования.
Сценарий один: вы находитесь в кафе, используя свой ноутбук, чтобы просматривать интернет через их бесплатный Wi-Fi. Данные покидают ваш Wi-Fi модем, путешествуют по воздуху, незашифрованному до узла Wi-Fi в кафе, а затем передаются в больший интернет. Во время передачи с вашего компьютера на больший Интернет ваши данные широко открыты. Любой, у кого есть Wi-Fi-устройство в этом районе, может обнюхать ваши данные. Это так больно легко, что мотивированный 12-летний парень с ноутбуком и копией Firesheep мог уловить ваши верительные грамоты за всевозможные вещи. Это как если бы вы были в комнате, заполненной англоязычными ораторами, разговаривая по телефону, говорящему по-китайски. В тот момент, когда кто-то, кто говорит на китайском китайском, приходит (сниффер Wi-Fi), ваша псевдо-конфиденциальность разрушается.
Сценарий два: вы находитесь в кафе, используя свой ноутбук, чтобы снова просматривать интернет через их бесплатный Wi-Fi. На этот раз вы создали зашифрованный туннель между вашим ноутбуком и домашним маршрутизатором, используя SSH. Ваш трафик направляется через этот туннель непосредственно с вашего ноутбука на домашний маршрутизатор, который функционирует как прокси-сервер. Этот конвейер непроницаем для беспроводных устройств для Wi-Fi, которые не видят ничего, кроме искаженного потока зашифрованных данных. Независимо от того, насколько изменчивым является установление, как небезопасно подключение Wi-Fi, ваши данные остаются в зашифрованном туннеле и только покидают его, как только он достиг вашего домашнего подключения к Интернету и выходит в больший интернет.
В сценарии один вы широко открываете серфинг; в двух сценариях вы можете войти в свой банк или на другие частные веб-сайты с той же уверенностью, что и с вашего домашнего компьютера.
Хотя в нашем примере мы использовали Wi-Fi, вы можете использовать туннель SSH для обеспечения жесткого подключения, например, для запуска браузера в удаленной сети и пробивания отверстия через брандмауэр, чтобы работать так же свободно, как и в домашнем подключении.
Звучит неплохо, не так ли? Это невероятно легко настроить, так что нет времени, как настоящее - вы можете подключить свой SSH-туннель в течение часа.
Что вам понадобится
- Маршрутизатор с модифицированной прошивкой Tomato или DD-WRT.
- Клиент SSH, такой как PuTTY.
- Совместимый с SOCKS веб-браузер, такой как Firefox.
Для нашего гида мы будем использовать Tomato, но инструкции почти идентичны инструкциям для DD-WRT, поэтому, если вы используете DD-WRT, не стесняйтесь следовать. Если у вас нет модифицированной прошивки на маршрутизаторе, ознакомьтесь с нашим руководством по установке DD-WRT и Tomato перед продолжением.
Создание ключей для нашего зашифрованного туннеля
Загрузите полный пакет PuTTY и извлеките его в папку по вашему выбору. Внутри папки вы найдете PUTTYGEN.EXE. Запустите приложение и нажмите Ключ -> Создать пару ключей, Вы увидите экран, подобный изображенному выше; перемещайте мышь, чтобы генерировать случайные данные для процесса создания ключа. Как только процесс завершится, окно генератора ключей PuTTY должно выглядеть примерно так: и введите сильный пароль:
После того как вы включили пароль, нажмите и нажмите Сохранить закрытый ключ, Спрячьте полученный файл.PPK где-нибудь в безопасности. Скопируйте и вставьте содержимое окна «Открытый ключ для вставки …» во временный документ TXT.
Если вы планируете использовать несколько устройств на своем SSH-сервере (например, ноутбук, нетбук и смартфон), вам необходимо создать пары ключей для каждого устройства. Идем дальше, создаем, пароли и сохраняем дополнительные пары ключей, которые вам нужны сейчас. Убедитесь, что вы копируете и вставляете каждый новый открытый ключ во временный документ.
Настройка маршрутизатора для SSH
Откройте веб-браузер на компьютере, подключенном к вашей локальной сети.Перейдите к веб-интерфейсу вашего маршрутизатора, для нашего маршрутизатора - Linksys WRT54G, работающего с Tomato, - адрес https://192.168.1.1. Войдите в веб-интерфейс и перейдите к Администрация -> SSH Daemon, Там вам нужно проверить оба Включить при запуске а также Удаленный доступ, Вы можете изменить удаленный порт, если хотите, но единственное преимущество в этом состоит в том, что он незначительно запутывает причину, по которой порт открыт, если какой-либо порт сканирует вас. Uncheck Разрешить вход в пароль, Мы не будем использовать пароль для доступа к маршрутизатору издалека, мы будем использовать пару ключей.
Вставьте открытый ключ (ключи), который вы создали в последней части учебника, в Авторизованные ключи коробка. Каждый ключ должен быть собственной записью, разделенной разрывом строки. Первая часть ключа SSH-RSA является очень важный. Если вы не включите его с каждым открытым ключом, они будут недействительными для SSH-сервера.
Нажмите Начинай сейчас а затем прокрутите вниз до нижней части интерфейса и нажмите Сохранить, На этом этапе ваш SSH-сервер запущен и работает.
Настройка удаленного компьютера для доступа к вашему SSH-серверу
Здесь происходит волшебство. У вас есть пара ключей, у вас есть сервер и работает, но ничто из этого не имеет значения, если вы не можете удаленно подключаться из поля и туннеля к вашему маршрутизатору. Пора освободить нашу надежную сетевую книгу под управлением Windows 7 и приступить к работе.
Сначала скопируйте папку PuTTY, созданную на другой компьютер (или просто загрузите и извлеките ее снова). Отсюда все инструкции сосредоточены на вашем удаленном компьютере. Если вы запустили генератор ключей PuTTy на своем домашнем компьютере, убедитесь, что вы перешли на свой мобильный компьютер для остальной части учебника. Прежде чем вы решите, вам также необходимо убедиться, что у вас есть копия созданного файла.PPK. После того, как вы извлечете PuTTy и под рукой.PPK, мы готовы продолжить.
Запустите PuTTY. Первый экран, который вы увидите, - это сессия экран. Здесь вам нужно будет ввести IP-адрес вашего домашнего интернет-соединения. Это не IP-адрес вашего маршрутизатора в локальной локальной сети, это IP-адрес вашего модема / маршрутизатора, как это видно из внешнего мира. Вы можете найти его, посмотрев главную страницу состояния в веб-интерфейсе вашего маршрутизатора. Измените порт на 2222 (или что бы вы ни заменили в процессе настройки SSH Daemon). Удостовериться Проверяется SSH, Идите вперед и дайте своей сессии имя так что вы можете сохрани это для будущего использования. Мы назвали наш Tomato SSH.
Перейдите, используя левую панель, вниз Подключение -> Auth, Здесь вам нужно нажать кнопку «Обзор» и выбрать файл.PPK, который вы сохранили и перевели на свой удаленный компьютер.
В подменю SSH продолжайте SSH -> Туннели, Именно здесь мы собираемся настроить PuTTY для работы в качестве прокси-сервера для вашего мобильного компьютера. Проверьте оба поля в разделе Перенаправление порта, Ниже, в Добавить новый перенаправленный порт, введите 80 для Порт источника и IP-адрес вашего маршрутизатора для Место назначения, Проверьте Авто а также динамический затем нажмите добавлять.
Дважды проверьте, что запись появилась в Переадресованные порты коробка. Перейдите назад сессии раздел и нажмите Сохранить снова, чтобы сохранить все ваши работы по настройке. Теперь нажмите открыто, PuTTY запустит окно терминала. Вы можете получить предупреждение в этот момент, указав, что главный ключ сервера не находится в реестре. Идем дальше и подтверждаем, что вы доверяете хозяину. Если вы беспокоитесь об этом, вы можете сравнить строку отпечатка пальца, которую она дает вам в предупреждающем сообщении с отпечатком ключа, который вы создали, загрузив его в PuTTY Key Generator. После того, как вы открыли PuTTY и нажали предупреждение, вы увидите экран, который выглядит так:
На терминале вам нужно будет только сделать две вещи. В приглашении введите тип входа корень, В командной фразе введите пароль RSA-ключа- это пароль, который вы создали несколько минут назад, когда вы создали свой ключ, а не пароль своего маршрутизатора. Оболочка маршрутизатора будет загружена, и вы закончите в командной строке. Вы создали безопасное соединение между PuTTY и домашним маршрутизатором. Теперь нам нужно проинструктировать ваши приложения, как получить доступ к PuTTY.
Примечание. Если вы хотите упростить процесс по цене, слегка уменьшающей вашу безопасность, вы можете создать пару ключей без пароля и установить PuTTY для входа в учетную запись root автоматически (вы можете переключить этот параметр в Connect -> Data -> Auto Login ). Это уменьшает процесс соединения PuTTY, просто открывая приложение, загружая профиль и нажав «Открыть».
Настройка браузера для подключения к PuTTY
На этом этапе учебника ваш сервер запущен и работает, ваш компьютер подключен к нему, и остается только один шаг. Вы должны сообщить важным приложениям, что PuTTY используется в качестве прокси-сервера. Любое приложение, которое поддерживает протокол SOCKS, может быть связано с PuTTY, например Firefox, mIRC, Thunderbird и uTorrent, чтобы назвать несколько - если вы не уверены, поддерживает ли приложение SOCKS в меню опций или проконсультируется с документацией. Это критический элемент, который не следует упускать из виду: весь ваш трафик не маршрутизируется через прокси PuTTY по умолчанию; Это должен быть прикрепленным к серверу SOCKS.Например, у вас может быть веб-браузер, в котором вы включили SOCKS и веб-браузер, где вы не были - на одном компьютере, - и один зашифровал бы ваш трафик, а другой - нет.
Для наших целей мы хотим обеспечить наш веб-браузер Firefox Portable, который достаточно прост. Процесс настройки для Firefox переводится практически в любое приложение, которое вам нужно для подключения информации SOCKS. Запустите Firefox и перейдите к Параметры -> Дополнительно -> Настройки, Изнутри Настройки соединения меню, выберите Ручная настройка прокси-сервера и под подключением хоста SOCKS 127.0.0.1-Вы подключаетесь к приложению PuTTY, работающему на вашем локальном компьютере, поэтому вы должны поместить IP-адрес локального хоста, а не IP-адрес вашего маршрутизатора, поскольку вы помещаете в каждый слот. Установите порт в 80, и нажмите ХОРОШО.
У нас есть одна крошечная небольшая настройка, которую мы применяем до того, как все будет готово. По умолчанию Firefox не перенаправляет DNS-запросы через прокси-сервер. Это означает, что ваш трафик всегда будет зашифрован, но кто-то, кто отслеживает соединение, увидит все ваши запросы. Они знали бы, что вы на Facebook.com или Gmail.com, но они не смогут ничего увидеть. Если вы хотите направлять свои DNS-запросы через SOCKS, вам нужно включить его.
Тип о: конфигурации в адресной строке, затем нажмите «Я буду осторожен, я обещаю!», если вы получите строгое предупреждение о том, как вы можете испортить свой браузер. Вставить network.proxy.socks_remote_dns в Фильтр: и затем щелкните правой кнопкой мыши запись для network.proxy.socks_remote_dns и тумблер это Правда, Отсюда, как ваш браузер, так и ваши DNS-запросы будут отправляться через туннель SOCKS.
Хотя мы постоянно настраиваем наш браузер для SSH, вы можете легко переключить свои настройки. Firefox имеет удобное расширение FoxyProxy, что делает его очень простым для переключения ваших прокси-серверов. Он поддерживает множество параметров конфигурации, таких как переключение между прокси-серверами на основе домена, на котором вы находитесь, посещаемых вами сайтов и т. Д. Если вы хотите легко и автоматически отключить свой прокси-сервис на основе того, находитесь ли вы на например, дома или вдали, например, FoxyProxy. Пользователи Chrome захотят проверить Proxy Switchy! для аналогичной функциональности.
Посмотрим, все ли работает, как и планировалось, не так ли? Чтобы проверить ситуацию, мы открыли два браузера: Chrome (слева), без туннеля и Firefox (см. Справа), только что настроенных для использования туннеля.
У вас есть подсказка или трюк для обеспечения удаленного трафика? Используйте SOCKS-сервер / SSH с конкретным приложением и любите его? Нужна помощь в выяснении того, как зашифровать ваш трафик? Давайте услышим об этом в комментариях.