С развитием беспроводных технологий, повсеместно появляются точки доступа в Интернет посредством технологии Wi-Fi: на вокзалах и в аэропортах, в кафетериях и кинотеатрах, в гостиницах и даже в маршрутках, пока вы стоите в пробке неподалёку от какого-нибудь посещаемого места. Достаточно лишь достать из сумки MacBook, выбрать сеть с наилучшим сигналом и вот вы снова можете делать то, что вам нравится. Но так ли безопасны все эти точки доступа? Не «прослушивает» ли какой-либо злоумышленник траффик с целью выудить оттуда важную информацию вроде логинов/паролей, номеров кредитных карт да и вообще, вашей приватной информации?
Хорошо, когда для совершения платежей или передачи какой-то очень важной информации используется защищённое соединение по протоколу HTTPS. Но что делать, если защиты соединения нет, и при этом есть необходимость быть уверенным на 100% в том, что данные, передаваемые через публичные Wi-Fi сети останутся конфидециальными? В этом случае вам поможет организация SSH-туннеля. Всё, что вам потребуется, — SSH-доступ к какому-либо серверу и 5 минут времени.
Для начала стоит подумать о том, где взять SSH-доступ. Тут может быть несколько вариантов:
- установить собственный сервер с настроенным доступом через SSH в каком-нибудь дата-центре;
- приобрести недорогой тарифный план на хостинге, предоставляющем доступ к серверам по протоколу SSH;
- приобрести услугу выделенного IP-адреса у своего провайдера и настроить SSH-сервер дома;
Есть и другие варианты. Как бы там ни было, я не буду заострять внимание на способах получения доступа к какому-либо серверу по SSH, а опишу, как создать и использовать SSH-тунель, в том случае, когда у вас уже есть SSH-доступ к другому компьютеру.
Запустите терминал и выполните в нём следующую команду:
Рассмотрим подробнее, что делает эта команда:
ssh — запуск утилиты, осуществляющей работу с SSH-сервером
-N — параметр, отвечающий за то, чтобы команды не транслировались на удалённый сервер
-D 9999 — параметр, указывающий, через какой адрес/порт пробрасывать данные
user_name — ваше имя для соединения на удалённом сервере
server_address — собственно, адрес сервера, через который будет происходить туннелирование
Например, в моём случае это будет выглядеть так:
После того, как вы выполните эту команду, вас попросят ввести пароль, соответствующий указанному в соединении пользователю. Как только вы это сделаете (при условии, что введёте правильный пароль), у вас готов SSH-туннель, и теперь можно указывать системе, чтобы трафик шёл не напрямую, через Wi-Fi-соединение, а через созданное вами безопасное соединение.

Запустите приложение «Системные настройки» и выберите в нём пункт «Сеть«:

В открывшемся окне выберите пункт с вашим беспроводным соединением и нажмите кнопку «Дополнительно«:

В окне дополнительных настроек выберите вкладку «Прокси«, включите пункт «SOCKS-прокси«, в поле адреса и порта впишите настройки: 127.0.0.1 (адрес вашего внутреннего сетевого интерфейса) и 9999 (порт, указанный при создании SSH-туннеля):

Теперь нажмите кнопку «ОК«, затем «Применить» и теперь ваш беспроводной трафик будет идти через SSH-туннель, что не позволит злоумышленникам его перехватить и прочитать.
Чтобы выключить проксирование, вернитесь к настройкам прокси и отключите пункт «SOCKS-прокси«, после чего подтвердите внесённые изменения, а в терминале с включённым туннелем нажмите комбинацию клавиш Ctrl+C, которая остановит выполнение приложения ssh.