Назад | Перейти на главную страницу

Cisco ASA 5505 - доступ к DMZ с одним общедоступным IP-адресом

Я пытаюсь настроить брандмауэр Cisco ASA 5505, чтобы разрешить доступ из Интернета к сети DMZ и почтовому серверу. Я новичок в мире Cisco, так что извините, если это вопрос новичка. Я знаю, что эта тема освещалась на многих сайтах, но большинство из них предполагают, что у вас более одного публичного IP-адреса. Моя ситуация такова, что у меня есть только один общедоступный IP-адрес, и поэтому я полагаю, что мне нужно использовать конфигурацию PAT.

Это моя установка: мой ASA (с базовой лицензией) настроен с тремя интерфейсами для внутренней, внешней и dmz-зон. В моем dmz два сервера - один веб и один почтовый.

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

...  
ASA Version 9.0(4)26  
...  
!  
interface Ethernet0/0  
switchport access vlan 2  
!  
interface Ethernet0/1  
switchport access vlan 3  
!  
interface Ethernet0/2  
switchport access vlan 3  
!  
interface Ethernet0/3  
switchport access vlan 3  
!  
interface Ethernet0/4  
switchport access vlan 1  
!  
interface Ethernet0/5  
switchport access vlan 1  
!  
interface Ethernet0/6  
switchport access vlan 1  
!  
interface Ethernet0/7  
switchport access vlan 1  
!  
interface Vlan1  
  nameif inside  
  security-level 100  
  ip address 192.168.1.1 255.255.255.0   
!  
interface Vlan2  
  nameif outside  
  security-level 0  
  ip address 109.198.xxx.yyy 255.0.0.0 
!  
interface Vlan3  
  no forward interface Vlan1  
  nameif dmz  
  security-level 50  
  ip address 172.16.1.1 255.255.255.0  
!  
ftp mode passive  
dns server-group DefaultDNS  
domain-name mydomain.dk  
same-security-traffic permit inter-interface  
same-security-traffic permit intra-interface  
!  
object network obj_any  
  subnet 0.0.0.0 0.0.0.0  
!  
object network inside-subnet  
  subnet 192.168.1.0 255.255.25 5.0  
!  
object network dmz-subnet  
  subnet 172.16.1.0 255.255.255.0  
!  
object network hst-mail-server  
  host 172.16.1.11  
  description Mail server in DMZ  
!  
object network hst-web-server  
  host 172.16.1.10  
  description Web server in DMZ  
!  
object network hst-web-dns  
  host 172.16.1.10  
  description Web dmz host DNS  
!  
object network hst-web-http  
  host 172.16.1.10  
  description Web dmz host HTTP  
!  
object network hst-web-https  
  host 172.16.1.10  
  description Web dmz host HTTPS  
!  
object-group service web-services tcp  
  port-object eq www  
  port-object eq https  
!  
object-group service mail-services tcp  
  port-object eq smtp  
  port-object eq 587  
  port-object eq 993  
  port-object eq 4190  
!  
object-group service svcgrp-web-udp udp  
  port-object eq dnsix  
!  
object-group service svcgrp-web-tcp tcp  
  port-object eq www  
  port-object eq https  
!  
object-group network RFC1918  
  network-object 10.0.0.0 255.0.0.0  
  network-object 172.16.0.0 255.240.0.0  
  network-object 192.168.0.0 255.255.0.0  
!  
object-group service svcgrp-mail-tcp tcp  
  port-object eq smtp  
!  
access-list outside_access_in extended deny ip any object-group RFC1918   
access-list outside_access_in extended permit udp any object hst-web-server object-group svcgrp-web-udp  
access-list outside_access_in extended permit tcp any object hst-web-server object-group svcgrp-web-tcp  
access-list outside_access_in extended permit tcp any object hst-mail-server object-group svcgrp-mail-tcp  
access-list outside_access_in extended permit ip any any  
...  
!  
object network obj_any  
  nat (inside,outside) dynamic interface  
object network inside-subnet  
  nat (inside,dmz) dynamic interface  
object network dmz-subnet  
  nat (dmz,outside) dynamic interface  
object network hst-web-dns  
  nat (dmz,outside) static interface service udp dnsix dnsix  
object network hst-web-http  
  nat (dmz,outside) static interface service tcp www www  
object network hst-web-https  
  nat (dmz,outside) static interface service tcp https https  
access-group outside_access_in in interface outside  
route outside 0.0.0.0 0.0.0.0 109.198.xxx.zzz 1 
...  

Наконец, у меня все заработало - это был неправильно настроенный acl для запрета доступа к подсетям rfc1918 извне.
Кстати: я нашел интересную статью об отказе в доступе ко всем подсетям в rfc3330, а не только к частным в rfc1918: https://techbloc.net/archives/1392
Вдохновленный этим, я немного улучшил свою конфигурацию. Это новое определение подсетей, к которым запрещается доступ:

object-group network rfc3330-subnets  
  description Group of all rfc3330 subnets incl private and special use  
  network-object 0.0.0.0 255.0.0.0  
  network-object 10.0.0.0 255.0.0.0  
  network-object 14.0.0.0 255.0.0.0  
  network-object 24.0.0.0 255.0.0.0  
  network-object 39.0.0.0 255.0.0.0  
  network-object 127.0.0.0 255.0.0.0  
  network-object 128.0.0.0 255.255.0.0  
  network-object 169.254.0.0 255.255.0.0  
  network-object 172.16.0.0 255.240.0.0  
  network-object 191.255.0.0 255.255.0.0  
  network-object 192.0.0.0 255.255.255.0  
  network-object 192.0.2.0 255.255.255.0  
  network-object 192.88.99.0 255.255.255.0  
  network-object 192.168.0.0 255.255.0.0  
  network-object 198.18.0.0 255.254.0.0  
  network-object 223.255.255.0 255.255.255.0  
  network-object 224.0.0.0 240.0.0.0  
  network-object 240.0.0.0 240.0.0.0  

И это мои новые определения acl:

access-list outside_access_in extended deny ip object-group rfc3330-subnets any  
access-list outside_access_in extended permit udp any object hst-web-server object-group svcgrp-web-udp  
access-list outside_access_in extended permit tcp any object hst-web-server object-group svcgrp-web-tcp  
access-list outside_access_in extended permit tcp any object hst-mail-server object-group svcgrp-mail-tcp  
access-list outside_access_in extended permit ip any any