Все версии этой статьи: English | فارسى

SSH туннелирование

SSH (Secure Shell или безопасная оболочка), является стандартным протоколом, который шифрует обмен данными между вашим компьютером и сервером. Шифрование оберегает данные от просмотра или модификации сетевыми операторами. SSH может использоваться для широкого разнообразия приложений, работающих через связи защищенных сетей, при этом самыми распространенными являются безопасное подключение к серверу и безопасный файлообмен (SCP или SFTP).

Протокол SSH особенно полезен для обхода Интернет цензуры, так как он обеспечивает шифрованный туннель и работает как типичный прокси клиент. Цензоры, скорее всего, не станут полностью блокировать SSH, потому что кроме обхода Интернет цензуры он используется для множества других целей. Например, он используется сетевыми администраторами для администрирования их серверов через Интернет.

Для использования SSH необходимо наличие учетной записи (аккаунта) на серверной машине, которой, как правило, является Unix или Linux сервер. Для обхода Интернет цензуры этот сервер должен иметь неограниченный доступ к сети Интернет и, в идеале,  он должен находиться под управлением надежного знакомого.  Некоторые компании продают аккаунты на своих серверах и многие планы веб хостинга предоставляют доступ по SSH. Список провайдеров учетных записей SSH вы можете найти здесь: http://www.google.com/Top/Computers/Internet/Access_Providers/Unix_Shell_Providers/. Они продают учетные записи по цене от 2 до 10 долларов США в месяц.

Программа работы с SSH называемая OpenSSH входит в дистрибутив большинства версий операционных систем Unix, Linux, и Mac OS. Эта программа, работающая через командную строку, запускается из терминала при наборе "ssh" и нажатии кнопки ввод. Для операционных систем Windows вы также можете получить бесплатную SSH программу, которая называется PuTTY.

Все свежие версии SSH поддерживают создание прокси-сервера SOCKS, который позволяет вашему веб браузеру и широкому разнообразию других программ использовать шифрованное SSH соединение для обмена данными со свободным Интернетом. В этом примере мы опишем только этот вариант использования SSH. Описанные ниже этапы приведут к созданию SOCKS прокси-сервера на локальном порту 1080 вашего компьютера с использованием учетной записи SSH под называнием "accountname@example.com".

Командная строка Linux/Unix и Mac OS (с программой OpenSSH)

Программа OpenSSH доступна для скачивания на сайте http://www.openssh.com/, но она, как правило, предустановленна на компьютерах с операционными системами Linux/Unix и Mac OS. Вам понадобится учетная запись SSH на сервере с неограниченным подключением к сети Интернет.

01.jpg

Программа ssh запускается из терминала операционной системы. Её окно содержит номер локального порта (обычно 1080), имя сервера и имя пользователя (название учетной записи). Выглядит это примерно так:

ssh -D localportnumber accountname@servername

После ввода пароля вы подключитесь к серверу. При использовании опции -D будет создан локальный SOCKS прокси-сервер. Он будет работать до тех пор, пока вы подключены к серверу. В продолжении проверьте ключ хоста и настройте ваши приложения.

Графический интерфейс пользователя в Windows (с программой PuTTY)

Программу PuTTY можно скачать с сайта: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html. При этом вы можете сохранить программу putty.exe на свой жесткий диск для дальнейшего использования, или запустить её прямо с веб сайта (этот вариант больше подходит при работе на публичных компьютерах в библиотеке или Интернет кафе).

После запуска PuTTY появится диалоговое окно сеанса настройки. Сначала введите название хоста (адрес) SSH сервера, к которому вы собираетесь подключиться (в данном примере, "example.com"). Если вам известен только его IP-адрес или если DNS блокирование не позволяет вам подключиться с использованием имени хоста, вы можете вместо него использовать его IP-адрес. Если вы будете выполнять эти действия часто, вы при желании можете создать профиль PuTTY, в котором будет сохранена вся необходимая информация, так что она будет автоматически использоваться при каждом запуске.

02.jpg

Далее в списке категорий выберете «Подключение» (“Connection”), затем «SSH», и затем «Туннели» (“Tunnels”).

В поле «Порт источника» (“Source port”) введите 1080 и выделите блоки "Dynamic" и "IPv4", как указано ниже.

03.jpg

Теперь нажмите на кнопку «Добавить» (“Add”), а затем «Открыть» ("Open"). Создастся подключение к серверу и откроется новое окно, запрашивающее имя пользователя и пароль.

04.jpg

Введите эту информацию, и вы подключитесь к серверу и получите от него соответствующее уведомление. После этого создастся SOCKS прокси-сервер.

05.jpg

Проверка ключа хоста

Когда вы подключаетесь к серверу в первый раз, вам необходимо подтвердить контрольную сумму ключа хоста для этого сервера. Контрольная сумма ключа хоста представляет собой длинную (шестнадцатеричную) последовательность букв и цифр. Выглядит она приблизительно так 57:ff:c9:60:10:17:67:bc:5c:00:85:37:20:95:36:dd. Она надежно идентифицирует каждый конкретный сервер.

Проверка контрольной суммы ключа хоста является мерой обеспечения безопасности, которая позволяет удостовериться, что вы подключились именно к тому серверу, к которому хотели и ваше кодированное соединение не может быть перехвачено. (Программа SSH не предоставляет средство для автоматической проверки контрольной суммы ключа; чтобы воспользоваться этим механизмом обеспечения безопасности, вам необходимо сверить значение контрольной суммы ключа хоста с администратором используемого вами сервера, или попросить доверенное лицо подключиться к тому же серверу и проверить одинаково ли значение контрольной суммы.)

Проверка контрольной суммы ключа хоста является важным этапом для обеспечения гарантии того, что SSH защищает вашу конфиденциальность, предупреждая перехват коммуникаций. Важно заметить, что эта проверка не важна в том случае, если вы только хотите обойти Интернет цензуру и вас не волнует, сможет ли сетевой оператор просмотреть содержание вашего информационного обмена.

Настройка приложений на использование прокси-сервера

Прокси-сервер, созданный описанным выше способом, должен работать до тех пор, пока вы не закроете программу SSH. Однако если ваше соединение с сервером оборвется, вам придется повторить те же шаги для повторной активации прокси-сервера.

Если прокси-сервер установлен и работает нормально, вам необходимо настроить программные приложения на его использование. Если создавать прокси-сервер по описанному выше примеру, будет создан SOCKS прокси-сервер, расположенный на локальном хосте (localhost), номер порта 1080 (известный также как 127.0.0.1, порт 1080). Вам надо постараться настроить ваши приложения так, чтобы не допустить утечку DNS, которая может сделать SSH менее эффективным, не только для обеспечения конфиденциальности, но и для обхода Интернет цензуры.

  • HOW TO BYPASS INTERNET CENSORSHIP by FLOSS Manuals Community Members

    Inform yourself on how Internet censorship works and how to route around it with free software. Includes an excellent overview of the techniques and tools for beginners and advanced users.
    Paperback book: €10.85,

    available on Lulu.com
  • HOW TO BYPASS INTERNET CENSORSHIP - supplement for proprietary software by Sesawe


    Paperback book: €5.05,

    available on Lulu.com