Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Как настроить VPN(PPTP) с авторизацией по смарт-карте (etoken)?  (Прочитано 3837 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн And390

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Всем привет.
Пытаюсь настроить доступ к существующей корпоративной сети через VPN(PPTP) со смарт-картой Aladdin eToken PRO на ubuntu 14. Работает в Windows. Драйвера (точнее, PKI Client от аладина) вроде бы установились, смарт-карта определяется, получилось вытянуть с нее сертификаты. Дальше пытаюсь следовать вот этому руководству http://media.kaspersky.com/ru/documents/vpn_safenet_authentication_client_for_ubuntu.pdf (раздел про pptp).
Создаю конфиги, как описано, запускаю sudo pon myconn debug, получаю:
using channel 4
Using interface ppp0
Connect: ppp0 <--> /dev/pts/4
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf5bea371> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x0 <mru 1400> <auth eap> <magic 0x7052840> <pcomp> <accomp> <callback CBCP> <mrru 1614> <endpoint [local:a5.22.80.e4.da.1c.45.13.b1.aa.a5.f0.f3.06.b1.e3.00.00.00.00]> < 17 04 02 fb>]
sent [LCP ConfRej id=0x0 <callback CBCP> <mrru 1614> < 17 04 02 fb>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xf5bea371> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x1 <mru 1400> <auth eap> <magic 0x7052840> <pcomp> <accomp> <endpoint [local:a5.22.80.e4.da.1c.45.13.b1.aa.a5.f0.f3.06.b1.e3.00.00.00.00]>]
sent [LCP ConfAck id=0x1 <mru 1400> <auth eap> <magic 0x7052840> <pcomp> <accomp> <endpoint [local:a5.22.80.e4.da.1c.45.13.b1.aa.a5.f0.f3.06.b1.e3.00.00.00.00]>]
sent [LCP EchoReq id=0x0 magic=0xf5bea371]
rcvd [EAP Request id=0xd7 Identity <No message>]
sent [EAP Response id=0xd7 Identity <Name "XXX">]
rcvd [LCP EchoRep id=0x0 magic=0x7052840]
rcvd [EAP Failure id=0xd7]
EAP: peer reports authentication failure
sent [LCP TermReq id=0x2 "Failed to authenticate ourselves to peer"]
rcvd [LCP TermReq id=0x3 07 05 28 40 00 3c cd 74 00 00 02 b3]
sent [LCP TermAck id=0x3]
rcvd [LCP TermAck id=0x2 "Failed to authenticate ourselves to peer"]
Connection terminated.
Waiting for 1 child processes...
  script pptp 195.10.198.160 --nolaunchpppd, pid 3791
Script pptp 195.10.198.160 --nolaunchpppd finished (pid 3791), status = 0x0
Не свосем понял, что и зачем указывать в name ("в качестве параметра UserName указать свой доменный логин"), но кажется это пока не имеет значения. Вот еще ссылка на эту тему http://www.nikhef.nl/~janjust/ppp/doc_pkcs11_setup.html и больше ничего полезного не нашел. В обоих случаях надо создать /etc/ppp/openssl.cnf, где и прописывается доступ к драйверу libeTPkcs11.so, но не понимаю, каким образом система подтягивает этот файл? Он нигде больше не указан, и похоже, если его убрать, то ничего(логи) не меняется, как и при наличии/отсутствии смарт-карты.

/etc/ppp/openssl.cnf
(Нажмите, чтобы показать/скрыть)

/etc/ppp/peers/myconn
(Нажмите, чтобы показать/скрыть)

Любая помощь, идеи, ссылки приветствуются :). Не покидает ощущение, что не там копаю.
« Последнее редактирование: 11 Января 2015, 00:48:01 от And390 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Тема сама по себе интересная. Но читая указанные вами статьи, у меня возникло подозрение, что pppd может не содержать нужные вам патчи.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн And390

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Вот эти http://www.nikhef.nl/~janjust/ppp/download.html ? Похоже, попробую попозже (их еще и компилить надо). Но вроде бы его должны были добавить https://bugs.launchpad.net/ubuntu/+source/ppp/+bug/643417...
Если добавить в конфиг require-eap то при попытке запуска пишет:
/usr/sbin/pppd: The remote system (195.10.198.160) is required to authenticate itself
/usr/sbin/pppd: but I couldn't find any suitable secret (password) for it to use to do so.



Пользователь решил продолжить мысль [time]13 Январь 2015, 03:13:52[/time]:
Собрал pppd с патчем, но это ничего не изменило.
Зато одну ошибку исправил, в параметре name там все-таки надо было указать виндовый логин вида username@domain.
Теперь падает здесь:
Initialising engine
EAP-TLS: Cannot use that engine
EAP-TLS SSL error stack:
error:80001401:PKCS11 library:PKCS11_CTX_load:Unable to load PKCS#11 module
error:260B806D:engine routines:ENGINE_TABLE_REGISTER:init failed
Весь лог:
(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль 13 Января 2015, 11:55:01:
Это было из-за того, что libeTPkcs11.so 32-битной версии (под Ubuntu 64-битную версию сделать поленились).
Теперь долго падает так:
Initializing SSL BIOs
 -> Handshake: Client Hello
sent [EAP Response id=0x23 TLS --- ...]
sent [LCP EchoReq id=0x1 magic=0x83244bfb]
rcvd [LCP EchoRep id=0x1 magic=0x6f737754]
sent [LCP EchoReq id=0x2 magic=0x83244bfb]
rcvd [LCP EchoRep id=0x2 magic=0x6f737754]
sent [LCP EchoReq id=0x3 magic=0x83244bfb]
sent [LCP EchoReq id=0x4 magic=0x83244bfb]
rcvd [LCP EchoRep id=0x4 magic=0x6f737754]
sent [LCP EchoReq id=0x5 magic=0x83244bfb]
Script pptp 195.10.198.160 --nolaunchpppd finished (pid 2327), status = 0x0
Modem hangup
Connection terminated.
« Последнее редактирование: 13 Января 2015, 11:55:01 от And390 »

Оффлайн And390

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Слава богам! После того как добавил параметр mru 1400 и убрал need-peer-eap в логе увидел Certificate verification error: CN (tau.nbki.msk) != peer_name (XXX)Прописал remotename tau.nbki.msk (никогда бы не догадался), и скрипт отработал без ошибок, подключение создалось. Правда ресурсы из сети пока все равно не видит.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Можете изложить ваши действия для вики?
Какую версию дистрибутива использовали, какие версии программного обеспечения, и что в итоге привело к успеху?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн And390

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Устанавливал на Ubuntu 14.04 для чистоты эксперимента на 32-битную версию, буду устанавливать 64-битную, кроме установки драйвера, по идее отличий быть не должно (установить драйвер на x64 уже получалось). Есть карточка eToken PRO 64K, и какой-то стандартный майкросовтовский VPN.
Последовательность такая:
1. Установить драйвер смарт карты. В моем случае он включен в софтинку eToken PKI Client 5.0 SP1, но ленивый Аладдин официально поддерживает только Ubuntu 9.04 (32-бит), так что установить ее было тоже не тривиально, там были ненайденные зависимости, libhal1, еще что-то, для 64-битной версии надо было еще проследить, чтобы нужные либы были 32-битные.
2. Вытянуть со смарт-карты сертификат и ключ (первая ссылка).
3. Настроить pppd. Итоговый конфиг (все работает как здесь http://www.nikhef.nl/~janjust/ppp/doc_pptp_clientsetup.html, только надо добавить mru 1400 и еще добавил usepeerdns, чтобы были видны домены из сети):
(Нажмите, чтобы показать/скрыть)
4. Настроить маршрутизацию (route add ...) и ресурсы сети будут видны.
Я готов все это описать более подробно. У меня только вызывают вопросы параметры name и remotename, по второй ссылке про них говорится что-то невнятное про CN= часть сертификата. Получается, в моем случае в name нужно указать виндовый логин (который админы выдают), а вот что такое remotename? Похоже на адрес VPN-сервера внутри сети. Документация:
Цитировать
remotename name
Set the assumed name of the remote system for authentication purposes to name.
Похоже, что это просто какое-то значение, которое админы могут настраивать на сервере произвольно. При подключении из-под винды, естественно все эти настройки указывать не надо, откуда-то она их берет.
« Последнее редактирование: 20 Января 2015, 21:05:47 от And390 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
CN= часть как раз вполне внятная. :)
Common Name - основное имя, на кого выдан сертификат.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн And390

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Да, но в моем случае эти значения совсем не совпадают с CN из сертификатов, по крайней мере тех, которые я вытащил со смарт-карты.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Показывайте openssl x509 -subject -noout -in <certificate>обоих сертификатов.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн And390

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Мой:
subject= /DC=msk/DC=nbki/OU=MBTC Users/CN=\xD0\x97\xD0\xB0\xD1\x85\xD0\xB0\xD1\x80\xD0\xBE\xD0\xB2 \xD0\x90\xD0\xBD\xD0\xB4\xD1\x80\xD0\xB5\xD0\xB9 (MBTC)/emailAddress=azaharov@mbtc.ruСерверный:
subject= /DC=msk/DC=nbki/CN=NBKI-Root-CA-2032

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Это не серверный, это CA похоже.
Кодировку консоли исправьте.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн And390

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Возможно, он вторым хранился на смарт-карте, не знаю где и зачем он используется. У первого стоит такой же issuer.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Так я просил показать сабж вашего сертификата и сервера, к которому подключаетесь.
Ваш показали, а сервер где?

P.S.
https://translate.google.ru/?q=issuer&oe=utf-8&ie=utf-8#en/ru/issuer
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн And390

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Это все, которые хранились на смарт-карте. Откуда взять серверный сертификат?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
C сервера!
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.036 секунд. Запросов: 25.