Данный документ показывает простую конфигурацию как открывать или закрывать порты для различных типов трафика, проходящего через устройство безопасности, такое как PIX или ASA
Каждый интерфейс на PIX должен иметь уровень безопасности от 0 (наименее безопасный) до 100 (наиболее безопасный). Например, вы должны назначить для самой защищенной сети, такой как внутренняя сеть, где расположены ваши хосты, уровень 100. А для внешней сети, например, Интернет, может быть назначен уровень 0. Другим сетям, таким как DMZ, уровень безопасности назначается в промежутке между 0 и 100. Вы можете назначить один уровень безопасности сразу для нескольких интерфейсов.
По умолчанию на интерфейсе outside все порты заблокированы (уровень безопасности 0), а на интерфейсе inside (уровень 100) все порты открыты. Таким образом весь исходящий трафик может проходить через PIX без какой-либо специальной конфигурации устройства, но входящий трафик должен быть явно разрешен при помощи листов доступа и конфигурацией статической трансляции адресов (static nat).
Как правило, все порты заблокированы при прохождении трафика из наименее безопасной зоны в наиболее безопасную, и все порты открыты при прохождении трафика из наиболее безопасной зоны в менее безопасную. Это осуществляется при помощи механизма инспектирования состояний сетевых соединений.
Рассмотрим сетевую диаграмму на рисунке
Пять различных серверов расположены в зоне DMZ. Необходимо ограничить к ним доступ из внутренней сети, и в то же время разрешить доступ из внешней сети.
Блокирование портов
Устройство безопасности разрешает прохождение любого исходящего трафика, до тех пор, пока он не будет блокирован явным листом доступа (ACL). Лист доступа состоит из одного или более элементов (ACE). В зависимости от типа листа вы можете указать адреса отправителя и получателя, протокол, TCP/UDP порты, тип сообщения ICMP (для протокола ICMP) и даже EtherType (для фрэймов)
Для протоколов без установления соединения (например, ICMP), устройство безопасности устанавливает однонаправленные сессии, поэтому вам нужен лист доступа, который разрешает прохождения ICMP в обоих направлениях, либо вы должны включить инспектирование протокола ICMP, которое выключено по умолчанию. В этом случае инспекционный движок будет трактовать ICMP сессии как двунаправленные соединения.
Выполним следующие шаги для того, чтобы блокировать порты для трафика идущего из интерфейса inside в DMZ.
1. Создаем лист доступа, чтобы заблокировать определенный порт
access-list <name> extended deny <protocol> <source-network/source IP> <source-netmask> <destination-network/destination IP> <destinamtion-netmask> eq <port number>access-list <name> extended permit ip any any
2. Привязываем созданный ACL к нужному интерфейсу
access-group <access list name> in interface <interface name>
Примеры:
Блокируем HTTP трафик: Для того, чтобы заблокировать внутреннюю сеть 10.1.1.0 от доступа к Web серверу 172.16.1.1, расположенному в DMZ сети, создаем ACL вида
ciscoasa(config)#access-list 100 extended deny tcp 10.1.1.0 255.255.255.0 host 172.16.1.1 eq 80 ciscoasa(config)#access-list 100 extended permit ip any any ciscoasa(config)#access-group 100 in interface inside
Блокируем FTP трафик: Для того, чтобы заблокировать внутреннюю сеть 10.1.1.0 от доступа к FTP серверу 172.16.1.2, расположенному в DMZ сети, создаем ACL
ciscoasa(config)#access-list 100 extended deny tcp 10.1.1.0 255.255.255.0 host 172.16.1.2 eq 21 ciscoasa(config)#access-list 100 extended permit ip any any ciscoasa(config)#access-group 100 in interface inside
Открываем порты
Устройство безопасности запрещает прохождение любого входящего трафика, до тех пор, пока он не будет разрешен явным листом доступа (ACL).
Если вы ходите, что внешние хосты могли получить доступ к внутренним хостам, вы должны применить входной ACL на внешний интерфейс. В ACL вам нужно указать транслируемый адрес внутреннего хоста потому, что только эти адреса могут использоваться на внешней сети. В качестве примера, разрешим прохождения трафика из интерфейса outside на интерфейс inside или из DMZ в inside.
1. Создем фиксированную трансляцию реального адреса в мапированный адрес. Мапированный адрес – это такой адрес, который хосты находящиеся в Internet могут использовать для доступа к серверу расположенному в DMZ, без необходимости знания его реального адреса (адреса интерфейса)
static (real_ifc,mapped_ifc) mapped_ip {real_ip [netmask mask] | access-list access_list_name | interface}
2. Создаем ACL чтобы разрешить трафик на указный порт
access-list <name> extended permit <protocol> <source-network/source IP> <source-netmask> <destination-network/destination IP> <destinamtion-netmask> eq <port number>
3. Привязываем ACL на нужный интерфейс
access-group <access-list name> in interface <interface name>
Примеры:
Открываем трафик для SMTP. Открываем порт tcp 25 для того, чтобы хосты в Интернет могли отправлять порту на сервер расположенный в DMZ. Команда static мапирует внешний адрес 192.168.5.3 в реальный DMZ адрес 172.16.1.3 как показано на рисунке
ciscoasa(config)#static (DMZ,Outside) 192.168.5.3 172.16.1.3 netmask 255.255.255.255 ciscoasa(config)#access-list 100 extended permit tcp any host 192.168.5.3 eq 25 ciscoasa(config)#access-group 100 in interface outside
Открываем трафик для HTTPS. Открываем порт tcp 443, чтобы пользователи внешней сети могли получить доступ к web серверу
ciscoasa(config)#static (DMZ,Outside) 192.168.5.5 172.16.1.5 netmask 255.255.255.255 ciscoasa(config)#access-list 100 extended permit tcp any host 192.168.5.5 eq 443 ciscoasa(config)#access-group 100 in interface outside
Разрешаем DNS трафик. Аналогичным образом открываем порт udp 53
ciscoasa(config)#static (DMZ,Outside) 192.168.5.4 172.16.1.4 netmask 255.255.255.255 ciscoasa(config)#access-list 100 extended permit udp any host 192.168.5.4 eq 53 ciscoasa(config)#access-group 100 in interface outside
По материалам: www.cisco.com