En esta parte del tutorial de configuración del firewall de Vyatta vamos a crear las reglas de firewall necesarias para poder llevar a cabo la política de conexiones diseñada en la parte 1 y que implica a la parte de la VLAN 20 (departamento de Marketing según el esquema ejemplo) gestionada por la interfaz virtual bond0.20 de Vyatta.

A modo de resumen:

  • Departamento de Marketing (VLAN 20):

    • Al igual que el departamento de Ventas, el de Marketing, en cuanto al tráfico local que será gestionado por la maquina Vyatta le vamos a permitir las consultas DHCP de cliente (puerto 68 TCP y UDP), las consultas DNS (puerto 53 TCP y UDP), este tráfico será local (con destino a la propia maquina Vyatta y administrado por ella), con lo que tendremos que crear un grupo de reglas con las conexiones permitidas para asignar a la interfaz VLAN 10 (bond0.10) como tráfico local.

    • Acceso permitido a los servidores de la empresa (VLAN 80) solo para los servicios http (puerto 80), https (puerto 443), Microsoft SQL (puerto 1433 TCP), MySQL (puerto 3306 TCP).

    • Permitiremos también que tengan acceso a servidores de correo seguros POP, SMTP e IMAP (puertos 995, 465 y 993 TCP) de cualquier sitio de internet (podríamos limitar el acceso solo a los servidores de correo corporativos, luego veremos cómo hacerlo).

    • El acceso permitido a páginas web será a páginas de servicios de marketing online (páginas amarillas, google analitycs, google adwords…) y acceso de administración al servidor web corporativo.



En primer lugar vamos a crear las reglas que van a regular el tráfico que entra por la interfaz bond0.20 y que está destinado al propio sistema Vyatta, esto se llama tráfico con sentido local:

openredes@openredesR1# edit firewall name vlan20-local rule 5
[edit firewall name vlan20-local rule 5]
openredes@openredesR1# set action reject
[edit firewall name vlan20-local rule 5]
openredes@openredesR1# set state invalid enable
[edit firewall name vlan20-local rule 5]
openredes@openredesR1# up
[edit firewall name vlan20-local]
openredes@openredesR1# commit
[edit firewall name vlan20-local]
openredes@openredesR1# edit rule 10
[edit firewall name vlan20-local rule 10]
openredes@openredesR1# set action accept
[edit firewall name vlan20-local rule 10]
openredes@openredesR1# set destination port domain,bootpc
[edit firewall name vlan20-local rule 10]
openredes@openredesR1# set protocol tcp_udp
[edit firewall name vlan20-local rule 10]
openredes@openredesR1# up
[edit firewall name vlan20-local]
openredes@openredesR1# commit
[edit firewall name vlan20-local]
openredes@openredesR1# show
 rule 5 {
     action reject
     state {
         invalid enable
     }
 }
 rule 10 {
     action accept
     destination {
         port domain,bootpc
     }
     protocol tcp_udp
 }
[edit firewall name vlan20-local]
openredes@openredesR1#



Lo siguiente es crear el grupo de reglas que van a permitir o rechazar las conexiones provenientes de los equipos alojados en la VLAN 20 y que pertenecen al departamento de Marketing, este grupo de reglas se aplicara a la interfaz bond0.20 como reglas de trafico entrante (in):

openredes@openredesR1# edit firewall name vlan20-in
[edit firewall name vlan20-in]
openredes@openredesR1# edit rule 2
[edit firewall name vlan20-in rule 2]
openredes@openredesR1# set action accept
[edit firewall name vlan20-in rule 2]
openredes@openredesR1# set destination group port-group puertos-vlan10-20-30-40
[edit firewall name vlan20-in rule 2]
openredes@openredesR1# set state established enable
[edit firewall name vlan20-in rule 2]
openredes@openredesR1# set state related enable
[edit firewall name vlan20-in rule 2]
openredes@openredesR1# commit
[edit firewall name vlan20-in rule 2]
openredes@openredesR1# up
[edit firewall name vlan20-in]
openredes@openredesR1# edit rule 5
[edit firewall name vlan20-in rule 5]
openredes@openredesR1# set action reject
[edit firewall name vlan20-in rule 5]
openredes@openredesR1# set state invalid enable
[edit firewall name vlan20-in rule 5]
openredes@openredesR1# commit
[edit firewall name vlan20-in rule 5]
openredes@openredesR1# up
[edit firewall name vlan20-in]
openredes@openredesR1# edit rule 10
[edit firewall name vlan20-in rule 10]
openredes@openredesR1# set action accept
[edit firewall name vlan20-in rule 10]
openredes@openredesR1# set destination address 192.168.1.192/26
[edit firewall name vlan20-in rule 10]
openredes@openredesR1# set destination port 80,443,1433,3306
[edit firewall name vlan20-in rule 10]
openredes@openredesR1# set protocol tcp
[edit firewall name vlan20-in rule 10]
openredes@openredesR1# set state new enable
[edit firewall name vlan20-in rule 10]
openredes@openredesR1# commit
[edit firewall name vlan20-in rule 10]
openredes@openredesR1# up
[edit firewall name vlan20-in]
openredes@openredesR1# edit rule 20
[edit firewall name vlan20-in rule 20]
openredes@openredesR1# set action accept
[edit firewall name vlan20-in rule 20]
openredes@openredesR1# set destination port 995,465,993
[edit firewall name vlan20-in rule 20]
openredes@openredesR1# set protocol tcp
[edit firewall name vlan20-in rule 20]
openredes@openredesR1# set state new enable
[edit firewall name vlan20-in rule 20]
openredes@openredesR1# commit
[edit firewall name vlan20-in rule 20]
openredes@openredesR1# top
[edit]
openredes@openredesR1# nslookup www.web1.com
Server:    8.8.8.8
Address 1: 8.8.8.8 dns.google.com

Name:      www.web1.com
Address 1: 198.51.100.52
[edit]
openredes@openredesR1# nslookup www.web2.com
Server:    8.8.8.8
Address 1: 8.8.8.8 dns.google.com

Name:      www.web2.com
Address 1: 198.51.100.53
[edit]
openredes@openredesR1# nslookup www.banco1.com
Server:    8.8.8.8
Address 1: 8.8.8.8 dns.google.com

Name:      www.banco1.com
Address 1: 198.51.100.22
[edit]
openredes@openredesR1# nslookup www.banco2.com
Server:    8.8.8.8
Address 1: 8.8.8.8 dns.google.com

Name:      www.banco2.com
Address 1: 198.51.100.23
[edit]
openredes@openredesR1# edit firewall group address-group webs-vlan20
[edit firewall group address-group webs-vlan20]
openredes@openredesR1# set address 198.51.100.52
[edit firewall group address-group webs-vlan20]
openredes@openredesR1# set address 198.51.100.53
[edit firewall group address-group webs-vlan20]
openredes@openredesR1# set address 198.51.100.22
[edit firewall group address-group webs-vlan20]
openredes@openredesR1# set address 198.51.100.23
[edit firewall group address-group webs-vlan20]
openredes@openredesR1# top
[edit]
openredes@openredesR1# edit firewall name vlan20-in rule 30
[edit firewall name vlan20-in rule 30]
openredes@openredesR1# set action accept
[edit firewall name vlan20-in rule 30]
openredes@openredesR1# set destination group address-group webs-vlan20
[edit firewall name vlan20-in rule 30]
openredes@openredesR1# set destination port 80,443
[edit firewall name vlan20-in rule 30]
openredes@openredesR1# set protocol tcp
[edit firewall name vlan20-in rule 30]
openredes@openredesR1# set state new enable
[edit firewall name vlan20-in rule 30]
openredes@openredesR1# commit
[edit firewall name vlan20-in rule 30]
openredes@openredesR1# up
[edit firewall name vlan20-in]
openredes@openredesR1# edit rule 40
[edit firewall name vlan20-in rule 40]
openredes@openredesR1# set action accept
[edit firewall name vlan20-in rule 40]
openredes@openredesR1# set destination address 192.168.0.226
[edit firewall name vlan20-in rule 40]
openredes@openredesR1# set destination port 443
[edit firewall name vlan20-in rule 40]
openredes@openredesR1# set protocol tcp
[edit firewall name vlan20-in rule 40]
openredes@openredesR1# set state new enable
[edit firewall name vlan20-in rule 40]
openredes@openredesR1# commit
[edit firewall name vlan20-in rule 40]
openredes@openredesR1# up
[edit firewall name vlan20-in]
openredes@openredesR1# show
 rule 2 {
     action accept
     destination {
         group {
             port-group puertos-vlan10-20-30-40
         }
     }
     state {
         established enable
         related enable
     }
 }
 rule 5 {
     action reject
     state {
         invalid enable
     }
 }
 rule 10 {
     action accept
     destination {
         address 192.168.1.192/26
         port 80,443,1433,3306
     }
     protocol tcp
     state {
         new enable
     }
 }
 rule 20 {
     action accept
     destination {
         port 995,465,993
     }
     protocol tcp
     state {
         new enable
     }
 }
 rule 30 {
     action accept
     destination {
         group {
             address-group webs-vlan20
         }
         port 80,443
     }
     protocol tcp
     state {
         new enable
     }
 }
 rule 40 {
     action accept
     destination {
         address 192.168.0.226
         port 443
     }
     protocol tcp
     state {
         new enable
     }
 }
[edit firewall name vlan20-in]
openredes@openredesR1# save
Saving configuration to '/opt/vyatta/etc/config/config.boot'...
Done
[edit]
openredes@openredesR1#



En caso de querer limitar el acceso únicamente al servidor de email de la empresa se puede configurar en la regla 20 un destino único prefijado o un grupo de destino creando un grupo de direcciones y asignarlo con el comando set firewall name vlan20-in rule 20 destination address IP_server_mail_corporativo.


Una vez configurados los grupos de reglas para la interfaz bond0.20 solo queda aplicarlos a dicha interfaz en el sentido correcto:

openredes@openredesR1# set interfaces bonding bond0 vif 20 firewall in name vlan20-in
[edit]
openredes@openredesR1# set interfaces bonding bond0 vif 20 firewall local name vlan20-local
[edit]
openredes@openredesR1# commit
[edit]
openredes@openredesR1# save
Saving configuration to '/opt/vyatta/etc/config/config.boot'...
Done
[edit]
openredes@openredesR1#



Ahora los equipos pertenecientes a la VLAN 20 solo tendrán los accesos descritos en la primera parte del tutorial.







vyatta_kickass_large