ГЛАВНАЯ >> ИНТЕРНЕТ и ПО >> ХАКЕР ПЛЮС: Покажи ШИШ админам или "Даешь полноценный Интернет!"
НАЗВАНИЕ СТАТЬИ: Покажи ШИШ админам или "Даешь полноценный Интернет!"
АВТОРСТВО: Анна Нартова, Алексей Набережный
ДАТА НАПИСАНИЯ: Март 2004 года
ДАТА ПЕЧАТНОЙ ПУБЛИКАЦИИ: Июль 2004 года ( ISSN 1729-438X )
ДАТА ПОСЛЕДНЕЙ РЕДАКЦИИ: Апрель 2004 года
| | |
СОДЕРЖАНИЕ
Вступление
HTTPort
Альтернативные решения
Заканчивая обзор
В помощь администратору
В последнее время жизнь часто сталкивала нас с разными администраторами офисных сетей и каждый раз мы замечали в глазах последних лукавый взгляд потенциальных узурпаторов корпоративной власти, без которых полноценная работа любой организации невозможна. Вроде простые люди - не президенты, не директора, а способны легко уничтожить свои информационные сервера и испортить жизнь любому коллеге, ограничив его в сетевых правах.
Разумеется, администраторов не выбирают на демократических выборах, а их назначают в соответствии с багажом их специфических знаний и навыков, который должен быть сравним с избыточным потенциалом настоящих хакеров. И каждый администратор считает первым делом обеспечить безопасность для своей сети. И вот здесь работа в Интернете для рядовых сотрудников организации ставится под снайперский прицел сетевого властелина.
Дело в том, что администратор сети и его рядовые корпоративные коллеги смотрят на вопросы безопасности и возможных Интернет ограничений разными глазами. Вот и оказываются последние за навязанным Proxy сервером с обрезанными возможностями работы в Интернет. И люди не могут пользоваться своей POP/SMTP почтой, ftp/telnet клиентами, пейджерами ICQ/IRC, платежными системами WebMoney/Yandex-Money и т.д. и т.п. Только Web путешествия могут стать слабым утешением в подавляющем большинстве офисных локальных сетях России.
Разумеется, в некоторых случаях это оправдано, но не является 100% панацеей от большинства потенциальных угроз. Ведь прокси сервера в пакеты ( не считая заголовков ) не заглядывают, и отличать действия умной вредоносной программы от запроса браузера не могут. Но оставим жаркие дебаты жандармского будущего глобальной сети и просто расскажем, как пользователю работать в локальной сети со своими любимыми программами ( TheBat, CuteFTP, ICQ, IRC, WebMoney и т.д. ) под зорким оком всемогущих администраторов.
Конечно, мы не будем рассказывать Вам, как настроить в офисе обычный модем, принесенный заранее ( кстати, против такого "лома" ни один администратор не устоит :). Мы лишь скромно упомянем полезные программы, связанные с технологией http туннелирования.
Изображение 1. Схематичный принцип функционирования технологии http туннелирования
Очень часто в локальных сетях устанавливаются прокси сервера, которые поддерживают только протокол http. Такие сервера позволяют лишь браузерам смотреть и скачивать web странички, картинки и некоторые файлы. Но существует огромное множество других клиентских программ и Интернет приложений, которые работают по многим другим протоколам TCP/IP ( и делают Socks запросы ). И вот здесь на помощь приходит очевидная технология клиент-серверного туннелирования по протоколу http. Другими словами, клиент упаковывает запросы в допустимые пакеты и направляет их на серверный программный модуль по http протоколу через локальный прокси сервер. Далее, серверная часть туннеля преобразует полученный пакет в первоначальные запросы и выполняет их от своего имени. Все ответы на такие запросы специально пакуются и через туннель по допустимому http протоколу отсылаются назад в клиент-программу на компьютере пользователя, которая передает их программным приложениям как обычные ответы на запросы. Отметим, что основная цель туннелирования - не скорость, а пробивающая способность, и трудность блокирования на прокси.
Разумеется, мы не открываем Америки, например, создатели ICQ уже давно используют собственное туннелирование в своей программе и именно поэтому многие люди находятся в постоянном общении между собой, если вредные админы не предпринимают узконаправленных действий специально против пейджера ICQ.
HTTPort
Ярким представителем технологии http туннелирования является бесплатная программа HTTPort v.3 ( www.htthost.com ), написанная российским программистом Дмитрием Двойниковым. Поскольку обычный HTTP трафик состоит из множества мелких запросов GET, то именно на них и был основан протокол этого решения.
Программа поддерживает шифрование, SOCKS, NTLM аутентификацию с прокси, генератор умных запросов ( необходимая вещь для любителей сомнительных сайтов, кроме того увеличивает стабильность туннеля ) и много других полезных вещей.
Интерфейс программы HTTPort выполнен полностью на английском языке, впрочем, как и сайт самой программы. Конечно, это создает трудности в самостоятельной настройке HTTPort, но на помощь приходят заранее заложенные шаблоны для работы с SMTP/POP серверами Yahoo.com , с внешним прокси сервером, с новостным сервером news.microsoft.com и с одним IRC каналом.
Попробуем детально описать процесс установки полноценных отношений, например, программы TheBat с бесплатным почтовым сервером mail.rambler.ru ( а в скобках дадим инструкции для службы Mail.ru ).
Для начала, устанавливаем и запускаем программу HTTPort . Выбираем закладку "Port mapping" и в поле "Static TCP/IP port mappings ( tunnels )" удаляем все заготовленные шаблоны. Жмем кнопку "ADD", в новообразовавшемся шаблоне подводим мышь к слову "New mapping", правой кнопкой выбираем операцию Edit и вписываем "Rambler SMTP" ( или, например, "Mail SMTP" ). Также, в поле "Local port" меняем значение 0 на любой свободный порт, например 9025 ( или 1234, или 1235, или 1236.. зачем это нужно вы поймете немного позже ). В поле "Remote host" правим адрес удаленного сервера на pop3.rambler.ru ( или smtp.mail.ru для сервиса Mail.ru ). А в значение "Remote port" вместо 0 внесем стандартный порт любого SMTP сервера - 25 ( точно такой же порт и у сервера smtp.mail.ru ).
Все готово для отправки почты, теперь настроим прием писем.
Создаем новый туннель под именем "Rambler POP". Вместо 0 в поле "Local port" вносим любой свободный порт, например 9110 ( или 2222, или 2223, или 2224.. ). А вот в "Remote host" вносим сервер pop3.rambler.ru ( а для сервиса Mail.ru , указываем pop.mail.ru ). В поле "Remote port" указываем стандартный порт любого POP сервера - 110 ( аналогичное значение и для порта сервера pop.mail.ru ). Вот и все: нужные туннели созданы для начала работы с TheBat. Остается указать местные сетевые настройки для программы HTTPort.
В закладке "Proxy" в поле "HTTP proxy to bypass" вписываем имя локального прокси сервера и его порта ( при необходимости указываются логин и пароль для прокси аутентификации ). Как узнать имя прокси сервера? Здесь два очевидных варианта. Можно посмотреть в браузере Internet Explorer в поле ПРОКСИ СЕРВЕР из меню СЕРВИС->СВОЙСТВО ОБОЗРЕВАТЕЛЯ->ПОДКЛЮЧЕНИЯ->НАСТРОЙКА LAN . Другой вариант - просто спросить у сетевого администратора, поскольку эта информация ни как не скрывается и не влияет на безопасность. Кроме того, имеется ряд бесплатных утилит для определения IP адреса локального прокси сервера. А вот если в локальной сети используется прямой выход в интернет или FireWall, то оставляем поля раздела "HTTP proxy to bypass" пустыми.
Изображение 2. Пример настройки программы HTTPort v.3 ( два разных экрана )
В свою очередь, в программе TheBat, в закладке ТРАНСПОРТ, в свойствах почтового ящика ( например, pcw@rаmbler.ru ) в полях SMTP сервер и POP сервер вписываем не pop3.rambler.ru ( или smtp.mail.ru ), а сервер "localhost" либо внутренний IP адрес компьютера - 127.0.0.1 ( что одно и тоже ). В качестве порта почтового SMTP сервера вписываем значение 9025 ( помните, что именно этот порт нашего компьютера мы задействовали в туннеле "Rambler SMTP" ), в поле порта POP сервера записываем 9110. Все, сохраняем настройки и жмем кнопку доставки корреспонденции. Не работает? А Вы не забыли нажать кнопку "Start" из закладки "Proxy" программы HTTPort?
Изображение 3. Пример настройки программы TheBat
Есть несколько важных замечаний по дальнейшей настройке нескольких почтовых адресов при работе с TheBat:
Если все другие почтовые ящики расположены на сервере mail.rambler.ru ( или на проекте Mail.ru ), то не надо создавать новых http туннелей в программе HTTPort . И в TheBat достаточно копировать содержание закладки ТРАНСПОРТ, в свойствах почтовых ящиков. Разумеется, стоит лишь менять поля ПОЛЬЗОВАТЕЛЬ ( ЛОГИН ) и ПАРОЛЬ, а все остальные пункты не стоит править.
Если Вы заводите другие почтовые записи на различных почтовых серверах, то стоит создавать новые туннели во вкладке "Port mapping" и надо вписывать очередные свободные порты ( в нашем случае использовать локальные порты 9025 и 9110 уже нельзя - но есть еще свободные значения 9026 и 9111 , например ).
Если Вы пользуетесь почтовым клиентом Outlook Express, или MS Outlook, или любым другим почтовым ПО, то все наши инструкции не теряют актуальности и стоит лишь внимательно заполнять соответствующие поля этих программ.
В общем, любую программу и любой клиент можно настроить на работу через заранее созданные туннели, главное знать значения портов сервисов. Например, стандартные HTTP - 80, SMTP - 25, POP3 - 110, Telnet - 23, NNTP ( новостной сервер ) - 119, ICQ - 5190 и т.д. А потом помнить, что запрашивать надо не сервер, а заранее отведенный порт своего компьютера ( Т.е. не www.AlexNab.com , а 127.0.0.1:9080 или localhost:9080, где заранее под удаленным хостом ( "Remote host" ) "замапен" сервер www.AlexNab.com . Для телнет соединения надо будет в командной строке выполнить "telnet localhost 9023 ).
К сожалению, при работе с HTTPort в обычном режиме Вы почувствуете один недостаток - медленная скорость работы соединения. Дело в том, что с внешней стороны туннеля стоит серверная часть решения HTTHost и именно она преобразует специальные http пакеты в необходимые запросы, которые Вы делаете, не вникая в сложности технологии туннелирования. Такой публичный сервер, поддерживаемый автором программы HTTPort, всего один и Вы вынужденно делите его пропускную способность с сотнями других пользователей. Но есть выход - использование программы HTTPort ( вернее - серверной ее части HTTHost ) на привилегированном сервере, который может создать и поддерживать любой владелец физического или виртуального сервера. Останется лишь указать адрес эксклюзивного сервера в поле "Use personal remote host at" в закладке "Proxy" программы HTTPort.
Более подробную информацию о разных общедоступных и платных серверах с программой HTTPort можно почитать в разделе FAQ по адресу www.htthost.com/faq.boa . Кстати, там же на английском языке даны указания по настройкам различных программ ( включая Donkey, Kazaa, Morpheus, WinMX, ICQ, Messenger, Pegasus, Eudora, FTP, IRC, AOL Instant Messenger, MSN Messenger, NNTP, PCAnywhere, Quake, Counter-Strike ) и анонимных путешествий по интернету. Детальнейшие инструкции по подключению электронного кошелька WebMoney в локальной сети через программу HTTPort, Вы сможете изучить по адресу www.webmoney.ru/proxy_httport2.shtml .
Развивая тему конвергенции интернет и бизнеса, заметим, что установив на своем домашнем компьютере с открытым интернет подключением серверную часть HTTHost, Вы сможете даже зарабатывать деньги предлагая услуги Вашей поддержки туннелей HTTHost.
Альтернатива
Основной конкурент HTTHost - программа Http-tunnel ( www.http-tunnel.com ). Это такая же клиент-серверная система как и HTTHost. Здесь туннелирование идет внутри одного запроса POST. Таким образом прокси видит один долгоживущий запрос с большим трафиком. За счет этого соединение между клиентом http-tunnel и сервером http-tunnel присутствует всегда. И как следствие достигается скорость, которую HTTPort дать не может, HTTPort на сериях GET теряет много времени на обработку каждого конкретного запроса. Но один пятиминутный POST запрос выглядит подозрительно для администратора. А много-много запросов через небольшие промежутки времени ( как сделано в httport ) - хоть и подозрительно, но заблокировать сложнее. Поэтому посмеем утверждать о большей надежности программы HTTPort в отличии от Http-tunnel. Да и интерфейс программы Http-tunnel нам показался сложным и запутанным. Раздражает в http-tunnel и обязательная ежемесячная плата ( 6USD за 6 месяцев привилегированного обслуживания ). В демо режиме программы http-tunnel, есть возможность работы только с 80 портами удаленных серверов. Даже TheBat не настроить для тестов.
Но зато в Http-tunnel есть важная вещь - поддержка SOCKS5 и UDP. А между тем, во многих программах это необходимое условие. Например, полезнейшая утилита SmartWhoIS ( www.tamos.ru ) работает с SOCKS5.
Изображение 4. Рабочий экран программы http-tunnel
Чуть лучше дела обстоят с программой Socks2HTTP ( www.totalrc.net ) . Здесь можно нормально работать первых 15 дней. А далее возможно ежемесячное обслуживание с платой в 10 долл. Программа Socks2HTTP легко устанавливается и автоматически определяет параметры вашей локальной сети. Как и Http-tunnel, программа Socks2HTTP поддерживает Socks5. Отличительной особенностью Socks2HTTP является интуитивно понятный интерфейс, хотя эта программа, написанная Дэвидом Когосовым ( David Kogosov ), имеет англоязычные заголовки, меню и диалоги.
Изображение 5. Рабочий экран программы Socks2HTTP
Надо сказать, что поддержку русского языка мы встретили только в программе туннелирования уфимских программистов - Socks Connector ( но надо заметить, что SOCKS CONNECTOR не является продуктом для HTTP туннелирования, он работает через SOCKS ), которую можно загрузить с сервера www.winfiles32.com/SC . Помимо родного интерфейса, эта программа понравилась нам своей финансовой доступностью. При разработке, Socks Connector позиционировался как AdWare продукт и поэтому платой за его использование является просмотр баннера.
Обязательно посетите сайт этой программы, поскольку он не только содержит много ценной информации по http туннелированию и настройке Socks Connector, но и реализован на понятном русском ( и английском ).
Честно говоря, программа Socks Connector так и не заработала в полном объеме в наших опытных руках - скорее всего, это "заслуга" нашего локального Proxy сервера и его администратора. Все же хотим поддержать программистов из Уфы и скажем, что эти ребята известны в России и по другой полезной программе iNet Shaper ( www.inetshaper.com ) для предоставления и контроля доступа в Интернет.
Изображение 5. Рабочий экран настройки программы Socks Connector
Заканчивая обзор основных программ http туннелирования, приведем дополнительный список подобных программ для обеспечения полноценного Интернет соединения в локальных сетях:
Httptunnel ( www.nocrew.org/software/httptunnel.html )
Zebedee: Secure IP tunnel ( www.winton.org .uk/zebedee )
Hopster ( www.hopster.com )
SocksCap32 ( www.socks.permeo.com/Download/SocksCapDownload/index.asp )
WinGate ( www.wingate.com )
Ositis WinProxy ( www.ositis.com )
SocksChain ( www.ufasoft.com/socks )
Хотим обратить Ваше внимание, на то, что "Знание - сила" и с этим трудно поспорить. Но вот направить эту силу можно как во благо, так и во вред. Мы искренне надеемся, что информация, полученная из нашей статьи, послужит лишь источником расширения кругозора наших читателей и не будет первопричиной нарушения сетевого этикета.
В помощь администратору
Стоит ли беспокоиться администраторам и пытаться нейтрализовать практический эффект нашей статьи? Ответить однозначно сложно, но скорее всего - НЕТ.
Например, попытка изучить локальные логи и вычислить адрес HTTHost сервера несостоятельна. Количество таких серверных модулей постоянно растет и новые HTTHost адреса могут появляться ежедневно. Более того, каждый из сотрудников многочисленного офиса может в своей домашней локальной сети поставить свой бесплатный персональный модуль HTTHost. А выявление всех домашних серверов HTTHost довольно затруднительно. Да и трафик, создаваемый HTTPort относительно мал в общем рабочем фоне.
Автоматизировать процесс блокировки серверных частей http туннелей тоже не получится. Так как, на низком уровне, послав запросы в туннель, Вы получите ответы в виде обычных html страничек со странными тегами типа <qweasdzxc> или <poijklnmb>.
Можно попробовать перекрыть "кислород" свободы по паттерну доступа ( это устойчивый более-менее регулярный внутри себя постоянный поток запросов ). Но в http туннелях нет особой точности, и запросы появляются с разной периодичностью. Обычно локальный прокси видит нерегулярные, частые пакеты запросов, перемежающиеся с регулярными. Конечно, попытаться блокировать подобный паттерн можно, но это может сломать что угодно другое, например, ту же ICQ, осуществляющую туннелирование самостоятельно. А учитывая подход протокола SOAP и web-сервисы, подобный паттерн может оказаться типичным для какого-то важного приложения, работающего через тот же прокси. И уверяем Вас, жизнь не стоит на месте и стоит ожидать скорого появления генератора SOAP запросов в подобных программах туннелирования.
А теперь посмотрите в завершении нашей статьи приведенный список программ http туннелирования.. и у каждой программы множество своих загадок серверных частей. А не проще ли администратору пойти на встречу продвинутым коллегам и облегчить жизнь себе и зависящим от него людям? Зачем пытаться закручивать гайки на свободных порывах прогрессивных коллег с добрыми глазами?
>> НАВЕРХ СТРАНИЦЫ <<
|
|