Автор — Lucas Westermann

Если у вас есть ноутбук, то вам наверняка часто приходилось проверять свою электронную почту, читать новости или делать что-нибудь в интернете во время путешествий. Возмож-но вы, как и я, чувствуете при этом сильный дискомфорт, прекрасно зная, что кто-то ещё может быть подключён к бесплатной/открытой точке доступа с запущенным сниффе-ром пакетов в надежде полу-чить несколько паролей и бан-ковских данных. Для себя и сво-ей семьи я установил твёрдое правило: «никаких банковских операций в дороге», но я также беспокоюсь о других паролях и личных данных. Это именно тот случай, когда SSH-туннелирова-ние может быть чрезвычайно полезным. Эта технология ис-пользует SSL для шифрования всех посылаемых данных, при этом общедоступный wifi исполь-зуется лишь как связующее звено между ноутбуком и вашим SSH-сервером (это может быть домашний сервер, домашний ПК, рабочий сервер, виртуальный выделенный сервер и т.д.), а также проис-ходит защита трафика в обоих направлениях от большинства снифферов и от атак «человек посередине».

Первое, что вам необходимо сделать, это установить SSH-сервер на ваш ПК или зарегис-трировать где-нибудь шелл-аккаунт/виртуальный выделен-ный сервер, если вы до сих пор этого не сделали. Если у вас уже есть доступ к аккуанту SSH, переходите к шагу 7.

Первый шаг:

Установите сервер OpenSSH на вашу систему с Ubuntu:

sudo apt-get install openssh-server openssh-client

Второй шаг:

Сделайте резервную копию /etc/ssh/sshd_config

cp /etc/ssh/sshd_config ~

Третий шаг:

Измените файл sshd_config. О возможных параметрах вы можете узнать на странице man:

man sshd_config

Базовая конфигурация должна просто отключать вход из-под root и ограничивать список пользователей, которые могут войти через SSH. Чтобы сделать это, откройте файл /etc/ssh/sshd_config:

sudo vim /etc/ssh/sshd_config

В открытом файле измените строку «PermitRootLogin yes» на «PermitRootLogin no» и добавьте где-нибудь строку «AllowUsers user1,user2,user3». Измените «user1» на существующее имя пользователя, а user2 и user3 следует заменить на имена других учетных записей, кото-рым разрешено подключаться к серверу. У меня, например, эта строка выглядит так:

AllowUsers lswest

Поскольку у меня один пользователь и одна учетная запись, я ввёл такую строку.

Четвёртый шаг:

Перезапустите SSH-сервер, после того как закончите редактировать конфигурационный файл:

sudo /etc/init.d/ssh restart

Пятый шаг:

Создайте по желанию ключ SSH. Так как этот шаг не явля-ется обязательным, то я не буду на нем останавливаться. О том, как сгенерировать ключ, вы можете прочитать на wiki (смотрите ссылку в разделе «Читайте дальше»).

Шестой шаг:

Настройте ваш сервер/ПК для доступа в интернет, а также необходимо настроить dyndns. Ранее я не настраивал динамический DNS для компь-ютеров, поэтому эти инструк-ции я оставляю для вашего самостоятельного прочтения на wiki (вторая ссылка в разделе «Читайте дальше»). Быстрым решением может послужить создание события cron, выпол-няющее следующую команду:

curl http://www.whatismyip.org

а если еще и перенаправить результат в ваш Dropbox или папку Ubuntu One, то вы смо-жете в дальнейшем просмот-реть ip сервера с других компьютеров:

curl http://www.whatismyip.org > ~/Dropbox/IP.txt

Если вы хотите подробнее познакомиться с работой cron, то посмотрите выпуск 24, там я уже писал о нём. Если нет, то выполните следующие шаги для настройки cron на выполне-ние вышеприведённой команды каждый день в 12 часов (в полдень):

crontab -e $USER

Добавьте следующую строку в файл:

00 12 * * * curl http://www.whatismyip.org > ~/Dropbox/IP.txt

После завершения этих дей-ствий вы готовы для выполне-ния последующих шагов.

Седьмой шаг:

Вам будет необходима следу-ющая информация:

IP-адрес вашего сервера, имя пользователя и пароль или имя пользователя и ключ (из шага 5) Для соединения и перенап-равления всего трафика через порт 8080 на ваше SSH-соедине-ние выполните следующую команду:

ssh -D 8080 lswest@localhost

Вам будет предложено при-нять ID RSA с сервера, на что надо ответить «да», а затем вам нужно будет ввести свой пароль (если у вас нет сгенери-рованного файла ключа). После ввода пароля вы увидите приг-лашение командной строки SSH. Вам нужно оставить соеди-нение активным/окно открытым (а если вы запускаете его через screen или tmux, то можете просто отделить сессию).

Восьмой шаг:

Настройте прокси SOCKS в Firefox. Это легко сделать через Правка > Настройки > вкладка Дополнительно > вкладка Сеть > Параметры соединения. Далее настройте параметры так, как показано на картинке справа.

Девятый шаг:

Отключение от прокси-сервера SOCKS. Просто измените пара-метры соединения на «Автома-тически определять настройки прокси для этой сети» или «Без прокси», и отключитесь от сервера SSH.

Надеюсь, эта статья будет полезна для тех, кто понима-ет важность безопас-ности, а другим, возможно, поможет осознать некоторые повседневные проб-лемы безопасности. Конечно, использова-ние безопасного соединения не ограничивается одним браузером, прокси могут быть использованы в Evolution/Thunderbird, а также во многих других программах, но я полагаю, что это самый универсальный/более полезный вариант использования данного метода. Как всегда, я рад отве-тить на конкретные вопросы или принять просьбы о написа-нии статей по электронной почте. Любые отзывы, вопросы и тому подобное жду на lswest34@gmail.com со словами «Command & Conquer» (или просто C&C) в теме сообщения.


Читайте дальше:

wiki-статья описы-вающая установку OpenSSH — https://help.ubuntu.com/6.10/ubuntu/serverguide/ru/openssh-server.html

статья об установке и настройке Dynamic DNShttp://www.openkazan.info/Dynamic-DNS-linux/