EdgeMAX - ejemplo de política de zona CLI

Resumen


Los lectores aprenderán a crear un firewall basado en la zona.

EdgeOS es compatible con servidores de seguridad basada en ACL tanto en zona, pero actualmente el firewall basado en la zona sólo es configurable desde el CLI. Para un buen artículo sobre la diferencia entre firewalls basados en ACL y zona, vea: ACL vs zonas

Hay tres redes:

  1. WAN - 172.16.10.0/24, 2001:0DB8:0:9999::0 / 64
  2. LAN - 192.168.100.0/24, 2001:0DB8:0:AAAA::0 / 64
  3. DMZ - 192.168.200.0/24, 2001:0DB8:0:BBBB::0 / 64

Este ejemplo es para un router en un palo, pero se puede adaptar fácilmente este ejemplo para el número de NICs (tarjetas de interfaz de red) tiene.

Diagrama de red lógico 

  • Internet-192.168.200.100-tcp/80
  • Internet-192.168.200.100-tcp/443
  • Internet-192.168.200.100-tcp/25
  • Internet-192.168.200.100-tcp/53
  • EdgeOS actúa como DHCP, router de promotor, NAT, DNS, firewall.
  • 192.168.200.200/2001:0db8:0:bbbb::200 es un servidor de correo (SMTP/IMAP), interno y externo DNS y web.
  • 192.168.100.10/2001:0db8:0:AAAA::10 es la consola del administrador, que puede SSH para EdgeOS.
  • Hosts de LAN y DMZ tienen acceso de salida básica: web, FTP, SSH.
  • LAN puede acceder a recursos de DMZ.
  • DMZ no puede acceder a recursos de la LAN.
  • Entrantes WAN se conecta al host DMZ.

 

 

Diagrama de red físico

Se asigna la interfaz EdgeOS el .1 /: 1 dirección de sus respectivas redes. Aquí están las asignaciones de VLAN de los puertos:

  • WAN - VLAN 10
  • LAN - VLAN 20
  • DMZ - VLAN 30

La configuración se verá así:

interfaces {
 ethernet eth0 {
 vif 10 {
 address 172.16.10.1/24
 address 2001:db8:0:9999::1/64
 }
 vif 20 {
 address 192.168.100.1/24
 address 2001:db8:0:AAAA::1/64
 }
 vif 30 {
 address 192.168.200.1/24
 address 2001:db8:0:BBBB::1/64
 }
 }
}

 

Conceptos básicos de las zonas

  • Cada interfaz se asigna a una zona. La interfaz puede ser física o virtual, como túneles (VPN, PPTP, GRE, etc.) y se tratan exactamente el mismo.
  • Flujos de tráfico de zona a zona B. Me refiero a este flujo como una dirección de zona par. Por ejemplo, A-> B y B-> A son dos direcciones de zona par.
  • Conjuntos de reglas son creadas por la zona de par de dirección.
  • Nombre a conjuntos de reglas para indicar qué zona par de dirección, que representan (ejemplos: ZoneA ZoneB y ZoneB ZoneA; LAN-DMZ y DMZ LAN). En EdgeOS deben tener nombres de reglas únicas. En el caso de superposición, añadir un -6 al final de conjuntos de reglas IPv6 (ejemplo: LAN-DMZ y LAN-DMZ-6). Esto permite auto-completar y singularidad.
  • En este ejemplo tenemos cuatro zonas:
    • LAN
    • WAN
    • ZONA DESMILITARIZADA
    • Local
  • Nota: La zona Local es el cortafuegos propiamente dicho.
  • Si su equipo está en la LAN y necesitas SSH en tu caja de EdgeOS, entonces usted necesita una regla para permitir que en las reglas de la LAN Local. Si desea acceder a una página web desde su caja EdgeOS, entonces usted necesita una regla para permitir que en las reglas de la LAN Local.
  • Es bueno mencionar las reglas constantemente. Como crece el número de reglas que tienes y la consistencia más tienes, más fácil tu vida será.
Rule 1 - State Established, Related
Rule 2 - State Invalid
Rule 100 - ICMP
Rule 200 - Web
Rule 300 - FTP
Rule 400 - NTP
Rule 500 - SMTP
Rule 600 - DNS
Rule 700 - DHCP
Rule 800 - SSH
Rule 900 - IMAPS
default-action drop
enable-default-log

Registro y acción predeterminada

Zonas y conjuntos de reglas tienen una declaración de acción predeterminada. Al utilizar las políticas de la zona, la acción predeterminada es fijada por la declaración de política de la zona y está representada por regla 10000.

Es una buena práctica registrar tráfico aceptado y denegado. Puede ahorrar de importantes dolores de cabeza al intentar solucionar un problema de conectividad. Usando registro de habilitar predeterminado registrará tráfico golpear la acción predeterminada .

Por defecto, iptables no permite tráfico de sesiones establecidas volver, así que usted debe permitir explícitamente este. Hacerlo agregando dos reglas al principio de cada grupo de reglas. Regla 1 permite paquetes establecidos y relacionados con el estado y regla 2 gotas y registros de paquetes de estado no válido. Colocar la regla establecida/relacionadas en la parte superior porque la gran mayoría del tráfico en una red se establece y la regla no válida impide que erróneamente se compara con otras reglas de paquetes de estado no válido. Tener la regla más emparejada aparece primero reduce la carga del CPU en entornos de alto volumen.

Nota importante: no desea agregar registro a la regla del estado establecido como usted se registro los paquetes entrantes y salientes para cada sesión en lugar de sólo la iniciación de la sesión. Los registros serán masivos en un período muy corto de tiempo.

En EdgeOS deben tener las interfaces creadas antes de que se les pueden aplicar a la zona, y debe crear los conjuntos de reglas antes de que se les pueden aplicar a una zona política.

  1. Crear y configurar las interfaces.
  2. Construir los conjuntos de reglas para cada zona-par-dirección; cada conjunto de reglas debe incluir al menos las reglas del tres estado.
  3. Establecer las políticas de la zona.

Zonas no permiten una acción predeterminada de aceptar; la acción predeterminada es drop o reject. Es importante recordar esto porque si se aplica una interfaz para una zona y la confirmación, se quitarán las conexiones activas. Específicamente, si usted: 

  • son SSH'ed en EdgeOS
  • Añadir Local o la interfaz que se conecta a través de una zona
  • no tiene reglas para permitir sesiones establecidas y SSH

entonces usted no será capaz de conectarse.

Las siguientes son las normas que se crearon para este ejemplo (que puede no ser completa), tanto en IPv4 como IPv6. Si no hay ninguna IP especifica, entonces la dirección origen o destino no es explícita. 

  1. WAN-DMZ:192.168.200.200-tcp/80
  2. WAN-DMZ:192.168.200.200-tcp/443
  3. WAN-DMZ:192.168.200.200-tcp/25
  4. WAN-DMZ:192.168.200.200-tcp/53
  5. WAN-DMZ:2001:0DB8:0:BBBB::200-tcp/80
  6. WAN-DMZ:2001:0DB8:0:BBBB::200-tcp/443
  7. WAN-DMZ:2001:0DB8:0:BBBB::200-tcp/25
  8. WAN-DMZ:2001:0DB8:0:BBBB::200-tcp/53
  1. DMZ - Local - tcp/53
  2. DMZ - Local - tcp/123
  3. DMZ - Local - udp/67,68
  1. LAN - Local - tcp/53
  2. LAN - Local - tcp/123
  3. LAN - Local - udp/67,68
  4. LAN:192.168.100.10 - Local - tcp/22
  5. LAN:2001:0db8:0:AAAA::10 - Local - tcp/22
  1. LAN - WAN - tcp/80
  2. LAN - WAN - tcp/443
  3. LAN - WAN - tcp/22
  4. LAN - WAN - tcp/20,21
  1. DMZ - WAN - tcp/80
  2. DMZ - WAN - tcp/443
  3. DMZ - WAN - tcp/22
  4. DMZ - WAN - tcp/20,21
  5. DMZ - WAN - tcp/53
  6. DMZ - WAN - udp/53
  1. Local - WAN - tcp/80
  2. Local - WAN - tcp/443
  3. Local - WAN - tcp/20,21
  4. Local - WAN - tcp/53
  5. Local - WAN - udp/53
  6. Local - WAN - udp/123
  1. Local - DMZ - tcp/25
  2. Local - DMZ - tcp/67,68
  3. Local - DMZ - tcp/53
  4. Local - DMZ - udp/53
  1. Local - LAN - tcp/67,68
  1. LAN - DMZ - tcp/80
  2. LAN - DMZ - tcp/443
  3. LAN - DMZ - tcp/993
  4. LAN:2001:0db8:0:AAAA::10 - DMZ:2001:0DB8:0:BBBB::200 - tcp/22
  5. LAN:192.168.100.10 - DMZ:192.168.200.200 - tcp/22

Reglas de la zona

Ya que tenemos cuatro zonas, debemos establecer las siguientes reglas:

  1. LAN-WAN
  2. LAN-Local
  3. LAN-DMZ
  4. WAN-LAN
  5. Local WAN
  6. WAN-DMZ
  7. Local-LAN
  8. Local-WAN
  9. Local-DMZ
  10. DMZ-LAN
  11. DMZ-WAN
  12. DMZ-Local

Aunque las dos zonas no se comunican nunca, es una buena idea para crear los conjuntos de reglas de la zona de par de dirección y activar el registro de forma predeterminada. Esto le permitirá registrar intentos de acceso a las redes. Sin ella, usted nunca verá los intentos de conexión.

Este es un ejemplo que muestra la configuración de la acción por defecto, el registro predeterminado y dos reglas de base.

name wan-lan {
 default-action drop
 enable-default-log
 rule 1 {
 action accept
 state {
 established enable
 related enable
 }
 }
 rule 2 {
 action drop
 log enable
 state {
 invalid enable
 }
 }
}

Aquí es un ejemplo de un conjunto de reglas IPv6 DMZ-WAN.

ipv6-name dmz-wan-6 {
 default-action drop
 enable-default-log
 rule 1 {
 action accept
 state {
 established enable
 related enable
 }
 }
 rule 2 {
 action drop
 log enable
 state {
 invalid enable
 }
 rule 100 {
 action accept
 log enable
 protocol ipv6-icmp
 }
 rule 200 {
 action accept
 destination {
 port 80,443
 }
 log enable
 protocol tcp
 }
 rule 300 {
 action accept
 destination {
 port 20,21
 }
 log enable
 protocol tcp
 }
 rule 500 {
 action accept
 destination {
 port 25
 }
 log enable
 protocol tcp
 source {
 address 2001:db8:0:BBBB::200
 }
 }
 rule 600 {
 action accept
 destination {
 port 53
 }
 log enable
 protocol tcp_udp
 source {
 address 2001:db8:0:BBBB::200
 }
 }
 rule 800 {
 action accept
 destination {
 port 22
 }
 log enable
 protocol tcp
 }
}

Creación política de la zona

Una vez que tengas todos tus conjuntos de reglas construidas, necesita crear su política de la zona.
Empezar por configurar la acción de interfaz y predeterminados para cada zona.

set zone-policy zone dmz default-action drop
set zone-policy zone dmz interface eth0.30

En este caso, estamos estableciendo las reglas IPv6 que representa el tráfico procedente de la red LAN, con destino a la zona desmilitarizada. Porque la zona política cortafuegos sintaxis es un poco torpe, sigo recto por pensar de él hacia atrás.

set zone-policy zone dmz from lan firewall ipv6-name lan-dmz-6


La política de DMZ LAN es LAN DMZ. Usted puede conseguir un ritmo para cuando usted construir un montón de una vez.
Al final, acabarás con algo parecido a esta configuración: ZonesExampleConfigBoot . Saqué todo, pero el firewall, las interfaces y las secciones zona política. Es lo suficientemente largo como-es.

Nota: en este ejemplo es incompleta.  

Túnel IPv6

Si está utilizando un túnel IPv6 de HE.net o en algún otro lugar, la base es la misma excepto que tiene dos interfaces WAN, para IPv4 y IPv6.
Tiene cinco zonas en lugar de sólo cuatro, y configurar sus reglas IPv6 entre sus zonas LAN/DMZ en vez de a la WAN y la interfaz de túnel.

Pares de LAN, WAN, DMZ, Local y TUN (túnel) IPv6 son:

  1. LAN-TUN
  2. LAN-Local
  3. LAN-DMZ
  4. TUN-LAN
  5. TUN-Local
  6. TUN-DMZ
  7. Local-LAN
  8. Local-TUN
  9. Local-DMZ
  10. DMZ-LAN
  11. DMZ-TUN
  12. DMZ-Local

Nota: ninguno ir a WAN ya que WAN no tiene una dirección IPv6 en él.


Tienes que añadir un par de reglas a tus reglas de WAN-Local para permitir el protocolo 41 pulg

aquí está un ejemplo:

rule 400 {
 action accept
 destination {
 address 172.16.10.1
 }
 log enable
 protocol 41
 source {
 address ip.of.tunnel.broker
 }
}
Tecnología de Zendesk