• О проекте
  • Контакты
  • Форум
Главное меню
  • На главную
  • Поиск
Разделы
  • SysAdmin
    • Linux
      • Apache
      • Dial-in сервера
      • DNS
      • Gentoo
      • Samba
      • SpamAssassin
      • FTP
      • IPTables
      • LDAP
      • Почтовые системы
      • Программирование под Linux
      • Разное
      • KDE
      • SSH
      • SQL
      • Crypto
    • Microsoft
      • ISA
      • Exchange Server
      • Active Directory
      • Outlook
      • Windows Server
      • Windows XP/Vista/7
    • Citrix
    • Cisco
    • Mikrotik
    • PBX и VoIP
    • Virtual
    • Asterisk
  • Разное интересное
  • tmp
Login Form



  • Забыли пароль?
  • Забыли логин?

PostHeaderIcon Настройка Cisco VPN Client и Cisco IOS на использование сертификатов, хранящихся на eToken

Взято: http://dreamcatcher.ru/2009/12/18/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-cisco-vpn-client-%D0%B8-cisco-ios-%D0%BD%D0%B0-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D0%B5%D1%80/

Спасибо автору!

Автор: Сгибнев Михаил

В ходе повседневной работы может сложиться ситуация, когда необходимо предоставить пользователю возможность удаленной работы. Одним из распространенных решений является доступ к внутренней сети организации с помощью Cisco VPN Client и маршрутизатора Cisco. Его основное преимущество по сравнению с Cisco AnyConnect — простая реализация поддержки аутентификации пользователей с помощью сертификатов.

Материалов по настройке Cisco VPN Client в Интернете довольно много, но когда встала необходимость аутентифицировать пользователя с использованием eToken, я обнаружил катастрофическую нехватку документации, которую и хочу сейчас несколько восполнить.

Основным преимуществом eToken, как мне показалось, является то, что при имеющемся развернутом Microsoft AD, пользователю и для аутентификации удаленного доступа и для аутентификации на рабочей станции требуется помнить только пароль на eToken.

Для реализации задуманного нам будет необходимы следующие вещи:

  • eToken_PKI_Client — обеспечивает поддержу eToken и должен быть установлен как
    на сервере CA, так и на клиентской машине
  • Cisco VPN Client
  • Microsoft Server Enterprise 2003 (обратите внимание — Enterprise, в противном случае вы не сможете создавать шаблоны для CA)
  • Simple Certificate Enrollment Protocol (SCEP) Add-on for Certificate Services
  • Маршрутизатор Cisco 1811, с установленным IOS adventerprisek9 (если вы не хотите использовать AnyConnect, то номер версии не важен)

Так же, можно воспользоваться системой eToken TMS, которая интегрируясь со службой каталога Microsoft Active Directory может намного упростить жизнь системному администратору. Но она, при всех своих плюсах, является платным продуктом. При ее использовании создаются специализированные шаблоны, позволяющие упростить процедуру получения сертификата пользователем.

Итак, приступаем к настройке CA.

При установке непосредственно самого Certification Authority необходимо выбрать тип Enterprise Root CA. Если вы выберете Standalone CA, то не сможете работать с шаблонами CA, что не позволит вам создавать пользовательские сертификаты. Если в вашей организации уже имеется enterprise CA, и сертификаты пользователей планируется создавать на нем, то можно установить stand-alone CA, который будет заниматься непосредственно работой с SCEP.




После установки необходимо добавить к CA поддержку протокола SCEP,
с помощью которого маршрутизатор будет забирать сертификат с сервера CA.

Особое внимание обращаю на существующие ограничения:

  • В имени сервера не должно быть знаков, отличных от букв и цифр (никаких &,*, :, ;, ‘, «,)
  • SCEP Add-on может запускаться от имени системного пользователя или локального пользователя. В последнем случае, пользователь должен быть членом группы IIS_WPG и должен иметь права Read и Enroll для шаблона IPSec (Offline request)
1

Для повышения безопасности, я вам рекомендую использовать «Challenge Phrase Option»

2

Поля заполняются произвольно. Поле «Name» должно в дальнейшем соответствовать имени trustpoint на маршрутизаторе, поэтому советую проявить сдержанность и избежать экзотики.

3

Теперь настала пора конфигурировать маршрутизатор. Его конфигурация будет довольно проста:

!
hostname vpn
!
boot-start-marker
boot-end-marker
!
enable secret 5 $1$vaB9$RNy7FWElMOHj0b1qPh59a.
!
aaa new-model
!
!
aaa authentication login userauthen local
aaa authorization network groupauthor local
!
username vpnclients priv 0 secret XXX
!
aaa session-id common
clock timezone MSK 3
clock summer-time MSD recurring last Sun Mar 2:00 last Sun Oct 3:00
!
!
ip domain name my.ru
ip host cert.my.ru 192.168.1.2
ip name-server 192.168.1.2
!
!
crypto isakmp policy 10
encr aes 256
hash md5
group 2
crypto isakmp client configuration address-pool local VPNpool
!
!
crypto isakmp client configuration group VPNClients
dns 10.1.5.2 10.1.2.1
domain my.ru
acl split
firewall are-u-there
include-local-lan
split-dns my.ru
crypto isakmp profile Remote-VPN
match identity group VPNClients
!
!
crypto ipsec transform-set myset esp-3des esp-sha-hmac
!
crypto dynamic-map dynmap 10
set transform-set myset
set isakmp-profile Remote-VPN
reverse-route
!
!
!
crypto map vpn local-address FastEthernet0
crypto map vpn client authentication list userauthen
crypto map vpn isakmp authorization list groupauthor
crypto map vpn client configuration address respond
crypto map vpn 10 ipsec-isakmp dynamic dynmap
!
!
interface FastEthernet0
description --- External ---
crypto map vpn
!
!
ip access-list extended split
permit ip 10.0.0.0 0.255.255.255 any
permit ip 172.16.0.0 0.15.255.255 any
permit ip 192.168.0.0 0.0.255.255 any
!
ip local pool VPNpool 192.168.1.100 192.168.1.200
!
ntp server 10.255.255.3

Если вы укажете строку crypto map vpn client authentication list userauthe, то при соединении пользователя дополнительно будет запрашиваться логин/пароль. Для этого создан пользователь vpnclients, но при не обходимости не составит труда прикрутить это к Radius.

Во всех изученных мной примерах использовался des, но схема реально заработала только при использовании 3des. Обязательно синхронизируйте время на сервере CA и на маршрутизаторе, иначе начнутся ошибки при работе с сертификатами. Например при настройке Web SSL возможна ситуация создания self-signed сертификата, так как срок действия полученного еще не начался (маршрутизатор не успел получить точное время). Та же самая картина может быть и в нашем случае. Как написано в документации, имея в сертификате установленный параметр OU (Organisation Unit) можно регулировать доступ, задавая имя группы (На приведенном ниже скриншоте — IT).

10

В нашем случае, пользователь должен иметь атрибут OU = VPNClients.  Настройка trustpoint выглядит так:

!
crypto pki trustpoint cert
enrollment mode ra
enrollment url http://cert.my.ru:80/certsrv/mscep/mscep.dll
usage ike
serial-number none
subject-name cn=vpn.my.ru,o=Rogaikopyta
crl query ldap://cert.my.ru
revocation-check crl
auto-enroll
!

Запрашиваем сертификат сервера:

crypto pki authenticate cert

Обращаю ваше внимание на то, что перед получением своего сертификата, необходимо получить пароль, пройдя по ссылке http://cert.my.ru:80/certsrv/mscep/mscep.dll:

13

Получаем свой сертификат нижеприведенной командой:

crypto pki enroll cert

После получения сертификата мы можем приступить к самой нелегкой части пути — получению пользовательский сертификатов.

Все дальнейшие действия будут проводиться на сервере.

Нам потребуется добавить в раздел Cerificate Templates шаблон Enrollment Agent, для чего нажимаем правой кнопкой мыши на этот пункт, выбираем «New -> Cerificate Template to Issue» и в появившемся окне выбираем необходимый нам шаблон. Этот шаблон нам понадобится для генерации сертификата администратора, подписывающего сертификаты пользователей.

Также необходимо создать шаблон для пользователей.

  • Щелкаем правой кнопкой на шаблон «Smartcard Logon», выбираем пункт «Dublicate Template».
  • В открывшемся окне «Properties of New Template» на вкладке «General» указываем имя шаблона, в данном случае это «eToken Smartcard Logon».
  • Устанавливаем галочку на пункте «Publish certificate in Active Directory».
  • На вкладке «Request Handling» поле «Purpose» должно иметь значение «Signature and Encryption» и установлен параметр «Enroll subject whitout requiring any user input». Нажав на кнопку «CSPs…» выбираем из списка доступных криптопровайдеров «eToken Base Cryptographic Provider».
  • Нажимаем «OK»
  • На вкладке «Issuance Requirements» должен быть отмечен пункт «This number of authorized signatures»
  • Нажимаем «OK»

Действия по добавлению шаблона в раздел Cerificate Templates аналогичны указанным выше.

4

Выписываем сертификат администратора и устанавливаем его:

10
5
6
7

Выписываем сертификат клиента. Обращаю внимание, что у меня апплет ActiveX отказался наботать на IE 7/8, используйте 6 версию.

5
9
8

При записи сертификата будет запрошен пароль на eToken. Возможно, клиенту может понадобиться сертификат сервера, если возникнет ошибка при чтении сертификата клиента на его компьютере. Скачайте его с CA и установите его в хранилище сертификатов браузера того компьютера, за которым будет работать удаленный пользователь.

11
12

По сравнению со сделанным, настройка клиента выглядит достаточно примитивно:




Запустите Cisco VPN Client и выберите пункт меню «New», после чего введите указанные настройки: адрес сервера 193.33.122.56, имя записи и описание заполните произвольно. Укажите тип аутентификации — «Certificate Autentification» и выберите из выпадающего списка свой сертификат (eToken должен быть подключен к компьютеру)

img-1

Сохраните конфигурацию, нажав кнопку «Save». Затем выделите сохраненную конфигурацию и нажмите кнопку «Connect»

img-2

В процессе установки соединения будет запрошен пароль eToken:

img-3

Если соединение установлено, то замочек замкнется:

img-4

Вот, собственно, и все. Процесс наступания на грабли, до получения работоспособной схемы, у меня длился всю рабочую неделю, надеюсь что вам повезет больше.

Используемая литература:

Configuration Examples and TechNotes
Журнал Системный Администратор Июль 2008

 

 

 

 

Copyright © 2010 MiaNet.RU.
All Rights Reserved.

Designed by tim.