The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Создание HTTP-туннеля для удаленного доступа к Linux-хосту в обход Microsoft ISA
Для организации управления внешней рабочей станцией из корпоративной сети,
защищенной Microsoft ISA, можно поднять HTTP-туннель, при помощи которого можно
установить TCP-соединение, несмотря на использование HTTP-прокси и жестких
политик ограничения доступа на межсетевом экране.

Использовать классический пакет GNU HTTPtunnel
(http://www.gnu.org/software/httptunnel/) в такой ситуации мешает отсутствие
поддержки в данной программе  NTLM-аутентифиукации, как правило используемой
при организации выхода пользователей в сеть через Microsoft ISA. Выходом в
данной ситуации является использование программы BoutDuTunnel
(http://boutdutunnel.net/), совместимой с большинством HTTP-прокси,
поддерживающей NTLM-аутентифиукацию, способной работать даже при блокировании
HTTPS и метода "Connect", содержащей в себе встроенный HTTP-сервер и
поддерживающей работу поверх Socks.

BoutDuTunnel поддерживает работу из Linux и Windows, при запуске из Linux
достаточно установить пакет mono и загрузить готовый исполняемый файл bdtunnel
(http://sourceforge.net/projects/bdtunnel/files/).

После установки правим на стороне удаленного сервера файл BdtServerCfg.cfg в
директории BdtServer, приведя его примерно в такой вид:

   <service
      name = "BdtServer"
      protocol = "Bdt.Shared.Protocol.TcpRemoting"
      port = "80"
    />

   <users>
      <имя_пользователя
         enabled = "true"
         password = "пароль"
         admin = "false"
         stimeout = "12"
         ctimeout = "1"
      />
   </users>

, где name - имя туннеля (должно быть одинаковым на обоих концах туннеля),
protocol - тип туннельного протокола, port - номер серверного порта для
формирования туннеля. Секция "users" определяет параметры авторизации для
создания туннеля и таймауты для сброса неактивных сессий и соединений.

После настройки запускаем на стороне удаленного сервера (привилегии
суперпользователя нужны для организации приема соединений на 80 порту):

   sudo mono BdtServer.exe

На стороне клиента, находящегося в локальной сети за прокси-сервером, правим
файл BdtClientCfg.xml в директории BdtGuiClient, приведя его к виду:

   <service
      name="BdtServer"
      protocol="Bdt.Shared.Protocol.TcpRemoting"
      address="адрес удаленного сервера"
      port="80"
      username="имя пользователя"
      password="пароль"
      culture=""
   />

   <port22
      enabled="true"
      shared="false"
      address="адрес удаленного сервера"
      port="22" 
   />

Секция port22 определяет проброс 22 порта на удаленный сервер, что позволит
использовать протокол SSH или работающие поверх него сервисы, например, rsync,
git, NX Client.

Запускаем BdtGuiClient.exe, после чего при соединении к localhost по 22 порту
будет автоматически произведен переброс на 22 порт удаленного сервера, при этом
с точки зрения прокси будет установленно классическое HTTP-соединение, так как
на удаленном конце BoutDuTunnel выступает в роли HTTP-сервера, а не использует
HTTPS-метод "Connect".

Для противников Mono вместо BoutDuTunnel можно рекомендовать имеющийся в
стандартных репозиториях Debian/Ubuntu пакет proxytunnel
(http://proxytunnel.sourceforge.net/), который также поддерживает
NTLM-аутентификацию, но может работать только на Unix-совместимых системах и
требует включения метода connect на прокси.

Для проброса 22 порта поверх HTTP-прокси при использовании proxytunnel
достаточно прописать в файл конфигурации OpenSSH ~/.ssh/config:

   ProtocolKeepAlives 30
   ProxyCommand /usr/bin/proxytunnel --ntlm -p хост_прокси:порт_прокси -u логин -s пароль -d удаленный_сервер:443
 
17.08.2010 , Источник: http://www.brighthub.com/hubfolio/m...
Раздел:    Корень / Безопасность / SSH

Обсуждение [ RSS ]
 
  • 1.1, Аноним, 14:18, 18/08/2010 [ответить] [смотреть все]
  • +/
    По теме NTLM, MS Isa можно ещё глянуть ntlmaps cntlm ... весь текст скрыт [показать]
     
  • 1.2, i, 14:30, 18/08/2010 [ответить] [смотреть все]  
  • +/
    ntlmaps не работает
    cntlm работает
     
  • 1.3, delirium, 20:39, 19/08/2010 [ответить] [смотреть все]  
  • +/
    Хм, я делал проще через corkscrew:

    http://www.mtu.net/~engstrom/ssh-proxy.php

    и сделал еще такой скрипт для автореконнекта:

    while [ true ];
    do
    echo 'date': Connecting to host.com >> logs/connect.log
    ssh -N -p 443 user@host.com -R 2222:localhost:22
    sleep 5
    done

     
  • 1.4, Аноним, 18:46, 21/08/2010 [ответить] [смотреть все]  
  • +/
    OpenVPN умеет работать по TCP поверх HTTP-proxy А дальше делаем VPN-шлюз маршру... весь текст скрыт [показать]
     
     
  • 2.6, sd, 11:12, 28/08/2010 [^] [ответить] [смотреть все]  
  • +/
    >OpenVPN умеет работать по TCP поверх HTTP-proxy.
    >А дальше делаем VPN-шлюз маршрутом по умолчанию и вуаля.

    а разве OpenVPN не использует метод CONNECT(к-ый будет запрещен с большой долей вероятности)?

     
  • 1.5, john_smith, 17:05, 22/08/2010 [ответить] [смотреть все]  
  • +/
    mono? .exe файл? под *никсом? нде, спасибо за ценные советы, однако после их выполнения это будет винда какая-то вместо *никса!
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:

     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 05.02 Проброс 802.1q/access порта в Linux через IP-сеть
    - 25.01 Использование systemtap для устранения уязвимости в реализации /proc/pid/mem
    - 24.01 Мониторинг загрузки многоядерного сервера по каждому ядру в отдельности в Linux
    - 23.01 Осуществление ОGSM/SMS/USSD вызовов с использованием утилиты mdbus
    - 13.01 Интерактивный firewall в Linux
    - 08.01 Советы по увеличению автономной работы ноутбука с Debian/Ubuntu
    - 31.12 Бэкап и восстановление данных из БД memcachedb и других хранилищ на базе BerkeleyDB
    - 28.12 Получение инкрементальных diff-файлов для subversion
    - 27.12 Решение проблемы поддержки php-zip-extension в Fedora-16
    - 25.12 Настройка сетевого доступа в окружениях QEMU
    RSS | Следующие 15 записей >>


    АКЦИЯ! ПОДПИШИСЬ на журнал Linux Format до 31 января 2012 года и выиграй СУПЕРПРИЗ!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонус- объёмные наклейки на системный блок и подарки: с одним из первых выпусков журнала в 2012 году- диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Подробнее о проведении акции вы можете прочитать на странице сайта.


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList