Безопасность : Многофункциональные устройства защиты Cisco ASA серии 5500

Основная Конфигурация NAT ASA: Webserver в DMZ в Версии 8.3 ASA и позже

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

Введение

Этот документ обеспечивает простой и прямой пример того, как формировать NAT и Списки контроля доступа (ACLs) на Брандмауэре ASA для разрешения, а также прибывающей возможности соединения за границу. Этот документ был написан с помощью брандмауэра ASA 5510, управляющего кодовой версией 9.1 (1) ASA, но это может легко относиться к любой другой платформе Брандмауэра ASA. При использовании платформы, такой как ASA 5505, который использует VLANs вместо физического интерфейса, необходимо изменить интерфейсные типы как соответствующие.

Внесенный Магнусом Мортенсеном, Cisco инженер TAC.

Предпосылки

Требования

Нет никаких определенных требований для этого документа.

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

Информация в этом документе основана на брандмауэре ASA 5510, управляющем кодовой версией 9.1 (1) ASA.

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

Обзор

Цели

В этой конфигурации в качестве примера можно посмотреть на то, что NAT и конфигурация Списка контроля доступа будут необходимы для формирования, чтобы позволить прибывающий доступ к webserver в DMZ Брандмауэра ASA и позволить возможность соединения за границу от хозяев DMZ и внутреннего. Это может быть получено в итоге как две цели:

  1. Позвольте хозяевам на внутренней и возможности соединения за границу DMZ к Интернету.
  2. Позвольте хозяевам в Интернете получать доступ к webserver на DMZ с IP-адресом 192.168.1.100.

Прежде, чем добраться до того, какие шаги должны быть сделаны для выполнения этих двух целей, кратко пробегитесь через путь Списки Доступа и работа NAT над более новыми версиями кодекса ASA (версия 8.3 и позже).

Обзор списка контроля доступа

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

В более ранних версиях кодекса ASA (8.2 и ранее), ASA сравнил поступающую связь или пакет против ACL в интерфейсе, не не переводя пакет сначала. Другими словами, ACL должен был разрешить пакет, как будто необходимо было захватить тот пакет в интерфейсе. В 8.3 и более поздний кодекс, ASA не переводит тот пакет прежде, чем проверить интерфейс ACLs. Это означает, что для 8.3 и более поздний кодекс и этот документ, движение к реальному IP хозяина разрешено а не переведенный IP хозяина.

Посмотрите часть Правил Доступа Формирования Книги 2: Cisco Серийный Брандмауэр ASA Гид Конфигурации CLI, 9.1 для получения дополнительной информации о Списках контроля доступа.

Обзор NAT

NAT на ASA в версии 8.3 и позже сломан в два типа, знает как Автомобиль NAT (Объект NAT) и Руководство NAT (Дважды NAT). Первый из этих двух, Объект NAT, формируется в рамках определения сетевого объекта. Пример этого обеспечен позже в этом документе. Одно основное преимущество этого метода NAT состоит в том, что ASA автоматически заказывает правила для обработки для предотвращения конфликтов. Это - самая легкая форма NAT, но с той непринужденностью прибывает ограничение в степень детализации конфигурации. Например, вы не можете принять решение перевода, основанное на месте назначения в пакете, как вы могли со вторым типом туземных, Туземных Ручных. Ручной NAT более прочен в его степени детализации, но это требует, чтобы линии формировались в правильном порядке для достижения правильного поведения. Это усложняет этот тип NAT, и в результате он не будет использоваться в этом примере конфигурации.

Посмотрите информацию О разделе NAT Книги 2: Cisco Серийный Брандмауэр ASA Гид Конфигурации CLI, 9.1 для получения дополнительной информации о NAT.

Формировать

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

Начать

Основная установка конфигурации ASA является тремя интерфейсами, связанными с тремя сетевыми сегментами. Сегмент сети ISP связан с интерфейсом Ethernet0/0 и маркирован снаружи с уровнем безопасности 0. Внутренняя сеть была связана с Ethernet0/1 и маркирована как внутри с уровнем безопасности 100. Сегмент DMZ, где webserver проживает, связан с Ethernet0/2 и маркирован как dmz с уровнем безопасности 50.

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

interface Ethernet0/0
nameif outside
security-level 0
ip address 198.51.100.100 255.255.255.0
!
interface Ethernet0/1
nameif inside
security-level 100
ip address 192.168.0.1 255.255.255.0
!
interface Ethernet0/2
nameif dmz
security-level 50
ip address 192.168.1.1 255.255.255.0
!
route outside 0.0.0.0 0.0.0.0 198.51.100.1

Здесь вы видите, что внутренний интерфейс ASA установлен с IP-адресом 192.168.0.1, и это - ворота по умолчанию для внутренних хозяев. Внешний интерфейс ASA формируется с IP-адресом, полученным из ISP. Там существует маршрут по умолчанию, устанавливая следующий перелет быть воротами ISP. При использовании DHCP, это обеспечено автоматически. Интерфейс dmz формируется с IP-адресом 192.168.1.1, и это - ворота по умолчанию для хозяев на нашем сегменте сети DMZ.

Топология

Вот визуальный взгляд на то, как это телеграфируется и формируется:

asa-config-dmz-01.gif

Шаг 1 - формирует NAT, чтобы позволить хозяевам выходить в Интернет

Для этого Объекта в качестве примера используется NAT, также известный как AutoNAT. Первой вещью формировать являются правила NAT, которые позволяют хозяевам на внутренних и dmz сегментах соединяться с Интернетом. Beacuse эти хозяева используют частные IP-адреса, необходимо перевести их к чему-то, что является routable в Интернете. В этом случае переведите адрес так, чтобы они были похожи на внешний интерфейсный IP-адрес ASA. Если ваши внешние изменения IP часто (возможно, из-за DHCP) это - самый прямой способ настроить это.

Для формирования этого NAT необходимо создать сетевой объект, который представляет внутреннюю подсеть, а также ту, которая представляет dmz подсеть. В каждом из этих объектов формируйте динамическое туземное правило, которое будет PAT эти клиенты как проход с их соответствующих интерфейсов на внешний интерфейс.

Эта конфигурация выглядит подобной этому:

object network inside-subnet
subnet 192.168.0.0 255.255.255.0
nat (inside,outside) dynamic interface
!
object network dmz-subnet
subnet 192.168.1.0 255.255.255.0
nat (dmz,outside) dynamic interface

При рассмотрении бегущей конфигурации в этом пункте (с продукцией выставочного пробега), вы будете видеть, что определение объекта разделено на две части продукции. Первая часть только указывает на то, что находится в объекте (хозяин/подсеть, IP-адрес, и т.д.), в то время как вторая секция показывает, что правило NAT связало с тем объектом. Если вы берете первый вход в продукции выше:

Когда хозяева, соответствующие 192.168.0.0/24 подсети, пересекают с внутреннего интерфейса на внешний интерфейс, мы хотим динамично перевести их к внешнему интерфейсу

Шаг 2 - формирует NAT к доступу Webserver из Интернета

Теперь, когда хозяева на внутренней части и интерфейсах dmz могут выйти к Интернету, необходимо изменить конфигурацию так, чтобы пользователи в Интернете могли получить доступ к нашему webserver на порту TCP 80. В этом примере набор - то, так, чтобы люди в Интернете могли соединить с другим IP-адресом ISP, если, дополнительный IP-адрес мы владеем. Для этого примера используйте 198.51.100.101. С этой конфигурацией пользователи в Интернете будут в состоянии достигнуть dmz webserver путем доступа 198.51.100.101 на порту TCP 80. Используйте Объект NAT для этой задачи, и ASA будет переводить порт TCP 80 на webserver (192.168.1.100) для сходства с 198.51.100.101 на порту TCP 80 на внешней стороне. Так же к тому, что было сделано выше, определите объект и определите правила перевода для того объекта. Кроме того, определите второй объект представлять IP, которого вы переводите этого хозяина.

Эта конфигурация выглядит подобной этому:

object network webserver-external-ip
host 198.51.100.101
!
object network webserver
host 192.168.1.100
nat (dmz,outside) static webserver-external-ip service tcp www www

Только для подведения итогов что, что NAT управляет средствами в этом примере:

Когда хозяин, соответствующий IP-адресу 192.168.1.100 на dmz сегментах, устанавливает связь, поставленную от порта TCP 80 (www), и та связь выходит внешний интерфейс, мы хотим перевести это, чтобы быть портом TCP 80 (www) во внешнем интерфейсе и перевести тот IP-адрес, чтобы быть 198.51.100.101

Это кажется немного странным... "поставленный от порта TCP 80 (www)", но интернет-трафик предназначен для переноса 80. Важно понять, что эти правила NAT двунаправлены в природе. В результате можно перефразировать это предложение путем щелкания формулировкой вокруг. Результат имеет намного больше смысла:

Когда хозяева на внешней стороне установят связь с 198.51.100.101 на месте назначения порт TCP 80 (www), мы переведем IP-адрес назначения, чтобы быть 192.168.1.100, и порт назначения будет портом TCP 80 (www) и пошлет ему dmz

Это имеет больше смысла, когда выражено этот путь. Затем, необходимо настроить ACLs.

Шаг 3 - формирует ACLs

NAT формируется, и конец этой конфигурации рядом. Помните, ACLs на ASA позволяют вам отвергать поведение безопасности по умолчанию, которое является следующие:

  • Движение, идущее от более низкого интерфейса безопасности, отрицается при движении в более высокий интерфейс безопасности
  • Движение, идущее от более высокого интерфейса безопасности, позволено при движении в более низкий интерфейс безопасности

Таким образом не добавляя ACLs вообще к конфигурации, следующей торговле этим примером работы:

  • Хозяева на внутренней части (уровень 100 безопасности) могут соединиться с хозяевами на dmz (уровень 50 безопасности)
  • Хозяева на внутренней части (уровень 100 безопасности) могут соединиться с хозяевами на внешней стороне (уровень 0 безопасности)
  • Хозяева на dmz (уровень 50 безопасности) могут соединиться с хозяевами на внешней стороне (уровень 0 безопасности)

Однако следующее движение отрицается:

  • Хозяева на внешней стороне (уровень 0 безопасности) не могут соединиться с хозяевами на внутренней части (уровень 100 безопасности)
  • Хозяева на внешней стороне (уровень 0 безопасности) не могут соединиться с хозяевами на dmz (уровень 50 безопасности)
  • Хозяева на dmz (уровень 50 безопасности) не могут соединиться с хозяевами на внутренней части (уровень 100 безопасности)

Поскольку движение от внешней стороны до dmz сети отрицается ASA с его текущей конфигурацией, пользователи в Интернете не могут достигнуть webserver несмотря на конфигурацию NAT в шаге 2. Необходимо явно разрешить это движение. В 8.3 и более поздний кодекс необходимо использовать Реальный IP хозяина в ACL а не переведенный IP. Это означает потребности конфигурации разрешить движение, предназначенное к 192.168.1.100 и НЕ движение, предназначенное к 198.51.100.101 на порту 80. Для пользы простоты объекты, определенные в шаге 2, будут использоваться для этого ACL также. Как только ACL создан, необходимо применить его прибывающий на внешний интерфейс.

Вот то, на что похожи те команды конфигурации:

access-list outside_acl extended permit tcp any object webserver eq www
!
access-group outside_acl in interface outside

Государства линии списка доступа:

Движение разрешения от любого (где) хозяину, представленному объектом webserver (192.168.1.100) на порту 80

Важно, чтобы конфигурация использовала любое ключевое слово здесь. Поскольку исходный IP-адрес клиентов не известен, достигая вашего веб-сайта, определяют любое значение 'Любой IP-адрес'.

Что относительно движения от dmz сегмента, предназначенного хозяевам на внутреннем сетевом сегменте? Например, сервер во внутренней сети, с которой должны соединиться хозяева на dmz? Как ASA может признать только, что определенное движение, предназначенное к внутреннему серверу и, блокирует все остальное предназначенное к внутреннему сегменту от dmz?

В этом примере предполагается, что существует сервер DNS во внутренней сети в IP-адресе 192.168.0.53, к которому хозяева на dmz должны получить доступ для резолюции DNS. Вы создаете необходимый ACL и применяете его к интерфейсу dmz, таким образом, ASA может отвергнуть то поведение безопасности по умолчанию, упомянутое ранее, для движения, входящего в тот интерфейс.

Вот то, на что похожи те команды конфигурации:

object network dns-server
host 192.168.0.53
!
access-list dmz_acl extended permit udp any object dns-server eq domain
access-list dmz_acl extended deny ip any object inside-subnet
access-list dmz_acl extended permit ip any any
!
access-group dmz_acl in interface dmz

ACL более сложен что, просто разрешая что движение к серверу DNS на порту UDP 53. Если все, что мы сделали, - то, которые сначала 'разрешают' линию, то все движение было бы заблокировано от dmz до хозяев в Интернете. Список доступа имеет неявное, 'отказывают IP в любом любой' в конце ACL. В результате ваши хозяева dmz не были бы в состоянии выйти в Интернет. Даже при том, что движение от dmz до внешней стороны разрешено по умолчанию путем применения ACL к интерфейсу dmz, те поведения безопасности по умолчанию для интерфейса dmz больше не в действительности, и мы должны явно разрешить торговлю интерфейсом ACL.

Шаг 4 - проверяет конфигурацию с особенностью трассирующего снаряда пакета

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

Работы трассирующего снаряда пакета путем моделирования пакета, основанного на серии параметров и впрыскивания того пакета к интерфейсному информационному каналу, подобному реальному пакету, были бы, если это было взято от провода. Этот пакет сопровождается через несметное число проверок и процессов, которые сделаны на том, поскольку это проходит через брандмауэр, и трассирующий снаряд пакета отмечает результат. Моделируйте внутреннего хозяина, выходящего к хозяину в Интернете. Команда ниже инструктирует брандмауэр к:

Моделируйте пакет TCP, прибывающий во внутренний интерфейс от IP-адреса 192.168.0.125 на исходном порту 12345 предназначенных к IP-адресу 203.0.113.1 на порту 80

ciscoasa# packet-tracer input inside tcp 192.168.0.125 12345 203.0.113.1 80

Phase: 1
Type: ACCESS-LIST
Subtype:
Result: ALLOW
Config:
Implicit Rule
Additional Information:
MAC Access list

Phase: 2
Type: ROUTE-LOOKUP
Subtype: input
Result: ALLOW
Config:Additional Information:
in 0.0.0.0 0.0.0.0 outsidePhase: 3
Type: NAT
Subtype:
Result: ALLOW
Config:
object network inside-subnet
nat (inside,outside) dynamic interface
Additional Information:
Dynamic translate 192.168.0.125/12345 to 198.51.100.100/12345

Phase: 4
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:

Phase: 5
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:

Phase: 6
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:

Phase: 7
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:

Phase: 8
Type: FLOW-CREATION
Subtype:
Result: ALLOW
Config:
Additional Information:
New flow created with id 1, packet dispatched to next module

Result:
input-interface: inside
input-status: up
input-line-status: up
output-interface: outside
output-status: up
output-line-status: up
Action: allow

Конечный результат состоит в том, что движение позволено, означая, что оно передало весь NAT, и ACL регистрируется в конфигурации и был отослан интерфейс выхода, снаружи. Обратите внимание на то, что пакет был переведен в Фазе 3 и деталях того шоу Фазы, какое правило поражено. Хозяин 192.168.0.125 переведен динамично к 198.51.100.100 согласно конфигурации.

Теперь, управляйте им для связи от Интернета до webserver. Помните, хозяева в Интернете получат доступ к webserver путем соединения с 192.51.100.101 во внешнем интерфейсе. Снова, эта следующая команда переводит к:

Моделируйте пакет TCP, прибывающий во внешний интерфейс от IP-адреса 192.0.2.123 на исходном порту 12345 предназначенных к IP-адресу 198.51.100.101 на порту 80

ciscoasa# packet-tracer input outside tcp 192.0.2.123 12345 98.51.100.101 80

Phase: 1
Type: UN-NAT
Subtype: static
Result: ALLOW
Config:
object network webserver
nat (dmz,outside) static webserver-external-ip service tcp www www
Additional Information:
NAT divert to egress interface dmz
Untranslate 98.51.100.101/80 to 192.168.1.100/80

Phase: 2
Type: ACCESS-LIST
Subtype: log
Result: ALLOW
Config:
access-group outside_acl in interface outside
access-list outside_acl extended permit tcp any object webserver eq www
Additional Information:

Phase: 3
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:

Phase: 4
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:
Phase: 5
Type: NAT
Subtype: rpf-check
Result: ALLOW
Config:
object network webserver
nat (dmz,outside) static webserver-external-ip service tcp www www
Additional Information:

Phase: 6
Type: NAT
Subtype: per-session
Result: ALLOW
Config:
Additional Information:

Phase: 7
Type: IP-OPTIONS
Subtype:
Result: ALLOW
Config:
Additional Information:

Phase: 8
Type: FLOW-CREATION
Subtype:
Result: ALLOW
Config:
Additional Information:
New flow created with id 3, packet dispatched to next module

Result:
input-interface: outside
input-status: up
input-line-status: up
output-interface: dmz
output-status: up
output-line-status: up
Action: allow

Снова результат состоит в том, что позволен пакет. Контроль ACLs, конфигурация выглядит хорошо, и пользователи в Интернете (снаружи) должны быть в состоянии получить доступ к этому webserver использование внешнего IP.

Проверить

Процедуры проверки включены в Шаг 4 - Тестирование Конфигурации с Особенностью Трассирующего снаряда Пакета.

Расследовать

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

Заключение

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

ASA Version 9.1(1)
!
interface Ethernet0/0
nameif outside
security-level 0
ip address 198.51.100.100 255.255.255.0
!
interface Ethernet0/1
nameif inside
security-level 100
ip address 192.168.0.1 255.255.255.0
!
interface Ethernet0/2
nameif dmz
security-level 50
ip address 192.168.1.1 255.255.255.0
!
object network inside-subnet
subnet 192.168.0.0 255.255.255.0
object network dmz-subnet
subnet 192.168.1.0 255.255.255.0
object network webserver
host 192.168.1.100
object network webserver-external-ip
host 198.51.100.101
object network dns-server
host 192.168.0.53

!
access-list outside_acl extended permit tcp any object webserver eq www
access-list dmz_acl extended permit udp any object dns-server eq domain
access-list dmz_acl extended deny ip any object inside-subnet
access-list dmz_acl extended permit ip any any
!
object network inside-subnet
nat (inside,outside) dynamic interface
object network dmz-subnet
nat (dmz,outside) dynamic interface
object network webserver
nat (dmz,outside) static webserver-external-ip service tcp www www
access-group outside_acl in interface outside
access-group dmz_acl in interface dmz
!
route outside 0.0.0.0 0.0.0.0 198.51.100.1 1

На ASA 5505, например, и интерфейсах связаны как показано выше (снаружи связанный с Ethernet0/0, внутри связанным с Ethernet0/1 и dmz, связанным с Ethernet0/2):

ASA Version 9.1(1)
!
interface Ethernet0/0
description Connected to Outside Segment
switchport access vlan 2
!
interface Ethernet0/1
description Connected to Inside Segment
switchport access vlan 1
!
interface Ethernet0/2
description Connected to DMZ Segment
switchport access vlan 3
!
interface Vlan2
nameif outside
security-level 0
ip address 198.51.100.100 255.255.255.0
!
interface Vlan1
nameif inside
security-level 100
ip address 192.168.0.1 255.255.255.0
!
interface Vlan3
nameif dmz
security-level 50
ip address 192.168.1.1 255.255.255.0
!
object network inside-subnet
subnet 192.168.0.0 255.255.255.0
object network dmz-subnet
subnet 192.168.1.0 255.255.255.0
object network webserver
host 192.168.1.100
object network webserver-external-ip
host 198.51.100.101
object network dns-server
host 192.168.0.53



!
access-list outside_acl extended permit tcp any object webserver eq www
access-list dmz_acl extended permit udp any object dns-server eq domain
access-list dmz_acl extended deny ip any object inside-subnet
access-list dmz_acl extended permit ip any any
!
object network inside-subnet
nat (inside,outside) dynamic interface
object network dmz-subnet
nat (dmz,outside) dynamic interface
object network webserver
nat (dmz,outside) static webserver-external-ip service tcp www www
access-group outside_acl in interface outside
access-group dmz_acl in interface dmz
!
route outside 0.0.0.0 0.0.0.0 198.51.100.1 1

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

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


Document ID: 115904