Средства сетевого управления : Удаленный доступ

IKE/SSL VPN для удаленного доступа ASA - Истечение Пароля и Изменение к RADIUS, TACACS и Примеру Конфигурации LDAP

20 октября 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Английский (22 августа 2015) | Отзыв

Введение

Этот документ описывает функции истечения и изменения пароля пароля на туннеле VPN для удаленного доступа, завершенном на устройстве адаптивной защиты Cisco (ASA). Документ охватывает:

  • Другие клиенты: Клиент Cisco VPN и AnyConnect Cisco Безопасная Мобильность
  • Другие протоколы: TACACS, RADIUS и Протокол LDAP
  • Другие хранилища на системе управления доступом Cisco Secure Access Control System (ACS): локальный и Active Directory (AD)

Внесенный Михалом Гаркарзом, специалистом службы технической поддержки Cisco.

Предварительные условия

Требования

Компания Cisco рекомендует предварительно ознакомиться со следующими предметами:

  • Знание конфигурации ASA через интерфейс командной строки (CLI)
  • Базовые знания о конфигурации VPN на ASA
  • Базовые знания о Cisco Secure ACS

Используемые компоненты

Сведения, содержащиеся в данном документе, касаются следующих версий программного обеспечения и оборудования:

  • Устройство адаптивной защиты Cisco, Версия 8.4 и позже
  • SP1 Microsoft Windows server 2003 года
  • Система управления доступом Cisco Secure Access Control System, Версия 5.4 или позже
  • AnyConnect Cisco безопасная мобильность, версия 3.1
  • Cisco VPN Client, выпуск 5

Сведения, представленные в этом документе, были получены от устройств, работающих в специальной лабораторной среде. Все устройства, описанные в этом документе, были запущены с чистой (стандартной) конфигурацией. В рабочей сети необходимо изучить потенциальное воздействие всех команд до их использования.

Настройка

Примечания:

Чтобы получить подробные сведения о командах в данном документе, используйте Средство поиска команд (только для зарегистрированных клиентов).

Обратитесь к документу Важная информация о командах отладки, прежде чем использовать команды debug.

ASA с локальной проверкой подлинности

ASA с локально определенными пользователями не позволяет использование функций изменения пароля или истечения срока действия пароля. Требуется внешний сервер, такой как RADIUS, TACACS, LDAP, или Windows NT.

Пользователи ACS и локальные пользователи

ACS поддерживает и истечение пароля и изменение пароля для локально определенных пользователей. Например, можно вынудить недавно созданных пользователей изменить свой пароль при их следующем входе в систему, или можно отключить учетную запись в определенную дату:

116757-config-asa-remote-01.png

Можно настроить политику паролирования для всех пользователей. Например, после того, как пароль истекает, можно отключить учетную запись пользователя (заблокируйте его без способности войти), или можно предложить опцию для изменения пароля:

116757-config-asa-remote-02.png

Определяемые пользователем параметры настройки имеют приоритет по глобальным параметрам.

ACS-RESERVED-Never-Expired является внутренним атрибутом для идентичности пользователя.

116757-config-asa-remote-03.png

Этот атрибут включен пользователем и может использоваться для отключения глобальных параметров настройки истечения учетной записи. С этой установкой не отключена учетная запись, даже если глобальная политика указывает, что это должно быть:

116757-config-asa-remote-04.png

Пользователи ACS и пользователи Active Directory

ACS может быть настроен для проверки пользователей в AD базе данных. Когда Версия протокола 2 (MSCHAPv2) квитирования с аутентификацией Microsoft используется, истечение пароля и изменение поддерживаются; посмотрите Руководство пользователя для системы управления доступом Cisco Secure Access Control System 5.4: Аутентификация в ACS 5.4: Протокол аутентификации и Идентификационная Совместимость Хранилища для подробных данных.

На ASA можно использовать функцию управления паролями, как описано в следующем разделе, чтобы вынудить ASA использовать MSCHAPv2.

ACS использует Распределенную вычислительную среду Протокола CIFS / Вызов удаленной процедуры (DCE/RPC) вызов, когда это связывается с каталогом Domain Controller (DC) для изменения пароля:

116757-config-asa-remote-05.png

ASA может использовать и RADIUS и TACACS + протоколы для контакта с ACS для AD изменения пароля.

ASA с ACS через RADIUS

Протокол RADIUS исходно не поддерживает истечение пароля или изменение пароля. Как правило, Протокол аутентификации пароля (PAP) используется для RADIUS. ASA передает имя пользователя и пароль в открытом тексте, и пароль тогда зашифрован посредством использования общего секретного ключа RADIUS.

В типичном сценарии, когда пароль пользователя истек, ACS возвращает сообщение Отклонения Радиуса к ASA. ACS замечает что:

116757-config-asa-remote-06.png

Для ASA это - простое сообщение Отклонения Радиуса и опознавательные сбои.

Для решения этой проблемы ASA позволяет использование команды password-management под конфигурацией туннельной группы:

tunnel-group RA general-attributes
 authentication-server-group ACS
 password-management

Команда password-management изменяет поведение так, чтобы ASA был вынужден использовать MSCHAPv2, вместо того, чтобы PAP, в Запросе RADIUS.

Истечение пароля поддержек протокола MSCHAPv2 и изменение пароля. Так, если пользователь VPN приземлился в той определенной туннельной группе во время фазы Xauth, Запрос RADIUS от ASA теперь включает ЗАПРОС ВЫЗОВА CHAP MS:

116757-config-asa-remote-07.png

Если ACS замечает, что пользователь должен изменить пароль, он возвращает сообщение Отклонения Радиуса с ошибкой MSCHAPv2 648.

116757-config-asa-remote-08.png

ASA понимает, что сообщение и использует MODE_CFG для запроса нового пароля от клиента Cisco VPN:

Oct 02 06:22:26 [IKEv1 DEBUG]Group = RA, Username = cisco, IP = 192.168.10.67, 
Received Password Expiration from Auth server!

Клиент Cisco VPN представляет диалоговое окно, которое вызывает для нового пароля:

116757-config-asa-remote-09.png

ASA передает другой Запрос RADIUS с MS-CHAP-CPW и MS-CHAP-NT-Enc-PW информационным наполнением (новый пароль):

116757-config-asa-remote-10.png

ACS подтверждает запрос и возвращается, Радиус - Принимают с Успехом MS-CHAP2:

116757-config-asa-remote-11.png

Это может быть проверено на ACS, который сообщает о '24204 Паролях, измененных успешно':

116757-config-asa-remote-12.png

ASA тогда сообщает об успешной аутентификации и продолжает процесс Режима Quick Mode (QM):

Oct 02 06:22:28 [IKEv1]Group = RA, Username = cisco, IP = 192.168.10.67, 
User (cisco) authenticated.

ASA с ACS через TACACS +

Точно так же TACACS + может использоваться для истечения пароля и изменения. Функция управления паролями не необходима, потому что ASA все еще использует TACACS + с типом проверки подлинности ASCII вместо MSCHAPv2.

Нескольками пакетов обмениваются, и ACS просит новый пароль:

116757-config-asa-remote-13.png

Клиент Cisco VPN представляет диалоговое окно (который отличается от диалогового окна, используемого RADIUS), который вызывает для нового пароля:

116757-config-asa-remote-14.png

ACS запрашивает подтверждение нового пароля:

116757-config-asa-remote-15.png

Подарок клиента Cisco VPN коробка подтверждения:

116757-config-asa-remote-16.png

Если подтверждение корректно, ACS сообщает об успешной аутентификации:

116757-config-asa-remote-17.png

ACS тогда регистрирует событие, что пароль был изменен успешно:

116757-config-asa-remote-18.png

Отладки ASA показывают полный процесс обмена и успешной аутентификации:

Oct 02 07:44:40 [IKEv1 DEBUG]Group = RA, Username = cisco, IP = 192.168.10.67, 
Received challenge status
!
Oct 02 07:44:40 [IKEv1 DEBUG]Group = RA, Username = cisco, IP = 192.168.10.67,
process_attr(): Enter!
Oct 02 07:44:40 [IKEv1 DEBUG]Group = RA, Username = cisco, IP = 192.168.10.67,
Processing MODE_CFG Reply attributes
Oct 02 07:44:40 [IKEv1 DEBUG]Group = RA, Username = cisco, IP = 192.168.10.67,
Received challenge status!
Oct 02 07:44:40 [IKEv1 DEBUG]Group = RA, Username = cisco, IP = 192.168.10.67,
process_attr(): Enter!
Oct 02 07:44:40 [IKEv1 DEBUG]Group = RA, Username = cisco, IP = 192.168.10.67,
Processing MODE_CFG Reply attributes.
Oct 02 07:44:41 [IKEv1]Group = RA, Username = cisco, IP = 192.168.10.67,
User (cisco) authenticated
.

То изменение пароля абсолютно прозрачно для ASA. Это просто немного более длинно TACACS + сеанс с большим количеством запроса и пакетов ответа, которые проанализированы клиентом VPN и представлены пользователю, который изменяет пароль.

ASA с LDAP

Истечение пароля и изменение полностью поддерживаются схемой Сервера LDAP Microsoft AD и Sun.

Для изменения пароля серверы возвращаются 'bindresponse = invalidCredentials' с 'ошибкой = 773'. Эта ошибка указывает, что пользователь должен изменить пароль. Коды типичной ошибки включают:

Код ошибкиОшибка
525Пользователь, не найденный
52eНеверные учетные данные
530Не разрешенный войти в систему в это время
531Не разрешенный войти в систему в этой рабочей станции
532Пароль истек
533Учетная запись отключена
701Учетная запись истекла
773Пользователь должен изменить пароль
775Учетная запись пользователя блокирована

Настройка сервера LDAP:

aaa-server LDAP protocol ldap
aaa-server LDAP (outside) host 10.48.66.128
 ldap-base-dn CN=USers,DC=test-cisco,DC=com
 ldap-scope subtree
 ldap-naming-attribute sAMAccountName
 ldap-login-password *****
 ldap-login-dn CN=Administrator,CN=users,DC=test-cisco,DC=com
 server-type microsoft

Используйте ту конфигурацию для туннельной группы и функции управления паролями:

tunnel-group RA general-attributes
 address-pool POOL
 authentication-server-group LDAP
 default-group-policy MY
 password-management

Настройте AD пользователя, таким образом, требуется изменение пароля:

116757-config-asa-remote-19.png

Когда пользователь пытается использовать клиент Cisco VPN, ASA сообщает о неверном пароле:

ASA(config-tunnel-general)# debug ldap 255
<some output ommited for clarity>

[111] Session Start
[111] New request Session, context 0xbd835c10, reqType = Authentication
[111] Fiber started
[111] Creating LDAP context with uri=ldap://10.48.66.128:389
[111] Connect to LDAP server: ldap://10.48.66.128:389, status = Successful
[111] supportedLDAPVersion: value = 3
[111] supportedLDAPVersion: value = 2
[111] Binding as Administrator
[111] Performing Simple authentication for Administrator to 10.48.66.128
[111] LDAP Search:
       Base DN = [CN=USers,DC=test-cisco,DC=com]
       Filter = [sAMAccountName=cisco-test]
       Scope  = [SUBTREE]
[111] User DN = [CN=cisco-test,CN=Users,DC=test-cisco,DC=com]
[111] Talking to Active Directory server 10.48.66.128
[111] Reading password policy for cisco-test, dn:CN=cisco-test,CN=Users,
DC=test-cisco,DC=com
[111] Read bad password count 2
[111] Binding as cisco-test
[111] Performing Simple authentication for cisco-test to 10.48.66.128
[111] Simple authentication for cisco-test returned code (49) Invalid
credentials
[111] Message (cisco-test): 80090308: LdapErr: DSID-0C090334, comment:
AcceptSecurityContext error, data 773, vece
[111] Invalid password for cisco-test

Если учетные данные недопустимы, 52e, ошибка появляется:

[110] Message (cisco-test): 80090308: LdapErr: DSID-0C090334, comment: 
AcceptSecurityContext error, data 52e, vece

Клиент Cisco VPN тогда просит изменение пароля:

116757-config-asa-remote-20.png

Это диалоговое окно отличается от диалогового окна, используемого TACACS или RADIUS, потому что это отображает политику. В данном примере политика является минимальной длиной пароля семи символов.

Как только пользователь изменяет пароль, ASA мог бы получить это сообщение об ошибках от Сервера LDAP:

[113] Modify Password for cisco-test successfully converted password to unicode
[113] modify failed, no SSL enabled on connection

Политика Microsoft требует использования Уровня защищенных сокетов (SSL) для изменения пароля. Измените конфигурацию:

aaa-server LDAP (outside) host 10.48.66.128
 ldap-over-ssl enable

Microsoft LDAP для SSL

По умолчанию Microsoft LDAP по SSL не работает. Для включения этой функции необходимо установить сертификат для учетной записи компьютера с корректным ключевым расширением. Посмотрите, Как включить LDAP по SSL со сторонним центром сертификации для получения дополнительной информации.

Сертификат может даже быть подписанным сертификатом, потому что ASA не проверяет сертификат LDAP. Посмотрите идентификатор ошибки Cisco CSCui40212, "Позвольте ASA проверять сертификат от сервера LDAP", для связанного запроса на расширение.

Примечание: ACS проверяет сертификат LDAP в Версии 5.5 и позже.

Для установки сертификата откройте mmc консоль, выберите Add/Remove Snap - в, добавьте сертификат и выберите Учетную запись компьютера:

116757-config-asa-remote-21.png

Выберите Локальный компьютер, импортируйте сертификат к персональному хранилищу и переместите cвязанный сертификат Центра сертификации (CA) в доверяемое хранилище. Проверьте, что доверяют сертификату:

116757-config-asa-remote-22.png

Существует дефект в Версии ASA 8.4.2, куда эта ошибка могла бы быть возвращена, когда вы пытаетесь использовать LDAP по SSL:

ASA(config)# debug ldap 255

[142] Connect to LDAP server: ldaps://10.48.66.128:636, status = Successful
[142] supportedLDAPVersion: value = 3
[142] supportedLDAPVersion: value = 2
[142] Binding as Administrator
[142] Performing Simple authentication for Administrator to 10.48.66.128
[142] LDAP Search:
       Base DN = [CN=Users,DC=test-cisco,DC=com]
       Filter = [sAMAccountName=Administrator]
       Scope  = [SUBTREE]
[142] Request for Administrator returned code (-1) Can't contact LDAP server

Версия ASA 9.1.3 работает правильно с одинаковой конфигурацией. Существует два сеанса LDAP. Первый сеанс возвращает сбой с кодом 773 (пароль истек), в то время как второй сеанс используется для изменения пароля:

[53] Session Start
[53] New request Session, context 0xadebe3d4, reqType = Modify Password
[53] Fiber started
[53] Creating LDAP context with uri=ldaps://10.48.66.128:636
[53] Connect to LDAP server: ldaps://10.48.66.128:636, status = Successful
[53] supportedLDAPVersion: value = 3
[53] supportedLDAPVersion: value = 2
[53] Binding as Administrator
[53] Performing Simple authentication for Administrator to 10.48.66.128
[53] LDAP Search:
       Base DN = [CN=Users,DC=test-cisco,DC=com]
       Filter = [sAMAccountName=cisco-test]
       Scope  = [SUBTREE]
[53] User DN = [CN=cisco-test,CN=Users,DC=test-cisco,DC=com]
[53] Talking to Active Directory server 10.48.66.128
[53] Reading password policy for cisco-test, dn:CN=cisco-test,CN=Users,
DC=test-cisco,DC=com
[53] Read bad password count 0
[53] Change Password for cisco-test successfully converted old password to
unicode

[53] Change Password for cisco-test successfully converted new password to
unicode

[53] Password for cisco-test successfully changed
[53] Retrieved User Attributes:

<....most attributes details ommitted for clarity>
accountExpires: value = 130256568000000000 <----- 100ns intervals since
January 1, 1601 (UTC)

Для проверки изменения пароля посмотрите на пакеты. Секретный ключ Сервера LDAP может использоваться Wireshark для дешифрования трафика SSL:

116757-config-asa-remote-23.png

Протокол IKE / отладки Аутентификации, авторизации и учета (AAA) на ASA подобен представленным в сценарии Проверки подлинности RADIUS.

LDAP и предупреждение перед истечением

Для LDAP можно использовать функцию, которая передает предупреждение, прежде чем истечет пароль. ASA предупреждает пользователя за 90 дней до истечения срока действия пароля с этой установкой:

tunnel-group RA general-attributes
 password-management password-expire-in-days 90

Здесь пароль истекает через 42 дня, и пользователь пытается войти:

ASA# debug ldap 255
<some outputs removed for clarity>

[84] Binding as test-cisco
[84] Performing Simple authentication for test-cisco to 10.48.66.128
[84] Processing LDAP response for user test-cisco
[84] Message (test-cisco):
[84] Checking password policy
[84] Authentication successful for test-cisco to 10.48.66.128
[84] now: Fri, 04 Oct 2013 09:41:55 GMT, lastset: Fri, 04 Oct 2013 09:07:23
GMT, delta=2072, maxage=1244139139 secs
[84] expire in: 3708780 secs, 42 days
[84] Password expires Sat, 16 Nov 2013 07:54:55 GMT
[84] Password expiring in 42 day(s),threshold 90 days

ASA передает предупреждение и предлагает опцию для изменения пароля:

116757-config-asa-remote-24.png

Если пользователь принимает решение изменить пароль, существует приглашение для нового пароля, и обычная процедура изменения пароля начинается.

ASA и L2TP

Предыдущие примеры представили версию 1 (IKEv1) IKE и IPSEC VPN.

Для протокола туннелирования на уровне 2 (L2TP) и IPSec, PPP используется в качестве транспорта для аутентификации. MSCHAPv2 требуется вместо PAP для изменения пароля работать:

ciscoasa(config-tunnel-general)# tunnel-group DefaultRAGroup ppp-attributes
ciscoasa(config-ppp)# authentication ms-chap-v2

Для Расширенной проверки подлинности в L2TP в сеансе PPP выполняют согласование о MSCHAPv2:

116757-config-asa-remote-25.png

Когда пароль пользователя истек, сбой с кодом 648 возвращен:

116757-config-asa-remote-26.png

Изменение пароля тогда необходимо. Остаток процесса подобен сценарию для RADIUS с MSCHAPv2.

Посмотрите L2TP По IPsec Между Windows 2000/XP PC и Использованием примера конфигурации PIX/ASA 7.2 Предварительного общего ключа для дополнительных сведений о том, как настроить L2TP.

VPN-клиент SSL (SVC) ASA

Предыдущие примеры упомянули IKEv1 и клиент Cisco VPN, который является поддержкой закончена (EOL).

Рекомендуемое решение для VPN для удаленного доступа является AnyConnect Cisco Безопасная Мобильность, которая использует версию 2 (IKEv2) IKE и протоколы SSL. Изменение пароля и характеристики проверки срока действия работают точно то же для AnyConnect Cisco, как они сделали для клиента Cisco VPN.

Для IKEv1 данные изменения пароля и истечения были переданы между ASA и клиентом VPN в фазе 1.5 (Xauth/настройка режима).

Для IKEv2 это подобно; режим конфигурации использует пакеты CFG_REQUEST/CFG_REPLY.

Для SSL данные находятся на сеансе Протокола защиты транспортного уровня для дейтаграмм (DTLS) контроля.

Конфигурация является тем же для ASA.

Это - пример конфигурации с AnyConnect Cisco и протокол SSL с Сервером LDAP по SSL:

aaa-server LDAP protocol ldap
aaa-server LDAP (outside) host win2003-mga.test-cisco.com
 ldap-base-dn CN=Users,DC=test-cisco,DC=com
 ldap-scope subtree
 ldap-naming-attribute sAMAccountName
 ldap-login-password *****
 ldap-login-dn CN=Administrator,CN=users,DC=test-cisco,DC=com
 ldap-over-ssl enable
 server-type microsoft

webvpn
 enable outside
 anyconnect image disk0:/anyconnect-win-3.1.02040-k9.pkg 1
 anyconnect enable
 tunnel-group-list enable

group-policy MY internal
group-policy MY attributes
 vpn-tunnel-protocol ikev1 ikev2 l2tp-ipsec ssl-client ssl-clientless

tunnel-group RA type remote-access
tunnel-group RA general-attributes
 address-pool POOL
 authentication-server-group LDAP
 default-group-policy MY
 password-management
tunnel-group RA webvpn-attributes
 group-alias RA enable
 without-csd

ip local pool POOL 192.168.11.100-192.168.11.105 mask 255.255.255.0

Как только правильный пароль (который истек) предоставлен, AnyConnect Cisco пытается соединиться и просит новый пароль:

116757-config-asa-remote-27.png

Журналы указывают, что учетные данные пользователя были введены дважды:

116757-config-asa-remote-28.png

Более подробные журналы доступны в Диагностическом средстве создания отчетов AnyConnect (DART).

Веб-портал SSL ASA

Тот же процесс регистрации в системе происходит в веб-портале:

116757-config-asa-remote-29.png

То же истечение срока действия пароля и процесс изменения происходят:

116757-config-asa-remote-30.png

Пароль изменения пользователя ACS

Если не возможно изменить пароль по VPN, можно использовать Пароль Изменения Пользователя ACS выделенный веб-сервис (UCP). Посмотрите Руководство Разработчика ПО для системы управления доступом Cisco Secure Access Control System 5.4: Использование веб-сервисов UCP.

Проверка

В настоящее время для этой конфигурации нет процедуры проверки.

Устранение неполадок

Для этой конфигурации в настоящее время нет сведений об устранении проблем.

Дополнительные сведения



Document ID: 116757