Содержание
Автор — 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 DNS — http://www.openkazan.info/Dynamic-DNS-linux/