В этом документе описан принцип работы перенаправления портов в устройстве адаптивной защиты Cisco ASA при использовании ASDM. Рассматривается управлением доступом для трафика с использованием ASA и механизм работы правил преобразования.
Компания Cisco рекомендует предварительно ознакомиться со следующими предметами:
Сведения, содержащиеся в данном документе, касаются следующих версий программного обеспечения и оборудования:
Cisco ASA серии 5500 версии 8.2
Cisco ASDM версии 6.3
Примечание. Эта конфигурация поддерживается только в ПО Cisco ASA версии 8.0–8.2, так как в них функции NAT не претерпели значительных изменений.
Сведения, представленные в этом документе, были получены от устройств, работающих в специальной лабораторной среде. Все устройства, описанные в этом документе, были запущены с чистой (стандартной) конфигурацией. В рабочей сети необходимо изучить потенциальное воздействие всех команд до их использования.
Схемы IP-адресации, которые использованы в данной конфигурации, не поддерживаются официальной маршрутизацией в Интернете. Это адреса RFC 1918, используемые в лабораторной среде.
Исходящий доступ – это подключения от интерфейса с высоким уровнем безопасности к интерфейсу с низким уровнем безопасности. Это понятие включает в себя исходящие соединения, соединения, направленные в DMZ (демилитаризованную зону), а также соединения, направленные от DMZ во внешнюю сеть. Также сюда относятся подключения из одной зоны DMZ к другой при условии, что интерфейс источника подключения имеет более высокий уровень безопасности, чем интерфейс назначения.
Маршрутизация соединений через Security Appliance невозможна без настройки правила трансляции. Эта функция называется nat-control . На следующем изображении показано, как отключить эту функцию с помощью ASDM, чтобы разрешить настройку соединений через ASA без трансляции адресов. Однако при наличии настроенного правила трансляции отключение этой функции не действует для всего трафика. Потребуется явным образом исключить конкретные сети из трансляции адресов.
Можно разрешить группе внутренних хостов/сетей доступ к внешнему миру, настроив правила динамического NAT. Для этого необходимо выбрать действительные адреса хостов/сетей, которым требуется предоставить доступ, и затем сопоставить их с пулом преобразованных IP-адресов.
Для того чтобы разрешить доступ внутренних хостов во внешние сети с использованием NAT, выполните следующие действия:
Перейдите в раздел Конфигурация > Брандмауэр > Правила NAT, нажмите Добавить и выберите опцию Добавить правило динамического NAT, чтобы настроить динамическое правило NAT.
Выберите название интерфейса, к которым подключены реальные хосты. Выберите реальный IP-адрес хостов/сетей с помощью кнопки Сведения в поле Источник.
В данном примере была выбрана вся внутренняя сеть. Нажмите OK, чтобы подтвердить выбор.
Нажмите Управление для выбора пула IP-адресов, с которыми будет сопоставлена реальная сеть.
Нажмите Добавить, чтобы открыть окно "Добавить глобальный пул адресов".
Выберите опцию Диапазон и задайте начальные и конечные IP-адреса, а также выходной интерфейс. Кроме того, задайте уникальный идентификатор пула и нажмите Добавить, чтобы добавить эти адреса в пул адресов. Нажмите OK, чтобы вернуться к окну "Управление глобальным пулом".
Нажмите OK для возврата к окну "Добавление правила динамического NAT".
Нажмите OK для завершения настройки правила динамического NAT.
Нажмите кнопку Apply (Применить), чтобы изменения вступили в силу.
Примечание. Разрешить прохождение трафика через межсетевой экран без трансляции адресов не установлен.
Ниже приведены выходные данные, полученные при аналогичной настройке ASDM в интерфейсе командной строки:
nat-control global (outside) 10 209.165.200.20-209.165.200.40 netmask 255.255.255.192 nat (inside) 10 172.16.11.0 255.255.255.0
В соответствии с этой конфигурацией хосты в сети 172.16.11.0 транслируются на любой IP-адрес из пула NAT, 209.165.200.20-209.165.200.40. Здесь играет важную роль идентификатор пула NAT. Можно было назначить тот же пул NAT для другой внутренней сети/сети dmz. Если сопоставленный пул содержит меньше адресов, чем реальная группа, возможен дефицит адресов в случае, если объем трафика превысит запланированный. Таким образом можно попробовать применить PAT или отредактировать существующий пул адресов, добавив дополнительные адреса.
Примечание. Внося изменения в существующее правило трансляции, необходимо использовать команду clear xlate , чтобы эти изменения вступили в силу. В противном случае ранее существовавшее соединение сохранится в таблице соединений вплоть до истечения тайм-аута. Команду clear xlate следует использовать с осторожностью, поскольку она мгновенно закрывает существующие соединения.
PAT следует использовать в том случае, когда преобразование адресов для внутренних узлов требуется осуществлять с одним общим внешним адресом. Если в операторе global указан один адрес, то преобразование портов выполняется для него. ASA допускает разрешает одну трансляцию порта в одном интерфейсе, при этом такая трансляция поддерживает 65535 активных объектов xlate в рамках одного глобального адреса.
Для того чтобы разрешить доступ внутренних хостов во внешние сети с использованием PAT, выполните следующие действия:
Перейдите в раздел Конфигурация > Брандмауэр > Правила NAT, нажмите Добавить и выберите опцию Добавить правило динамического NAT, чтобы настроить динамическое правило NAT.
Выберите название интерфейса, к которым подключены реальные хосты. Выберите реальный IP-адрес хостов/сетей с помощью кнопки Сведения в поле Источник и выберите внутреннюю сеть. Нажмите Управление, чтобы определить данные транслируемого адреса.
Нажмите Add.
Выберите опцию Трансляция адресов портов (PAT) с использованием IP-адресов интерфейса и нажмите Добавить, чтобы добавить адрес в пул адресов. Не забудьте назначить уникальный идентификатор для этого пула адресов NAT.
Показанный здесь пул адресов настроен с указанием внешнего интерфейса как единственного доступного адреса в пуле. Нажмите OK для возврата к окну "Добавление правила динамического NAT".
Нажмите кнопку ОК.
Настроенное правило динамического NAT отображается на панели "Конфигурация" > "Брандмауэр" > "Правила NAT".
Ниже приведены выходные данные, полученные при настройке аналогичного преобразования PAT в интерфейсе командной строки:
global (outside) 20 interface nat (inside) 20 172.16.11.0 255.255.255.0
Если правила доступа не определены, пользователи интерфейсов с самым высоким уровнем безопасности имеют доступ ко всем ресурсам, связанным с интерфейсом с более низким уровнем безопасности. Чтобы ограничить доступ отдельных пользователей к некоторым ресурсам, используйте правила доступа в ASDM. В этом примере описывается, как разрешить одному пользователю доступ к внешним ресурсам (по протоколам FTP, SMTP, POP3, HTTPS и WWW)и ограничить доступ к внешним ресурсам для всех остальных пользователей.
Примечание. В конце каждого списка доступа присутствует правило "неявного запрета".
Выполните следующие действия:
Перейдите в раздел Конфигурация > Брандмауэр > Правила доступа, нажмите Добавить и выберите опцию Добавить правило доступа, чтобы создать новую запись в списке доступа.
Выберите IP-адрес источника, для которого требуется настроить разрешение, в поле Источник. Выберите значение любой для параметра "Целевое расположение", внутренний для параметра "Интерфейс" и Разрешить для параметра "Действие". Затем нажмите на кнопку Сведенияl в поле "Служба", чтобы создать группу служб TCP для необходимых портов.
Нажмите Добавить и выберите Группа служб TCP.
Введите имя для этой группы. Выберите каждый из требуемых портов и нажмите Добавить, чтобы переместить их в поле "Члены в группе".
Все выбранные порты должны отобразиться в правом поле. Нажмите OK, чтобы завершить процесс выбора сервисных портов.
Здесь отображается настроенная группа служб TCP. Нажмите кнопку ОК.
Нажмите OK для завершения настройки.
Настроенное правило доступа отображается во внутреннем интерфейсе в области "Конфигурация" > "Брандмауэр" l> "Правила доступа".
Для удобства использования можно также отредактировать группу служб TCP непосредственно в области справа на вкладке Службы tab. Нажмите Правка, чтобы изменить непосредственно эту группу служб.
После этого вы снова будете перенаправлены в окно "Редактирование группы служб TCP". Внесите требуемые изменения и нажмите OK, чтобы сохранить их.
Здесь приведено полное представление ASDM:
Это равноценная конфигурация CLI:
object-group service Permit-172.16.10.100 TCP port-object eq ftp port-object eq ftp-data port-object eq www port-object eq https port-object eq pop3 port-object eq smtp ! access-list inside_access_in extended permit TCP host 172.16.10.100 any object-group Permit-172.16.10.100 ! access-group inside_access_in in interface inside !
В этом разделе описывается, как разрешить прохождение трафика в интерфейсах с одинаковым уровнем безопасности.
Эти инструкции описывают, как включить обмен данными в пределах интерфейса.
Они применимы к трафику VPN, который поступает в интерфейс и затем маршрутизируется в пределах того же интерфейса. В этом случае трафик VPN можно дешифровать или зашифровать повторно для использования в другом VPN-соединении. Перейдите в раздел Конфигурация > Настройка устройства > Интерфейсы и выберите Разрешить трафик между двумя или более узлами, подключенными к одному интерфейсу.
Эти инструкции описывают, как включить обмен данными между различными интерфейсами.
Рекомендуется разрешить обмен данными между интерфейсами, для которых настроен одинаковый уровень безопасности. Перейдите в раздел Конфигурация > Настройка устройства > Интерфейсы и выберите Разрешить трафик между двумя или более интерфейсов, для которых настроен одинаковый уровень безопасности.
Это равноценный CLI для обеих этих настроек:
same-security-traffic permit intra-interface same-security-traffic permit inter-interface
Для этого можно применить статическую трансляцию NAT и правило доступа, разрешающее использование этих хостов. Этот параметр необходимо настраивать каждый раз, когда внешний пользователь запрашивает доступ к любому серверу в вашей внутренней сети. Серверу во внутренней сети назначается частный IP-адрес, который не маршрутизируется в Интернете. Поэтому необходимо преобразовать этот частный IP-адрес в общедоступный IP-адрес с помощью правила статического преобразования NAT. Предположим, используется внутренний сервер (172.16.11.5). Чтобы эта схема заработала, потребуется преобразовать закрытый IP-адрес сервера в открытый IP-адрес. В этом примере описывается, как внедрить двунаправленный статический NAT для преобразования 172.16.11.5 в 209.165.200.5.
Раздел, посвященный настройке разрешений для доступа внешних пользователей к этому веб-серверу путем применения правила доступа, не приводится в этом документе. Небольшой фрагмент CLI приводится в справочных целях:
access-list 101 permit TCP any host 209.165.200.5
Примечание. Если указать ключевое слово "any", всем пользователям из внешних сетей будет разрешен доступ к этому серверу. Кроме того, если ключевое слово не задано для каких-либо служебных портов, доступ к серверу разрешен с любого служебного порта, поскольку все они остаются открытыми. Эту настройку следует использовать с осторожностью. Кроме того, рекомендуется ограничить разрешения для доступа отдельных внешних пользователей к требуемому порту на сервере.
Выполните следующие действия для настройки статического NAT:
Перейдите в раздел Конфигурация > Брандмауэр > Правила NAT, нажмите Добавить и выберите Добавить правило статического NAT.
Укажите исходный IP-адрес и транслированный IP-адрес, а также связанные с ними интерфейсы и нажмите OK.
Здесь показана настроенная запись статического преобразования NAT. Нажмите Apply (Применить), чтобы отправить это в ASA.
Это небольшой пример CLI для данной конфигурации ASDM:
! static (inside,outside) 209.165.200.5 172.16.11.5 netmask 255.255.255.255 !
Если требуется исключить отдельные хосты или сети из NAT, добавьте правило исключения NAT, чтобы отключить трансляцию адресов. Это позволит транслированным и удаленным хостам инициировать соединения.
Выполните следующие действия:
Перейдите в раздел Конфигурация > Брандмауэр > Правила NAT, нажмите Добавить и выберите Добавить правило исключения NAT.
В этом случае внутренняя сеть 172.18.10.0 исключения из трансляции адресов. Убедитесь в том, что выбрана опция Исключить. Доступно два направления для исключения NAT:
Исходящий трафик в интерфейсы с более низким уровнем безопасности
Входящий трафик в интерфейсы с более высоким уровнем безопасности
По умолчанию выбран исходящий трафик. Нажмите OK, чтобы завершить выполнение этого действия.
Примечание. При выборе опции Не исключать этот конкретный хост не будет исключен из NAT, и будет добавлено отдельное правило доступа с ключевым словом "запретить". Эта функция позволяет предотвратить исключение из NAT конкретных хостов, поскольку вся сеть кроме этих узлов будет исключена из NAT.
Здесь отображается правило исключения из NAT на исходящем направлении. Нажмите Применить для передачи конфигурации на ASA.
Для справки здесь приведены равноценные выходные данные CLI:
access-list inside_nat0_outbound extended permit ip host 172.18.10.0 any ! nat (inside) 0 access-list inside_nat0_outbound
Здесь показано, как отредактировать правило исключения из NAT для соответствующего направления. Нажмите OK, чтобы настройка вступила в силу.
Как вы можете заметить, теперь направление изменилось на входящее.
Нажмите Применить для передачи этих выходных данных CLI на ASA:
access-list inside_nat0_outbound extended permit ip host 172.18.10.0 any ! nat (inside) 0 access-list inside_nat0_outbound outside
Примечание. Здесь вы видите, что в конце команды nat 0 добавлено новое ключевое слово (outside). Эта функция называется внешний NAT.
Что отключить NAT, также можно реализовать NAT удостоверения. NAT удостоверения преобразовывает хост в тот же IP-адрес. Далее приводится пример стандартного статичного NAT удостоверения, в котором хост (172.16.11.20) преобразуется в тот же IP-адрес при доступе из внешней сети.
Это равноценные выходные данные CLI:
! static (inside,outside) 172.16.11.20 172.16.11.20 netmask 255.255.255.255 !
Функция переадресации или перенаправления портов используется, когда внешние пользователи пытаются получить доступ к внутреннему серверу в определенном порте. Для этого внутренний сервер с частным IP-адресом будет преобразован в общедоступный IP-адрес, доступ к которому в свою очередь разрешается для определенного порта.
В этом примере внешний пользователь хочет получить доступ к SMTP-серверу 209.165.200.15 на порте 25. Для этого нужно выполнить два действия:
Преобразуйте внутренний почтовый сервер 172.16.11.15 на порте 25 в открытый IP-адрес 209.165.200.15 на порте 25.
Предоставьте доступ к общедоступному почтовому серверу 209.165.200.15 на порте 25.
Когда внешний пользователь пытается получить доступ к серверу 209.165.200.15 на порте 25, этот трафик перенаправляется на внутренний почтовый сервер 172.16.11 15 на порте 25.
Перейдите в раздел Конфигурация > Брандмауэр > Правила NAT, нажмите Добавить и выберите Добавить правило статического NAT.
Укажите исходный источник и транслированный IP-адрес, а также связанные с ним интерфейсы. Выберите Включить трансляцию адресов портов (PAT), укажите порты для перенаправления и нажмите OK.
Здесь отображается настроенное правило статического PAT:
Это равноценные выходные данные CLI:
! static (inside,outside) TCP 209.165.200.15 smtp 172.16.11.15 smtp netmask 255.255.255.255 !
Это правило доступа, которое позволяет внешнему пользователю осуществлять доступ к общедоступному SMTP-серверу по адресу 209.165.200.15:
Примечание. Обязательно используйте конкретные хосты вместо ключевого слова any в источнике правила доступа.
Можно указать максимальное количество соединений TCP/UDP, используя статическое правило. Можно также задать максимальное число неустановившихся соединений. Неустановившееся соединение — соединение в полуоткрытом состоянии. Увеличение числа таких соединений влияет на производительность ASA. Ограничение этих соединений помогает предотвратить некоторые виды атак, такие как DoS и SYN. Чтобы полностью исключить подобные риски, необходимо определить политику в системе MPF, которая не рассматривается в этом документе. Дополнительные сведения по этой теме см. в разделе Предотвращение сетевых атак.
Выполните следующие действия:
Перейдите на вкладку Настройки соединения и укажите значения максимального числа соединений для этой статической трансляции.
На следующих иллюстрациях представлены предельные значения числа соединений для данной статической трансляции:
Это равноценные выходные данные CLI:
! static (inside,outside) TCP 209.165.200.15 smtp 172.16.11.15 smtp netmask 255.255.255.255 TCP 100 50 !
В этом разделе описывается реализация списков доступа с учетом времени посредством ASDM. Правила доступа можно применять с учетом значений времени. Чтобы реализовать эту настройку, потребуется задать временной диапазон, который определяет время с указанием дня, недели, месяца и года. После этого необходимо привязать этот временной диапазон к соответствующему правилу доступа. Для определения временного диапазона можно использовать следующие два способа:
Абсолютный — определяет период, задавая время начала и время завершения.
Периодический — т. н. "повторяющийся". Определяет период времени в заданных интервалах.
Примечание. Перед настройкой временного диапазона следует убедиться в том, что ASA настроена с правильно указанной датой и временем, так как эта функция использует настройки времени системы. Синхронизация Синхронизация Синхронизация ASA с сервером NTP позволяет добиться гораздо лучшего результата.
Выполните следующие действия для настройки данной функции с помощью ASDM:
При определении правила доступа нажмите на кнопку Сведения в поле "Временной диапазон".
Нажмите Добавить, чтобы создать новый временной диапазон.
Определите название временного диапазона и задайте начальное время и время завершения. Нажмите кнопку ОК.
Здесь отображается временной диапазон. Нажмите OK для возврата к окну "Добавление правила доступа".
Как вы можете видеть, теперь временной диапазон ограниченного использования связан с этим правилом доступа.
В соответствии с конфигурацией этого правила доступа для пользователя на узле 172.16.10.50 ограничено использование любых ресурсов с 05/Фев/2011 14:00 до 06/Фев/2011 16:30. Это равноценные выходные данные CLI:
time-range Restrict-Usage absolute start 14:00 05 February 2011 end 16:30 06 February 2011 ! access-list inside_access_out extended deny ip host 172.16.10.50 any time-range Restrict-Usage ! access-group inside_access_out in interface inside
Далее приведен пример настройки повторяющегося временного диапазона. Нажмите Добавить, чтобы задать повторяющийся временной диапазон.
Задайте требуемые настройки и нажмите OK, чтобы завершить процедуру.
Нажмите OK для возврата назад к окну "Временной диапазон".
В соответствии с этой конфигурацией пользователю на узле 172.16.10.50 запрещен доступ к любым ресурсам с 15:00 до 20:00 во все дни недели кроме субботы и в воскресенья.
! time-range Restrict-Usage absolute start 00:00 05 February 2011 end 00:30 06 March 2011 periodic weekdays 15:00 to 20:00 ! access-list inside_access_out extended deny ip host 172.16.10.50 any time-range Restrict-Usage ! access-group inside_access_out in interface inside
Примечание. Если для команды time-range заданы абсолютные и периодические значения, в этом случае периодические команды оцениваются только по достижении абсолютного времени начала, и не оцениваются в дальнейшем по достижении абсолютного времени завершения.