LINUX.ORG.RU
ФорумAdmin

Альтернатива Cisco VPN client+сертификат


0

1

VPNC не умеет авторизацию по сертификату (+username/пароль), умеет только pre-shared key
CISCO VPN Client не вариант не только потому, что я ненавижу CISCO ещё больше, чем Оракл, но и потому что эта компания издевается над пользователями, не позволяя даже просто скачать этот их бесплатный клиент. О том, что без диких многодневных плясок с бубном или установки устаревшего дистрибутива этот клиент, даже будучи где-то надыбанным, всё равно фиг поставится - я уже умолчу.
Ну так вот... я что думаю:
CISCO использует IPSec, так может, с использованием средств IPSec в Linux можно всё-таки как-то подключиться к циске с использованием сертификата? Пусть VPNC «скрывает» 90% мудрёной архитектуры IPSec, но мы ж трудностей не боимся, а сами себе их создаём! :)

★★★★★

не знаю как в этих ваших линуксах, а в ОпенБСД я без проблем стандартным ipsec'ом подключался

val-amart ★★★★★
()

Главное заставить VPNC саму не строить айписек, а средствами линуха то это делать не трудно. Читай про racoon, там всё в общем-то тривиально.

blind_oracle ★★★★★
()
Ответ на: комментарий от val-amart

Что-то нахожу конфиги для pre-shared, а для x509 не нахожу. А у вас какой тип аутентификации был?
Ещё проблема в том, что посмотреть настройки циски на другой стороне я не могу...

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

x509. через isakmpd, сейчас возможно уже работает и в iked. только вот тебе-то это все-равно не поможет, под линуксом-то. правильно тут про ракун напомнили, крути его.

val-amart ★★★★★
()

енота колупай

leave ★★★★★
()
Ответ на: комментарий от Cyril

Нет, не секрет, в зависимости от настроек на другой стороне racoon.conf может быть написан over 1000000 способами. Это неочевидно или я что-то не то говорю?

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от Cyril
path certificate "/etc/openssl/certs";
path pre_shared_key "/etc/racoon/psk.txt";
remote 87.118.228.242 {
  exchange_mode main;
  verify_identifier on;
  my_identifier asn1dn;
  proposal_check claim;
  peers_identifier asn1dn;
  certificate_type x509 "server.crt" "server.key";
  ca_type x509 "RAD-CA_ROOT.cer";
  passive on;
  generate_policy on;
  ike_frag on;
  nat_traversal on;
  dpd_delay 30;

  lifetime time 24 hours;
  xauth_login "TradeOrg";
  proposal 
  {
    encryption_algorithm aes 256;
    hash_algorithm sha1;
    authentication_method pre_shared_key;
    dh_group 5;
  }
}


Запускаю просто sudo racoon
В том, что гордо именуется логом - ничего нет. Где ещё смотреть я не знаю, но не работает.
Можно ещё перебрать около 12000 (плюс-минус миллион) способов указания параметров.
Насколько понимаю, автосогласование дурацких методов шифрования и хеширования вообще должно реализовываться протоколом IKE, но тем не менее, все они почему-то указываются в racoon.conf.

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

Понял, что нужно racoonctl vc 87.118.228.242

Nov 21 17:43:24 korva-lan racoon: [87.118.228.242] ERROR: notification NO-PROPOSAL-CHOSEN received in unencrypted informational exchange.
Nov 21 17:43:24 korva-lan racoon: [87.118.228.242] ERROR: error message: '< 0 ( Q '.
Nov 21 17:43:34 korva-lan racoon: ERROR: phase1 negotiation failed due to time up. 4a984d000e40b6c0:0000000000000000

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

Во! Я помню, что вроде как-то можно было смотреть с racoon, что именно падает. Но как именно - забыл (использовал пару раз года 4 назад, и потом не было необходимости). И вроде уровень журналирования там устанавливается где-то - и можно прочитать то же самое.

Cyril ★★
()
Ответ на: комментарий от Cyril

И вроде уровень журналирования там устанавливается где-то

(in /etc/racoon/racoon.conf)
log debug;

Ещё настроил /etc/ipsec-tools.conf:

flush;
spdflush;

spdadd 192.168.7.0/24 91.228.79.254/32 any -P out ipsec
    esp/transport//require;

spdadd 91.228.79.254/32 192.168.7.0/24 any -P in ipsec
    esp/transport//require;
В syslog'е при запуске racoon-демона:
Nov 21 18:09:12 korva-lan racoon: DEBUG: pk_recv: retry[0] recv() 
Nov 21 18:09:12 korva-lan racoon: DEBUG: got pfkey X_SPDDUMP message
Nov 21 18:09:12 korva-lan racoon: DEBUG: pfkey X_SPDDUMP failed: No such file or directory
А при попытке racoonctl:
... очень много всего ...
Nov 21 18:10:43 korva-lan racoon: [87.118.228.242] ERROR: notification NO-PROPOSAL-CHOSEN received in unencrypted informational exchange.
Nov 21 18:10:43 korva-lan racoon: [87.118.228.242] ERROR: error message: '< 0 ( Q '.
... очень много всего ...
Куда смотреть, что может быть нетак?

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

> ERROR: notification NO-PROPOSAL-CHOSEN received in unencrypted informational exchange.

Это значит, что не совпадают пары алгоритмов шифрования/подписи, доступные на обеих сторонах. Насколько я помню, racoon таки позволяет указать наборы для алгоритмов в конфигурации - так и надо сделать, пройдя полноятью ряды DES-3DES-AES для алгоритмов шифрования и MD5-SHA1 для подписи. В этом случае будет запущен процесс согласования для определения совпадающих комбинаций на обеих сторонах.

Cyril ★★
()
Ответ на: комментарий от DRVTiny

скажем так, они совсем не родственники и мой конфиг тебе никак не поможет.

насколько я понял (я в ракуне не силен), ты ограничиваешь выбор доступных алгоритмов шифрования и хеширования в своем конфиге, и второй стороне что-то из этого не нравится. попробуй вообще без этих параметров, или возможно как-то указывается мол «разрешить все».

val-amart ★★★★★
()
Ответ на: комментарий от DRVTiny

Протокол IKE (в реализации Cisco) проверяет не все возможные варианты, а только те, которые определены в блоках «crypto isakmp policy». Сделано это, например, для исключения использования слабых алгоритмов типа DES/MD5. Насколько я помню, в racoon тоже необходимо задать допустимые для подключения наборы алгоритмов - перебора всех не происходит. С той конфигурации, что приведена выше, для racoon жёстко задано использование AES256/SHA1, что может не вызывать энтузиазма у устройства Cisco вследствие отсутствия такой пары на нём.

Cyril ★★
()
Ответ на: комментарий от Cyril

> а только те, которые определены в блоках «crypto isakmp policy»

И да, конечно - ещё и блоки «transform-set» определяют параметры шифрования, но это уже непосредственно при передаче данных.

Cyril ★★
()
Ответ на: комментарий от Cyril

Перебрал все варианты алгоритмов шифрования, которые есть в мане, каждый раз сохранял конфиг и убивал/запускал racoon. Не помогает :( А может алгоритм хеширования влиять?
Просто если перебирать все пары шифрование/хеширование, то это уж слишком много вариантов получается. А вы говорили, что мне не нужно знать настройки циски...

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от val-amart

>попробуй вообще без этих параметров, или возможно как-то указывается мол «разрешить все».


Ни так, ни так, к сожалению. Нельзя не указывать параметры - они обязательные (man racoon.conf) и нельзя указать «использовать всё».

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

А может алгоритм хеширования влиять?

Эмм... Я вроде вполне ясно выше написал, что имеет значение пара алгоритмов, и даже примеры привёл. Ж;-) Если на устройстве Cisco сказано - 3DES/SHA1, то 3DES/MD5 от клиента уже не пройдёт.

Как я уже говорил, можно (насколько я помню) в конфигурации racoon указать несколько алгоритмов одновременно - форму записи сейчас уже не помню, но вроде [ DES; 3DES; AES; ] (аналогично для хэшей). В этом случае в процессе согласования должны перебираться все возможные при заданных наборах пары алгоритмов.

Далее. Внимательно проглядев конфигурацию выше, обнаружил там «authentication_method pre_shared_key;». Это-то зачем, если мы по сертификатам?!

Ещё далее. Там же есть параметр «dh_group 5;». Если в конфигурации устройства Cisco никто специально не извращался, то там должно быть «dh_group 2;» максимум, а то и вообще ничего.

Предложение: раз нет желания возиться с родным клиентом под Linux и нет доступа к настройкам устройства Cisco, то можно найти виртуалку с Windows, поставить туда родной клиент под Windows (могу дать попользоваться оба, кстати - и под Windows, и под Linux), в котором включить полное журналирование и посмотреть, какие параметры согласуются (вроде там это отображается - тоже давно не смотрел, не помню). Ну и поиграть с параметрами - есть тонкости при работе за NAT, например.

Cyril ★★
()
Ответ на: комментарий от Cyril

>в котором включить полное журналирование и посмотреть, какие параметры согласуются

Кирилл, а это мысль! У меня уже давно есть настроенный Cisco VPN Client для Windows. А вот для Linux нет, а пригодился бы. Можете сбросить сюда -> drvtiny ПОЧЕМУТО gмыло.com

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

Последнее предложение было вопросом :)

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от Cyril

В логах много всего, но не слова ни про тип шифрования, ни про тип хеширования.
Почему pre-shared key? Ну он меня во время коннекта спраливает UserName и Password, я думал, что xauth_login «TradeOrg»; - для Username, а path pre_shared_key «/etc/racoon/psk.txt»; - в файле пароль для xauth_login'а

DRVTiny ★★★★★
() автор топика
Ответ на: комментарий от DRVTiny

XAuth - это дополнительный метод для аутентификации пользователя, может использоваться и с разделяемым общим ключом, и с сертификатами; пароль при этом обычно запрашивается напрямую у пользователя, а не считывается из файла. А pre_shared_key - это именно разделяемый общий ключ, и одновременно с сертификатом использоваться не может; либо одно, либо другое. При использовании сертификата там должно быть другое значение (со стороны устройства Cisco это rsa-sig, для racoon - надо смотреть).

При этом несовпадение метода идентификации в журналах обычно отображается именно как отсутствие подходящего предложения - то самое NO-PROPOSAL-CHOSEN в журналах. Так что дело может быть ещё и в этом.

Письмо с клиентом уехало.

Cyril ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.