Копилка знаний

Cisco ASA. Управление входящим и исходящим трафиком с помощью списков ACL

asa acl

asa acl

Рисунок –вместо тысячи слов. Примеры сценариев, которые будут приведены ниже, изображены на приведенном ниже рисунке. Эти примеры покажут вам, как управлять входящим и исходящим потоком трафика:

Рис. 1 Управление входящим и исходящим потоком трафика

Сценарий 1. Разрешить входящий доступ к серверам DMZ

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

Версия Cisco ASA до 8.3

ciscoasa(config)# static (DMZ , outside) 100.1.1.1 10.0.0.1 netmask 255.255.255.255

ciscoasa(config)# static (DMZ , outside) 100.1.1.2 10.0.0.2 netmask 255.255.255.255

ciscoasa(config)# access-list OUTSIDE-IN extended permit tcp any host 100.1.1.1 eq 80

ciscoasa(config)# access-list OUTSIDE-IN extended permit tcp any host 100.1.1.2 eq 25

ciscoasa(config)# access-group OUTSIDE-IN in interface outside

 ciscoasa(config)# access-list DMZ-IN extended deny ip any any log

ciscoasa(config)# access-group DMZ-IN in interface DMZ

Как видно из утверждений ACL, мы разрешаем «любому» трафику (то есть всему интернет-трафику) получать доступ к общедоступным IP-адресам наших веб-серверов и серверов электронной почты только через соответствующие порты (80 и 25). Кроме того, весь трафик, исходящий от серверов DMZ, запрещается и регистрируется с использованием ACL DMZ-IN. Это хорошая практика обеспечения безопасности, поскольку, если сервер DMZ будет взломан извне, злоумышленник не сможет получить доступ к чему-либо еще из зоны DMZ.

Cisco ASA версии 8.3 и новее

Начиная с Cisco ASA версии 8.3 и более поздних, вы должны указать Реальный IP-адрес в ACL вместо Сопоставленного общедоступного IP-адреса. Из приведенного выше примера у нас есть следующая конфигурация:

! Сначала создайте статические трансляции NAT

ciscoasa(config)# object network web_server_static

ciscoasa(config-network-object)# host 10.0.0.1  (Реальный IP-адрес Web-сервера)

ciscoasa(config-network-object)# nat (DMZ , outside) static 100.1.1.1 (Сопоставленный IP)

ciscoasa(config)# object network email_server_static

ciscoasa(config-network-object)# host 10.0.0.2 (Реальный IP-адрес E-mail-сервера)

ciscoasa(config-network-object)# nat (DMZ , outside) static 100.1.1.2 (Сопоставленный IP)

! Теперь разрешите только абсолютно необходимые порты (80 и 25) доступные из Интернета.

ciscoasa(config)# access-list OUTSIDE-IN extended permit tcp any host 10.0.0.1 eq 80

ciscoasa(config)# access-list OUTSIDE-IN extended permit tcp any host 10.0.0.2 eq 25

ciscoasa(config)# access-group OUTSIDE-IN in interface outside

Обратите внимание, что мы использовали реальные IP-адреса (10.0.0.1 и 10.0.0.2) в записи списка доступа, а НЕ сопоставленные общедоступные IP-адреса.

Сценарий 2: применение Identity NAT (nat 0) к внутренней сети при доступе к DMZ

Как мы упоминали ранее, списки управления доступом, помимо ограничения потока трафика, также могут использоваться для идентификации трафика для применения к нему других действий. Для нашей схемы выше предположим, что мы хотим применить Identity NAT к нашей внутренней сети, когда она взаимодействует с DMZ. Другими словами, когда хосты в сети 192.168.1.0/24 инициируют связь с сетью 10.0.0.0/24, мы не хотим их транслировать. Чтобы отключить трансляцию NAT с определенного интерфейса с высоким уровнем безопасности на интерфейс с более низким уровнем безопасности, мы можем использовать команду nat 0 (только в версиях до 8.3). ACL можно использовать вместе с командой nat 0, чтобы определить, какой поток трафика не будет транслироваться.

Версия Cisco ASA до 8.3

ciscoasa(config)# access-list NO-NAT extended permit ip 192.168.1.0 255.255.255.0 10.0.0.0 255.255.255.0 (Сопоставление трафика Inside с DMZ)

ciscoasa(config)# nat (inside) 0 access-list NO-NAT (Не транслировать трафик, соответствующий этому ACL)

ciscoasa(config)# nat (inside) 1 192.168.1.0 255.255.255.0

ciscoasa(config)# global (outside) 1 interface (Используйте PAT при трафике Inside to Outside)

Приведенная выше конфигурация применима к версиям до 8.3. Следующий сценарий намного популярнее, так что давайте продолжим.

Сценарий 3: Двунаправленная связь между сетями Inside и сетями DMZ

Предыдущий сценарий 2 выше работает только для трафика, идущего из внутренней сети в DMZ (а не наоборот). Если мы хотим иметь двунаправленную связь между внутренней сетью и DMZ, мы должны настроить статическую трансляцию NAT между двумя сетями. В частности, мы можем создать статический Identity NAT внутренней локальной сети (192.168.1.0/24) при взаимодействии с DMZ. Это означает, что исходные IP-адреса хостов внутренней локальной сети не будут транслироваться при взаимодействии с DMZ.

(Identity NAT). Поскольку мы будем использовать статическое сопоставление, это также позволит получить доступ из DMZ во внутреннюю часть (конечно, контролируемую ACL).

Снова обращаясь к предыдущему рисунку в сценарии 1 выше, мы создадим Static Identity NAT из Inside LAN. Давайте посмотрим, какие команды необходимы для этого сценария:

Версия Cisco ASA до 8.3

ciscoasa(config)# static (inside , DMZ) 192.168.1.0 192.168.1.0 netmask 255.255.255.0

Команда выше создает Static Identity NAT из внутренней LAN (между внутренней и DMZ-зонами). Хосты во внутренней зоне не будут транслироваться при переходе в зону DMZ. Более того, эта конфигурация при необходимости позволит получить доступ из DMZ во внутреннюю часть.

! Теперь разрешите доступ из DMZ в Inside по мере необходимости. Этот доступ контролируется ACL «dmzin».

ciscoasa(config)# access-list dmzin extended permit tcp host 10.0.0.2 host 192.168.1.3 eq 25

ciscoasa(config)# access-group dmzin in interface DMZ

ACL «dmzin» разрешит доступ с хоста DMZ 10.0.0.2 на порт 25 внутреннего хоста 192.168.1.3.

Cisco ASA версии 8.3 и новее

Настройка сценария 3 в версиях 8.3 и более поздних:

! Настройте статический Identity NAT

ciscoasa(config)# object network inside_identity_nat

ciscoasa(config-network-object)# subnet 192.168.1.0 255.255.255.0

ciscoasa(config)# object network inside_network

ciscoasa(config-network-object)# subnet 192.168.1.0 255.255.255.0 (Внутренняя подсеть)

ciscoasa(config-network-object)# nat (inside, DMZ) static inside_identity_nat

! Теперь разрешите доступ из DMZ в Inside по мере необходимости. Этот доступ контролируется ACL «dmzin».

ciscoasa(config)# access-list dmzin extended permit tcp host 10.0.0.2 host 192.168.1.3 eq 25

ciscoasa(config)# access-group dmzin in interface DMZ

Сценарий 4: Применение ограничений исходящего трафика из внутренней сети к DMZ

Теперь предположим, что пользователям внутренней сети (192.168.1.0/24) разрешен доступ только к серверу электронной почты через порт 25 в DMZ (для получения электронной почты), но они не должны иметь доступа к остальной части сети DMZ. Однако любой доступ к Интернету должен быть разрешен.

ciscoasa(config)# access-list INSIDE-IN extended permit tcp 192.168.1.0 255.255.255.0 host 10.0.0.2 eq 25

ciscoasa(config)# access-list INSIDE-IN extended deny ip 192.168.1.0 255.255.255.0 10.0.0.0 255.255.255.0

ciscoasa(config)# access-list INSIDE-IN extended permit ip 192.168.1.0 255.255.255.0 any

ciscoasa(config)# access-group INSIDE-IN in interface inside

Exit mobile version