The OpenNET Project / Index page

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

Подключение к VPN Juniper Network Connect используя perl-скрипт
Для доступа к некоторым рабочим ресурсам мне необходимо использовать VPN. К
сожалению, он организован на решении Juniper Network Connect, которое
использует клиенты с закрытым исходным кодом для Windows (Windows Secure
Manager) и Linux/Mac (Network Connect). Линукс клиент - ущербный монстрик,
требующий для своей работы browser с устанвленной JVM, причем исключительно
i386 (32 бит) архитектуры (используется JNI). Искренне надеюсь, что дурацкая
модель security by obscurity подохнет вместе с компаниями, которые её
поддерживают. В данной заметке речь пойдет о том, как получить доступ к ВПН без
Java и Firefox.

Итак, когда мне надоело запускать бразуер для установления впн соединения, я
решил разобраться как же это убожество работает. Схема примерно такая:

1) С помощью браузера вводим имя пользователя и пароль (в моём случае rsa secure id из токена).
2) Происходит перенаправление на страничку с Host Checker (Java applet),
который проверяет соответствует ли наша система требованиям, в моём случае его
можно пропустить, видимо правила не жёсткие.  На этом этапе выдаётся
специальная кука DSID.
3) Запускается applet , который скачивает клиента для Linux (Java + JNI).
4) Клиентский applet проверяет, установлен ли клиент, если нет - запускает его установку.
5) Если клиент установлен - через JNI запускается процесс ncsvc, который в свою
очередь и поднимает впн. Кроме того - запускается Java GUI (Java + JNI) которое
показывает статистику.

Оставив за скобками кривизну архитектуры (особенно использование JNI там, где
оно никому не нужно) я стал думать как обойтись без Java. У ncsvc есть
аргументы командной строки, но в моём случае они не работали - виноват
включенный host checker, данный случай описан в Juniper KB20490. Отладка
показала, что взаимодействие с ncsvc происходит по протоколу tcp (демон слушает
на 127.0.0.1:4242). Формат обмена - закрытый, но пакеты небольшие и после
нескольких экспериментов я смог управлять демоном и без Java.

В итоге получился perl-скрипт, который позволяет скачивать Linux клиента,
устанавливать соединение, отображать статистику и работать в консоли. Скачать
скрипт и посмотреть скриншоты можно в моём блоге
(http://samm.kiev.ua/jvpn/jvpn-0.4.0.tar.bz2). Скрипт проверялся на RHEL5/6 и
Ubuntu 12.04. Буду рад замечаниям или сообщениям об ошибках.
 
20.07.2012 , Автор: Alex Samorukov , Источник: http://smallhacks.wordpress.com/201...
Ключи: vpn, juniper, script / Лицензия: CC-BY
Раздел:    Корень / Маршрутизаторы Cisco, VoIP / Ограничение и учет трафика на Cisco

Обсуждение [ RSS ]
 
  • 1, Аноним, 03:23, 23/07/2012 [ответить] [смотреть все]
  • +/
    OpenVPN никак нет Всегда считал, что есть некие эталонные реализации VPN и венд... весь текст скрыт [показать]
     
     
  • 2, Andrey Mitrofanov, 09:39, 23/07/2012 [^] [ответить] [смотреть все]  
  • +/
    > OpenVPN никак нет? Всегда считал, что есть некие эталонные реализации VPN и
    > вендорам нет смысла делать свои...

    Вот примерно то же думают вендоры про openvpn. Причём "эталонность" их для них лежит в плоскости бизнес-моделей, бухгалтерий и пр. "странных" мер и весов.

     
  • 3, samm, 11:02, 23/07/2012 [^] [ответить] [смотреть все]  
  • +/
    Аноним не умеет читать? "Для доступа к некоторым рабочим ресурсам мне необходимо использовать VPN. К сожалению, он организован на решении Juniper Network Connect".

    Как можно догадаться - впн решение выбирал не я. И да, ресурсы в компании с 10000+ сотрудников и при этом сам впн сервис географически разнесён (там около 10 впн серверов). Для доступа к своим домашним ресурсам я использую OpenVPN и вполне им доволен. Заметка несколько не о том.

     
  • 4, vg, 14:50, 31/07/2012 [ответить] [смотреть все]  
  • +/
    Спасибо.
     
  • 5, Аноним, 21:56, 04/02/2016 [ответить] [смотреть все]  
  • +/
    Как этот скрипт переделать для аутентификации на сайте по двум паролям?
     

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



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