Выбери свой туннель

Докучаев Дмитрий aka Forb

Xakep, номер #061, стр. 061-056-2


Почему UDP? Дело в том, что все DNS-запросы передаются на 53 UDP-порт в виде датаграмм. Ничто не мешает открыть порт на удаленном сервере и обращаться к нему при помощи специального клиента (при этом 53 UDP-порт не должен фильтроваться). Настройка туннелинга очень простая, более того, и сервер, и клиент ориентированы только на UNIX-like операционки (виндузятники отдыхают). Для полноценной передачи данных также будет необходим proxy-сервер (причем он должен быть установлен на машине с сервером iproxy).

Софт поставляется только под Linux, так что любителям винды придется либо портировать бинарники, либо отказаться от iproxy вообще. Создать туннель очень просто: собираем бинарники клиента и сервера на двух сторонах, после чего запускаем клиентскую часть:

iproxy-client -p 31337 -d 53 -I 195.58.4.3,

где опция –p отвечает за порт, который будет прослушиваться (TCP); -d - порт назначения (UDP) на сервере -I.

По аналогии запустим серверную часть:

./iproxy-server -u -p 333 -d 3128 –v.

Параметр -u означает unicast-сервер, -v – verbose mode. Это пригодится для диагностики возможных ошибок. Также не забывай, что содержимое порта назначения должно совпадать с портом реального прокси-сервера, поддерживающего метод CONNECT.

Теперь можно протестировать цепочку. Запусти какое-нибудь приложение и укажи в нем поддержку proxy-сервера по порту 31337. При правильном раскладе трафик будет исправно передаваться в обе стороны.

Как видишь, все просто. Если нет возможности установить проксю, либо ты хочешь юзать софт под винду, воспользуйся моим туннелером. Про него я рассказывал в статье «DNS-туннелинг». Его ты можешь скачать по адресу kamensk.net.ru/forb/1/x/udp-irc.tar.gz.

Непробиваемая защита

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

Один из таких способов - SSL-туннелирование. Суть в том, что весь трафик, который передается от тебя, будет зашифрован с помощью SSL. Инфа, дошедшая до сервера туннелера, раскриптовывается и передается уже реальному (незащищенному) демону, к примеру, pop3. Таким образом, получаем секурный туннель между тобой и сервером. В качестве последнего чаще всего применяется программа stunnel.

Stunnel и сервис (на который, собственно, и будет приходить шифрованная инфа) целесообразно ставить на одной машине, чтобы полностью исключить утечку трафика. Давай попробуем организовать туннель между почтовым клиентом и pop3-сервером. Для начала установим на машину рабочую версию Stunnel. Ленивые BSD’шники могут воспользоваться портами, линуксоиды-alt’овцы программой apt-get. Остальные качают пакет с официального сайта www.stunnel.org.

Назад на стр. 061-056-1  Содержание  Вперед на стр. 061-056-3