Безопасность : Устройства защиты Cisco PIX серии 500

PIX и команда traceroute

5 апреля 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Перевод, выполненный профессиональным переводчиком (9 февраля 2011) | Английский (22 августа 2015) | Отзыв


Содержание


Введение

В этом документе описана процедура разрешения и отладки команды traceroute через устройство PIX. Команда traceroute (который может быть известен как tracert на ПК, следе или traceroute на Cisco программное обеспечение IOS� или traceroute на UNIX) может использоваться для устранения проблем подключения. Команда traceroute может работать различным образом в зависимости от операционной системы исходного устройства (на котором выполняется трассировка маршрута). Дополнительные сведения об операционных системах и о работе команды traceroute см. в документе Применение команды traceroute в операционных системах.

Примеры в этом документе иллюстрируют разрешение следующих команд в устройстве PIX:

  • Команда Microsoft traceroute (использующая межсетевой протокол управляющих сообщений [ICMP])

  • Команда traceroute в Cisco IOS или UNIX (использующая сочетание протокола пользовательских дейтаграмм [UDP] и ICMP)

Примечание: PIX начал поддерживать инициирование команды traceroute от версии программного обеспечения 7.2 (1) и позже. Дополнительные сведения см. в разделе Применение команды traceroute с самого устройства PIX.

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

Требования

Для этого документа отсутствуют особые требования.

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

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

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

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

Схема сети

/image/gif/paws/25708/pixtrace_01.gif

Команда traceroute на выход через PIX

Для преобразования адресов необходимы статические или глобальные операторы, разрешающие преобразование. В этом примере адрес 172.18.124.41 преобразуется в 209.165.202.246. Поэтому статический оператор будет иметь вид:

static (inside, outside) 209.165.202.246 172.18.124.41

Помимо статических или глобальных операторов также добавляются команды condiut или списки контроля доступа (ACL).

Microsoft

Исходящий протокол ICMP разрешен по умолчанию. В версиях PIX 4.2.2 и выше необходимо явным образом разрешить посредством команд conduit или списков контроля доступа входящие сообщения ICMP: «адресат недоступен», «истекло время», «эхоотклик»:

conduit permit icmp host 209.165.200.246 any unreachable
conduit permit icmp host 209.165.200.246 any time-exceeded
conduit permit icmp host 209.165.200.246 any echo-reply

В версиях PIX 5.0.1 и более поздних та же самая функция выполняется списками контроля доступа, которые могут использоваться вместо команд conduit (но не вместе с ними):

access-group 101 in interface outside
access-list 101 permit icmp any host 209.165.200.246 unreachable
access-list 101 permit icmp any host 209.165.200.246 time-exceeded
access-list 101 permit icmp any host 209.165.200.246 echo-reply

Поэтому, когда внутренний пользователь выполняет для внешнего хоста команду ping или traceroute, через межсетевой экран проходят только эти ответные сообщения. Другие типы сообщений о состоянии ICMP могут быть вредоносными, и межсетевой экран блокирует все другие сообщения ICMP.

{\f3 В PIX 7.x возможно другое решение }–{\f3 настройка анализа пакетов ICMP.} Это позволяет пропускать через межсетевой экран доверенные IP-адреса и получать ответ только на доверенный адрес. В этом случае все внутренние интерфейсы могут посылать наружу эхозапросы, и межсетевой экран при этом будет разрешать отклики. {\f3 Еще одно преимущество }–{\f3 возможность мониторинга трафика ICMP, который проходит через межсетевой экран.}

Например: :

policy-map global_policy
    class inspection_default
    inspect icmp

Дополнительные сведения о команде inspect icmp см. в справочнике по командам.

Cisco IOS или UNIX

По умолчанию разрешается исходящий трафик ICMP и UDP, как и отклики на исходящие пакеты UDP. В версиях PIX 4.2.2 и выше необходимо явным образом разрешить посредством команд conduit или списков контроля доступа входящие сообщения ICMP: «истекло время» и «адресат недоступен»:

conduit permit icmp host 209.165.200.246 any unreachable
conduit permit icmp host 209.165.200.246 any time-exceeded

В версиях PIX 5.0.1 и более поздних та же самая функция выполняется списками контроля доступа, которые могут использоваться вместо команд conduit (но не вместе с ними):

access-group 101 in interface outside
access-list 101 permit icmp any host 209.165.200.246 unreachable
access-list 101 permit icmp any host 209.165.200.246 time-exceeded

С точки зрения пользователя

Следующие выходные данные иллюстрируют пример выполнения команды traceroute на выход через PIX. {\f3 Обратите внимание на то, что внутренний интерфейс PIX нельзя увидеть }–{\f3 видны только «ближние интерфейсы» каждого маршрутизатора между устройством трассировки и адресатом.}

goss-c1-2513#trace 209.165.202.130

Type escape sequence to abort.
Tracing the route to 209.165.202.130

  1 172.18.124.40 0 msec 0 msec 4 msec
  2 209.165.200.241 12 msec 8 msec 96 msec
  3 209.165.202.130 104 msec 8 msec * 

В версии PIX 7.0 при включенном режиме NAT невозможно увидеть IP-адреса интерфейсов PIX и реальные IP-адреса промежуточных переходов. Однако в PIX 7.0 режим NAT не столь важен и может быть выключен с помощью команды no nat-control. При удалении правила NAT можно увидеть фактический IP-адрес, если этот адрес доступен посредством маршрутизации.

Команда traceroute на вход через PIX

Для доступа устройства во внутренней сети PIX при помощи команды traceroute требуется статическая привязка к внутреннему устройству. В этом примере статическая привязка имеет следующий вид:

static (inside, outside) 209.165.202.246 172.18.124.41

Помимо статических или глобальных операторов также добавляются команды condiut или списки контроля доступа (ACL).

Microsoft

В версиях PIX 4.2.2 и выше нужно в явном виде разрешить входящий эхоотклик ICMP:

conduit permit icmp host 209.165.200.246 any echo

В версиях PIX 5.0.1 и позднее та же самая функция выполняется списками контроля доступа, которые могут использоваться вместо команд conduit (но не вместе с ними):

access-group 101 in interface outside
access-list 101 permit icmp any host 209.165.200.246 echo

Cisco IOS или UNIX

Нужно разрешить входящий UDP-трафик. Поскольку порты источника и адресата произвольны, разрешается весь UDP-трафик к устройству:

conduit permit udp host 209.165.200.246 any

В версиях PIX 5.0.1 и позднее та же самая функция выполняется списками контроля доступа, которые могут использоваться вместо команд conduit (но не вместе с ними):

access-group 101 in interface outside
access-list 101 permit udp host 209.165.200.246 any

С точки зрения пользователя

Следующие выходные данные иллюстрируют пример выполнения команды traceroute на вход через PIX. Наличие двух записей для глобального адреса вызвано наличием двух переходов на маршруте к внутреннему устройству вне PIX. Однако PIX не раскрывает фактического IP-адреса внутреннего устройства (статическая привязка), а в листинге отсутствует IP-адрес PIX.

goss-e4-2513a#trace 209.165.200.246

Type escape sequence to abort.
Tracing the route to 209.165.200.246

  1 209.165.202.129 4 msec 4 msec 8 msec
  2 209.165.200.246 4 msec 0 msec 4 msec
  3 209.165.200.246 8 msec 4 msec *

Применение команды traceroute для доступа к интерфейсам PIX

PIX отсутствует в списке маршрутов исходящей или входящей команды traceroute. Но попробуйте выполнить команду traceroute для доступа к интерфейсам PIX?

/image/gif/paws/25708/pixtrace_02.gif

{\f3 Руководствуясь этой схемой в качестве примера, можно видеть, что трафик UDP и ICMP, необходимый для работы команды }{\f3 traceroute}{\f3 на участке A}–{\f3 C, не проходит, поскольку невозможно отправить трафик UDP или ICMP снаружи на частный адрес внутреннего интерфейса PIX, а установка статической привязки для внутреннего интерфейса не действует.} {\f3 Также не выполнится команда }{\f3 traceroute}{\f3 на участке D}–{\f3 B, поскольку наружный интерфейс PIX не реагирует на трафик UDP и ICMP изнутри.} Поэтому команда traceroute, адресованная от A к C или от D к B, работать не будет.

Будут работать следующие команды Microsoft traceroute, адресованные самому устройству PIX.

  • Можно выполнить команду traceroute от D к C.

  • Можно выполнить команду traceroute от A к B.

Не будут работать следующие команды traceroute в Cisco IOS или UNIX, адресованные самому устройству PIX.

  • Нельзя выполнить команду traceroute от D к C.

  • Нельзя выполнить команду traceroute от A к B.

В версии 5.2 PIX введена команда icmp. Эта команда позволяет изменить действие PIX в отношении трафика ICMP, адресованного локальному интерфейсу PIX. Теперь можно разрешать/блокировать запросы ICMP, получаемые устройством PIX.

Чтобы запретить устройству PIX отвечать на попытки эхозапроса от хоста А, настройте следующие команды:

icmp deny host A echo outside 
icmp permit any outside 

Вторая команда (icmp permit any outside) нужна, поскольку по умолчанию при использовании команды icmp запрещаются любые типы ICMP-пакетов.

Применение команды traceroute с самого устройства PIX

Поддержка команды traceroute до версии 7.1 включительно в PIX отсутствовала, но была реализована в версии 7.2(1) и последующих.

Команда traceroute используется для отыскания маршрутов, которые будут использоваться при передаче пакетов к хосту-адресату. Устройство (например, PIX, маршрутизатор или ПК) посылает последовательность пакетов по протоколу дейтаграмм пользователя (UDP) на недопустимый адрес порта на удаленном сайте.

Отправляются три дейтаграммы, в каждой из которых поле времени жизни (TTL) имеет значение 1. Значение TTL = 1 вызывает истечение срока действия дейтаграммы при достижении ею первого маршрутизатора на пути. Затем данный маршрутизатор отвечает сообщением о превышении времени (TEM) ICMP, которое свидетельствует о том, что срок использования дейтаграммы истек.

Теперь отправляются другие три UDP-сообщения, каждое со значением TTL равным 2, что заставляет второй маршрутизатор вернуть ICMP TEM. Этот процесс продолжается до тех пор, пока пакеты не достигают другого пункта назначения. Поскольку эти дейтаграммы пытаются получить доступ к несуществующему порту на узле назначения, то этот узел возвращает ICMP-сообщения о недоступности порта. Это событие для программы traceroute служит признаком того, что трассировка маршрута завершена.

В этом примере показан вывод команды traceroute при указании IP-адреса получателя:

 

PIX#traceroute 192.168.200.225

Tracing the route to 192.168.200.225

 1  10.83.194.1 0 msec 10 msec 0 msec

 2  10.83.193.65 0 msec 0 msec 0 msec

 3  10.88.193.101 0 msec 10 msec 0 msec

 4  10.88.193.97 0 msec 0 msec 10 msec

 5  10.88.239.9 0 msec 10 msec 0 msec

 6  10.88.238.65 10 msec 10 msec 0 msec

 7 172.16.7.221 70 msec 70 msec 80 msec  

 8 192.168.200.225 70 msec 70 msec 70 msec

Подробные сведения о команде traceroute см. в Справочнике по командам ПО PIX версии 7.2.

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

  • Удается ли выполнить команду traceroute, адресованную устройствам на любой из сторон от PIX?

  • Проходит ли эхозапрос с PIX на внешнее устройство и с PIX на внутреннее устройство?

  • Проходит ли эхозапрос с внешнего устройства на PIX и с внутреннего устройства на PIX?

  • Команда traceroute не работает ни с ПК, ни с хостов под управлением Cisco IOS или UNIX?

  • Где прекращает работать команда traceroute?

  • Нет ли у устройств списков контроля доступа, которые могли бы блокировать трафик?

  • Не проходит ли весь трафик или только трафик traceroute?

  • Не установлены ли для исходящей команды traceroute статические привязки устройств?

  • Есть ли у внутреннего устройства маршрут, направленный на PIX?

Добавлять команды debug на устройстве PIX, работающем под высокой нагрузкой, нужно с максимальной осторожностью. Тем не менее при определенном уровне трафика через PIX отладку можно включить:

debug icmp trace

Можно также включить отладку пакетов для одного или нескольких интерфейсов:

debug packet inside src 172.18.124.41 dst 209.165.202.130 proto udp both
debug packet outside src 209.165.202.130 dst any proto udp both

Этот пример демонстрирует частичную отладку с командой traceroute на вход:

172.18.124.41   ==>     209.165.202.130
       ttl = 0x1       proto=0x11      chksum = 0xf23d
      -- UDP --
Inbound  ICMP time exceeded (code 0) 209.165.200.241 > 209.165.200.243 > 
   172.18.124.41
172.18.124.41   ==>     209.165.202.130
       ttl = 0x2       proto=0x11      chksum = 0xf138
    -- UDP --
Inbound  ICMP unreachable (code 3) 209.165.202.130 > 209.165.200.243 > 
   172.18.124.41

Этот пример демонстрирует частичную отладку с командой traceroute на выход:

209.165.202.130 ==>     209.165.200.246
        ttl = 0x2       proto=0x11      chksum = 0x7f29
        -- UDP --
153: Outbound ICMP unreachable (code 3) 172.18.124.41 > 209.165.200.246 > 
   209.165.202.130

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

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


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


Document ID: 25708