Глобальная сеть (WAN) : Протокол PPP

Общие сведения и настройка аутентификации PPP CHAP

8 февраля 2010 - Перевод, выполненный профессиональным переводчиком
Другие версии: PDF-версия:pdf | Машинный перевод (28 июля 2013) | Английский (9 сентября 2005) | Отзыв

Содержание

Введение
Предварительные условия
      Требования
      Используемые компоненты
      Условные обозначения
Настройка CHAP
      Односторонняя и двусторонняя проверка подлинности
Команды и параметры конфигурации CHAP
Пример передачи
      Вызов
      CHAP-вызов
      Ответное действие
Проверка CHAP
      Результат
Устранение неполадок CHAP
Связанные обсуждения сообщества поддержки Cisco

Введение

Протокол CHAP (Challenge Handshake Authentication Protocol) (определяемый в документе RFC 1994 leavingcisco.com) предназначен для проверки подлинности узла с помощью трехэтапного установления связи. Ниже перечисляются общие действия, выполняемые в рамках протокола CHAP:

  1. После завершения этапа выполнения протокола LCP (Link Control Protocol) и согласования соединения обоих устройств по протоколу CHAP средством проверки подлинности посылается на одноранговый узел сообщение CHAP-вызова.

  2. Одноранговым узлом посылается ответ со значением, рассчитанным с помощью однонаправленного хэширования (MD5 (Message Digest 5)).

  3. Средством проверки подлинности проверяется ответ на основе своего расчета ожидаемого значения хэш-функции. Если значения совпадают, проверка подлинности считается успешной. В противном случае происходит разъединение подключения.

Этот метод проверки подлинности зависит от "тайны", известной только средству проверки подлинности и одноранговому узлу. Тайна не посылается по каналу. Хотя проверка подлинности является лишь односторонней, согласование по протоколу CHAP можно выполнить в обоих направлениях с помощью одной тайны, установленной для взаимной проверки подлинности.

Дополнительные сведения о преимуществах и недостатках протокола CHAP см. в документе RFC 1994 leavingcisco.com.

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

Требования

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

  • Включение протокола PPP в интерфейсе с помощью команды encapsulation ppp.

  • Выходные данные команды debug ppp negotiation.

    Дополнительные сведения см. в документе Общие сведения о выходных данных команды "debug ppp negotiation".

  • Возможность устранения неполадок, когда этап протокола LCP (Link Control Protocol) не находится в открытом состоянии. Это связано с тем, что этап проверки подлинности PPP не начинается, пока этап LCP не завершен и не находится в открытом состоянии. Если команда debug ppp negotiation не указывает, что LCP открыт, необходимо устранить эту проблему, прежде чем продолжить работу.

Примечание. В этом документе не рассматривается протокол MS-CHAP (версия 1 или версия 2). Дополнительные сведения о протоколе MS-CHAP см. в документах Поддержка MS-CHAP и MSCHAP, версия 2.

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

Настоящий документ не имеет жесткой привязки к каким-либо конкретным версиям программного обеспечения и оборудования.

Условные обозначения

Дополнительные сведения об условных обозначениях см. в документе Cisco Technical Tips Conventions.

Настройка CHAP

Процедура настройки CHAP достаточно проста. Например, предположим, что имеется два маршрутизатора, левый и правый, подключенных в сети так, как показано на рис. 1.

Рис. 1. Два маршрутизатора, подключенные в сети

understanding_ppp_chap7.gif

Чтобы настроить проверку подлинности по протоколу CHAP, выполните следующие действия:

  1. Выполните в интерфейсе команду encapsulation ppp.

  2. Включите на обоих маршрутизаторах использование проверки подлинности по протоколу CHAP с помощью команды ppp authentication chap.

  3. Настройте имена пользователей и пароли. Чтобы сделать это, выполните команду username username password password, где username — имя однорангового узла. Убедитесь в следующем:

    • Пароли на обоих концах одинаковы.

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

    Примечание. По умолчанию для своей идентификации маршрутизатором используется собственное имя узла. Однако CHAP-имя пользователя можно изменить с помощью команды ppp chap hostname. Дополнительные сведения см. в документе PPP Authentication Using the ppp chap hostname and ppp authentication chap callin Commands.

Односторонняя и двусторонняя проверка подлинности

CHAP определяется как метод односторонней проверки подлинности. Однако протокол CHAP используется в обоих направлениях для создания двухсторонней проверки подлинности. Следовательно, при использовании двустороннего протокола CHAP трехэтапное установление связи инициируется каждой стороной в отдельности.

В реализации компанией Cisco протокола CHAP вызываемая сторона должна по умолчанию проверить подлинность вызывающей стороны (если проверка подлинности не выключена полностью). Следовательно, односторонняя проверка подлинности, инициируемая вызываемой стороной, является минимально возможной проверкой подлинности. Однако вызывающая сторона также может проверить идентичность вызываемой стороны, и это приведет к двусторонней проверке подлинности.

Необходимость в односторонней проверке подлинности часто возникает при подключении к устройствам других компаний, отличных от Cisco.

Для односторонней проверки подлинности настройте на вызывающем маршрутизаторе команду ppp authentication chap callin.

Таблица 1 отображается при настройке параметра callin.

Таблица 1. Случаи настройки параметра Callin

Тип проверки подлинности

Клиент (вызывающая сторона)

NAS (вызываемая сторона)

Односторонняя (однонаправленная)

ppp authentication chap callin

ppp authentication chap

Двусторонняя (двунаправленная)

ppp authentication chap

ppp authentication chap

Дополнительные сведения о реализации односторонней проверки подлинности см. в документе Проверка подлинности PPP с помощью команд "ppp chap hostname" и "ppp authentication chap callin".

Команды и параметры конфигурации CHAP

В таблице 2 перечисляются команды и опции CHAP:

Таблица 2. Команды и опции CHAP

Команда

Описание

ppp authentication {chap | ms-chap | ms-chap-v2 | eap |pap} [callin]

Эта команда включает локальную проверку подлинности удаленного узла PPP с помощью заданного протокола.

ppp chap hostname username

С помощью этой команды определяется относящееся к интерфейсу имя узла CHAP. Дополнительные сведения см. в документе Проверка подлинности PPP с помощью команд "ppp chap hostname" и "ppp authentication chap callin".

ppp chap password password

С помощью этой команды определяется относящийся к интерфейсу пароль CHAP.

ppp direction callin | callout | dedicated

С помощью этой команды принудительно устанавливается направление вызова.

Данную команду используют, когда маршрутизатору не удается определить, является ли вызов входящим или исходящим (например, когда устанавливается встречно-параллельное подключение или подключение по выделенным линиям, а устройство обслуживания канала или устройство обслуживания данных (CSU/DSU), или адаптер терминала (TA, Terminal Adapter) ISDN настроены на набор номера).

ppp chap refuse [callin]

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

Параметр "callin" позволяет указать, что маршрутизатор отказывается отвечать на вызовы CHAP-проверки подлинности, получаемые от однорангового узла, но одноранговому узлу по-прежнему требуется отвечать на все CHAP-вызовы, посылаемые маршрутизатором.

ppp chap wait

Этой командой указывается, что вызывающая сторона должна выполнить проверку подлинности первой (по умолчанию настройка включена).

Этой командой указывается, что маршрутизатором не проводится проверка подлинности для однорангового узла, запрашивающего CHAP-проверку подлинности до тех пор, пока этим узлом не будет выполнена собственная проверка подлинности для маршрутизатора.

ppp max-bad-auth value

Этой командой задается допустимое число попыток проверки подлинности (значение по умолчанию равно 0).

Данной командой интерфейс "точка-точка" настраивается на исключение сброса в исходное состояние сразу после ошибки проверки подлинности, а вместо этого разрешается заданное количество попыток проверки подлинности.

ppp chap splitnames

Этой скрытой командой разрешаются разные имена узлов для CHAP-вызова и CHAP-ответа (по умолчанию разрешение отключено).

ppp chap ignoreus

Этой скрытой командой игнорируются CHAP-вызовы с локальным именем (по умолчанию игнорирование включено).

Пример передачи

На рисунках в этом разделе показана серия событий, которые происходят во время CHAP-проверки подлинности между двумя маршрутизаторами. На них не показаны реальные сообщения, отображаемые в выходных данных команды debug ppp negotiation. Дополнительные сведения см. в документе Общие сведения о выходных данных команды "debug ppp negotiation".

Вызов

Рис. 2. Входящий вызов

understanding_ppp_chap1.gif

На рис. 2 показаны следующие шаги:

  1. Вызов поступает в 3640-1. Настраивается интерфейс входящих вызовов с помощью команды ppp authentication chap.

  2. LCP согласует CHAP и MD5. Дополнительные сведения о том, как это определить, см. в документе Общие сведения о выходных данных команды "debug ppp negotiation".

  3. Для данного вызова требуется CHAP-вызов из 3640-1 на вызывающий маршрутизатор.

CHAP-вызов

Рис. 3. Построение пакета CHAP-вызова

understanding_ppp_chap2.gif

На рис. 3 показаны эти шаги в процессе CHAP-проверки подлинности между двумя маршрутизаторами:

  1. Пакет CHAP-вызова создается со следующими характеристиками:

    • 01 = идентификатор типа пакета CHAP-вызова.

    • ID = порядковый номер, определяющий CHAP-вызов.

    • random = псевдослучайное число, генерируемое маршрутизатором.

    • 3640-1 = имя проверки подлинности отправителя CHAP-вызова.

  2. Код и случайные значения хранятся в вызываемом маршрутизаторе.

  3. Пакет CHAP-вызова отправляется на вызывающий маршрутизатор. Ведется список ожидающих выполнения CHAP-вызовов.

Ответ

Рис. 4. Получение и обработка MD5 из пакета CHAP-вызова от однорангового узла

understanding_ppp_chap3.gif

На рис. 4 показан процесс приемки и обработки (MD5) пакета CHAP-вызова от однорангового узла. Маршрутизатором обрабатывается входящий пакет CHAP-вызова следующим способом:

  1. Значение ID подается в мастер создания хэширования MD5.

  2. Значение random подается в мастер создания хэширования MD5.

  3. Имя 3640-1 используется для поиска пароля. Маршрутизатором ищется запись, соответствующая имени пользователя в CHAP-вызове. В этом примере ищется:

    username 3640-1 password pc1
  4. Пароль подается в мастер создания хэширования MD5.

    Результатом этих действий является MD5-хэшированный CHAP-вызов, который отсылается обратно в CHAP-ответе.

Ответ (продолжение)

Рис. 5. Построение пакета CHAP-ответа, отправляемого средству проверки подлинности.

understanding_ppp_chap4.gif

На рис. 5 показано построение пакета CHAP-ответа, отправляемого средству проверки подлинности. На этом рисунке показаны следующие шаги. На этом рисунке показаны следующие шаги.

  1. Пакет ответа собирается из следующих компонентов:

    • 02 = идентификатор типа пакета CHAP-ответа.

    • ID = копируется из пакета CHAP-вызова.

    • hash = выходные данные из мастера создания хэширования MD5 (хэшированные сведения из пакета CHAP-вызова).

    • 766-1 = имя проверки подлинности данного устройства. Оно требуется для поиска одноранговым узлом записи имени пользователя и пароля, необходимых в целях проверки подлинности объекта (более подробные сведения см. в документе Проверка CHAP).

  2. Затем пакет ответа отправляется отправителю CHAP-вызова.

Проверка CHAP

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

Рис. 6. Обработка пакета ответа отправителем CHAP-вызова

understanding_ppp_chap5.gif

На рис. 6 показана обработка пакета ответа отправителем CHAP-вызова. Здесь приведены действия, выполняемые при обработке пакета ответа CHAP (на средстве проверки подлинности):

  1. Значение ID используется для нахождения пакета исходного CHAP-вызова.

  2. Значение ID подается в мастер создания хэширования MD5.

  3. Исходное случайное значение запроса подается мастер создания хэширования MD5.

  4. Имя 766-1 используется для поиска пароля в одном из следующих источников:

    • Локальная база данных имен пользователей и паролей.

    • Сервер RADIUS или TACACS+.

  5. Пароль подается в мастер создания хэширования MD5.

  6. Затем значение хэш-функции, получаемое в пакете ответа, сравнивается с расчетным значением хэш-функции MD5. Проверка подлинности CHAP завершается успешно, если расчетное и полученное значения хэш-функции равны.

Результат

Рис. 7. Отправка сообщения об успехе на вызывающий маршрутизатор

understanding_ppp_chap6.gif

На рис. 7 показано сообщение об успехе, отправляемое на вызывающий маршрутизатор. Отправка включает следующие этапы. Отправка включает следующие этапы.

  1. Если проверка подлинности выполнена успешно, создается пакет успеха CHAP из следующих компонентов:

    • 03 = тип CHAP-сообщения об успешном выполнении.

    • ID = копируется из пакета ответа.

    • "Welcome in" — это просто текстовое сообщение, которое предоставляет объяснение, удобное для чтения пользователем.

  2. Если проверка подлинности завершается неудачей, создается пакет неудачи CHAP из следующих компонентов:

    • 04 = тип CHAP-сообщения о неудаче выполнения.

    • ID = копируется из пакета ответа.

    • "Authentication failure" или другое текстовое сообщение, в котором предоставляется объяснение, удобное для чтения пользователем.

  3. Затем на вызывающий маршрутизатор отправляется пакет успешной или неуспешной проверки подлинности.

    Примечание. В этом примере описывается односторонняя проверка подлинности. В двусторонней проверке подлинности весь этот процесс повторяется. Однако исходный CHAP-вызов инициируется вызывающим маршрутизатором.

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

Сведения о поиске и устранении неполадок см. в документе Поиск и устранение неполадок проверки подлинности PPP.


Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.


Document ID: 25647