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