The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Создание HTTP-туннеля для удаленног..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Создание HTTP-туннеля для удаленног..."  +/
Сообщение от auto_tips (??) on 18-Авг-10, 14:18 
Для организации управления внешней рабочей станцией из корпоративной сети, защищенной 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


URL: http://www.brighthub.com/hubfolio/matthew-casperson/articles...
Обсуждается: http://www.opennet.ru/tips/info/2404.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Создание HTTP-туннеля для удаленного доступа к Linux-хосту в..."  +/
Сообщение от Аноним (??) on 18-Авг-10, 14:18 
По теме NTLM, MS Isa можно ещё глянуть ntlmaps/cntlm.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Создание HTTP-туннеля для удаленного доступа к Linux-хосту в..."  +/
Сообщение от i (??) on 18-Авг-10, 14:30 
ntlmaps не работает
cntlm работает
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Создание HTTP-туннеля для удаленного доступа к Linux-хосту в..."  +/
Сообщение от delirium (ok) on 19-Авг-10, 20:39 
Хм, я делал проще через 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

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Создание HTTP-туннеля для удаленного доступа к Linux-хосту в..."  +/
Сообщение от Аноним (??) on 21-Авг-10, 18:46 
OpenVPN умеет работать по TCP поверх HTTP-proxy.
А дальше делаем VPN-шлюз маршрутом по умолчанию и вуаля.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Создание HTTP-туннеля для удаленного доступа к Linux-хосту в..."  +/
Сообщение от sd (??) on 28-Авг-10, 11:12 
>OpenVPN умеет работать по TCP поверх HTTP-proxy.
>А дальше делаем VPN-шлюз маршрутом по умолчанию и вуаля.

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

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Создание HTTP-туннеля для удаленного доступа к Linux-хосту в..."  +/
Сообщение от john_smith on 22-Авг-10, 17:05 
mono? .exe файл? под *никсом? нде, спасибо за ценные советы, однако после их выполнения это будет винда какая-то вместо *никса!
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру