Настройка и проверка аутентификации протокола EIGRP

Материал из Cisco CCNP
Версия от 10:52, 16 февраля 2012; imported>Artem (→‎Конфигурирование EIGRP MD5-аутентификации)
Перейти к навигации Перейти к поиску

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

Router Authentication

  • Использование аутентификации позволяет предотвратить получение мошеннических EIGRP-обновлений. По умолчанию аутентификация EIGRP-пакетов выключена. При включенной аутентификации маршрутизатор проверяет источник полученных обновлений по ключам аутентификации или паролям, известных как передающему, так и принимающему маршрутизатору
  • Простая аутентификация по паролю (plain-text authentication) поддерживается:
    • IS-IS
    • OSPF
    • RIPv2
  • Аутентификация MD5 (message digest) поддерживается:
    • OSPF
    • RIPv2
    • BGP
    • EIGRP

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

Простая аутентификация vs MD5-аутентификация

  • Simple password authentication:
    • Router sends packet and key.
    • Neighbor checks if received key matches its key.
    • Is not secure.
  • MD5 authentication:
    • Configure a “key” (password) and key-id; router generates a message digest, or hash, of the key, key-id and message.
    • Message digest is sent with packet; key is not sent.
    • Is secure.

Маршрутизаторы поддерживают два типа аутентификации:

  • Простая аутентификация по паролю (plain-text authentication) - поддерживается IS-IS, OSPF, RIPv2
  • Аутентификация MD5 (message digest) - поддерживается OSPF, RIPv2, BGP и EIGRP.

Обе формы аутентификации работают одинаково, с одним исключением: md5 отправляет хэш-сумму, а не сам ключ аутентификации. Хэш-сумма генерируется с использованием ключа (и идентификатора ключа с некоторыми протоколами) и сообщения, но сам ключ не пересылается, что не даёт злоумышленнику узнать пароль.

При plain-text аутентификации получателю пакета передается ключ аутентификации. Ключ настраивается на маршрутизаторе, и оба соседа должны иметь одинаковый ключ.

При MD5 аутентификации ключ не посылается, в целях исключения его перехвата. Аутентификация MD5 является криптографической. Ключ и идентификатор (ID) ключа настраиваются на каждом маршрутизаторе. C помощью ключа, ID ключа и пакета генерируется хэш (hash), который присоединяется к отправляемому пакету.

MD5 является рекомендованным средством обеспечения безопасности. Описан в RFC 1321. Plain-text аутентификация не рекомендуется, т.к. является уязвимой для атак: любой, имеющий анализатор пакетов, может легко посмотреть пароль. Первичная роль plain-text аутентификации - предотвращение случайного изменения структуры маршрутизации в сети.

Очень важно заботиться о сохранности ключей и паролей, используемых при аутентификации соседей. Будьте бдительны выполняя
и не игнорируйте риск передачи ключей через небезопасные протоколы управления (например, SNMP).
MD5 используется только для аутентификации! Сами пакеты протоколов маршрутизации не шифруются!

MD5-аутентификация

  • EIGRP поддерживает MD5 аутентификацию
  • Маршрутизатор генерирует и проверяет каждый EIGRP пакет
  • Маршрутизатор генерирует и проверяет каждый пакет EIGRP. Маршрутизатор проверяет подлинность источника каждого пакета обновления маршрутизации, которые он получает.
  • Настройте key (пароль) и key ID; каждый участвующий сосед должен иметь ту же конфигурацию ключа.
  • Аутентификация EIGRP MD5:
    • Маршрутизатор генерирует хэш ключа, key ID и сообщение.
    • Для конфигурирования нескольких ключей или наборов ключей используется концепция цепочек ключей.
    • Укажите key ID(номер, ключ и время жизни ключа)
    • First valid activated key, in order of key numbers, is used.

По умолчанию никакая аутентификация в EIGRP не используется. Когда аутентификация соседей настроена на маршрутизаторе, он проверяет источник каждого пакета маршрутизации, который получает. MD5 создает хэш для каждого EIGRP-пакета, предотвращая тем самым получение сообщений от несанкционированных источников.

ID ключа (key ID) и ключ (key) аутентификации (иногда называемый паролем) должен быть настроен для MD5-аутентификации как на передающем, так и на принимающем маршрутизаторе.

ID ключа и ключ хранятся локально. Для управления ключами используются цепочки ключей (key chains). Каждый ID в цепочке может иметь собственный интервал времени, в течении которого он действует. Каждый маршрутизатор используя key и key ID генерирует хэш, который он прикрепляет к каждому пакету протокола маршрутизации, отправляемому соседу. Маршрутизатор, получивший такой пакет, вычисляет MD5-хэш исходя из полученной информации. Если хэш совпадает с полученным, пакет принимается, иначе дропается.

Каждый key имеет свой key ID, хранящийся локально. Комбинация key ID и интерфейса, связанного с сообщением, однозначно идентифицирует алгоритм аутентификации и используемый ключ аутентификации MD (and MD5 authentication key in use).

Улучшить безопасность аутентификации MD5 в EIGRP можно настроив смену ключей. EIGRP позволяет управлять ключами использця цепочки ключей. Каждому ключу в цепочке можно задать интервал для которого этот ключ будет использоваться (его время жизни). В течении жизни этого ключа, пакеты обновлений маршрутизации рассылаются с ним.

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

Независимо от того, сколько ключей действует в настоящий момент, для передачи пакета используется лишь один: первый (по ID key) действующий (по времени жизни) ключ в цепочке. Другими словами, используется valid key с наименьшем key номером в цепочке ключей. При получении пакетов все текущие валидные ключи проверяются пока не найдётся совпадение. Поэтому для цепочки рекомендуется перекрывать интервалы действия ключей, во избежание появления периодов отсутствия действующих ключей. Если нет действующего ключа, аутентификация не состоится, и обновление маршрутизации будет отброшено. Для успешной аутентификации маршрутизаторы должны синхронно производить ротацию ключей в цепочке.

Планирование аутентификации EIGRP

  • Прежде чем настраивать EIGRP аутентификацию, следующие параметры должны быть определены:
    • номер AS EIGRP
    • режим аутентификации (MD5)
    • в соответствии с планом обеспечения безопасности сети, задать один или несколько ключей для аутентификации пакетов EIGRP
    • Если используются несколько ключей, необходимо задать для них время жизни (lifetime)
  • После определения параметров, должны быть сделаны следующие шаги:
  1. Шаги 1-2. настроить режим аутентификации для EIGRP
  2. Шаги 3-5. Настроить цепочку ключей.
  3. Шаг 6.(Опционально) настроить время жизни ключей.
  4. Шаг 7. Запустить аутентификацию пакетов EIGRP (Enable authentication) с использованием ключа(ключей) из ключевой цепочке.

Настраивается на всех интерфейсах между двумя соседами за несколько шагов:

Шаг 1. Войти в режим конфигурации интерфейса, для которого включаем аутентификацию.

R(config)#interface <интерфейс>

Шаг 2. Включить MD5-аутентификацию для EIGRP-пакетов.

R(config-if)#ip authentication mode eigrp <AS> md5

<AS> - номер автономной системы


Шаг 3. Войти в режим конфигурации цепочки ключей.

R(config)#key chain <имя_цепочки>

Шаг 4. Назначить ID ключа и войти в режим конфигурации ключа.

R(config-keychain)#key <key-ID>

key-ID - номер ключа аутентификации в цепочке ключей. Диапазон <0-2147483647>. Номер не должен быть последовательным.

Шаг 5. Назначить ключ (пароль) аутентификации для данного ID.

R(config-keychain-key)#key string <пароль>

Длина пароль от 1 до 80 символов в верхнем или нижнем регистре, первый символ не может быть цифрой. Ключ для данного key-ID должен совпадать на обоих маршрутизаторах.

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

R(config-keychain-key)#accept-lifetime <нач.время> {infinite | <конечн.время> | duration <секунды>}

<нач.время> - время начала действия ключа чч:мм:сс месяц день год (день - 1...31, месяц - первые 3 буквы месяца, год - 4 цифры). infinite - бесконечно <конечн.время> - время окончания действия ключа (формат аналогично <нач.время>) <секунды> - продолжительность времени действия ключа в секундах.

Шаг 7. Назначить цепочку ключей для аутентификации.

R(config-if)#ip authentication key-chain eigrp <AS> <цепочка>

<цепочка> - имя цепочки ключей

Внимание!
Если команда service password-encryption не используется, то пароли хранятся как простой текст. Если 
активировать команду service password-encryption, то пароли будут храниться и отображаться зашифрованными 
(перед паролем будет указано encryption-type 7).

Конфигурирование EIGRP MD5-аутентификации

Пример настройки MD5-аутентификации

Проверка корректности работы MD5-аутентификации в EIGRP

Проверка MD5-аутентификации

Поиск и устранение неисправностей MD5-аутентификации