С развитием беспроводных технологий, повсеместно появляются точки доступа в Интернет посредством технологии 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.






Сент 1, 2010 в 11:25
А можете объяснить почему именно SOCKS-прокси?
Сент 1, 2010 в 11:52
Потому что он наилучшим образом подходит для данных целей. Другие прокси-сервера (типа HTTP или Gopher или ещё что-то) требуют дополнительной настройки. Тут же описывается быстрое создание прозрачного прокси-сервера для безопасной работы с публичными Wi-Fi точками доступа.
Подробнее про SOCKS-прокси можете почитать в Википедии.
Окт 9, 2010 в 15:13
Здорово, что обновляешь и поддерживаешь этот сайт :)
Окт 9, 2010 в 20:26
О, какие люди. Сто лет тебя не слышал :)
Да, стараюсь обновлять, по мере появления свободного времени. Но не всегда удаётся, к сожалению, и часто возникают очень длинные паузы. :(
Янв 20, 2011 в 22:02
ssh: connect to host 192.168.1.2 port 22: Connection refused
Что я сделал не так?
Сент 16, 2011 в 20:13
Добромысл…
магия слов ключ …