viernes, 15 de junio de 2012

ACL entre 2 hosts de dos redes


Se nos plantea el caso de que un proveedor monta una red en las instalaciones de nuestra empresa. Por motivos técnicos y de seguridad no queremos acceder a su red ni que ellos accedan a la nuestra red. 

Se necesita que un único ordenador de nuestra empresa comparta datos con un único ordenador de la red del proveedor, a través de ciertos puertos. También nos sale la necesidad que si tenemos un problema el proveedor pueda abrir un túnel desde el exterior y poder acceder únicamente a su red, este caso a un único ordenador de su red, y desde este que acceda al resto.

Se configuran 2 Vlan (NIVEL 2):

- vlan EMPRESA
- vlan PROVEEDOR

Se asigna IP a las dos vlan (NIVEL 3) y hacemos que nuestro Cisco 3750 sea nuestra puerta de enlace principal

- vlan EMPRESA 10.10.10.1 /24
- vlan PROVEEDOR: 10.20.30.1 / 24

El escenario sería algo parecido a lo siguiente:


11.11.20.20 : IP que le da nuestro FW al abrir el tunel.
10.20.30.11: Servidor del Proveedor
10.10.10.10: Servidor de nuestra empresa. 

Las máquinas de la red del proveedor deben estar en puertos de switch de la Vlan PROVEEDOR y nuestros hosts en puertos de la vlan EMPRESA. El 3750 nos hará el nivel 3 para que se enruten las 2 redes.

De la explicación de abajo no hay que tener presente que el número que hay al principio de la línea, es el número de línea y en función a la ACL puede variar.

Configure terminal
IP access-list Extended PERMIT_PROVEEDOR

Explicación: Definimos una lista de acceso extendida.

2 permit tcp host 10.20.30.11 host 11.11.20.20 established

Explicación: Esta línea únicamente permite que se establezcan conexiones contra el FW (a través del cliente VPN).
   
10 permit icmp host 10.20.30.11 host 10.10.10.10 

Explicación: Permite hacer ping del servidor del PROVEEDOR a nuestro servidor (10.10.10.10)

30 permit tcp host 10.20.30.11 host 10.10.10.10 eq ftp ftp-data 

Explicación: Permite conectar desde el servidor del PROVEEDOR a través de FTP a nuestro servidor
    
50 permit tcp host 10.20.30.11 host 10.10.10.10 eq 42511

Explicación: Permite conecta por el puerto 42511 del servidor del PROVEEDOR a nuestro servidor (10.10.10.10)

70 permit tcp host 10.20.30.11 host 10.10.10.10 eq 42508 

Explicación: Permite conecta por el puerto  42508  del servidor del PROVEEDOR a nuestro servidor (10.10.10.10)
   
90 deny ip any any 

Explicación: Deniega el resto de tráfico.

Con lo que hemos hecho evitamos que el tráfico de la vlan de PROVEEDORES salga de su red, limitando a lo que hemos autorizado en la ACL. Nosotros llegaríamos pero como no sabe devolverlo es lo mismo que tenerla inaccesible.

Para ver todas las ACL:  "sh access-lists" , 

Para ver una única ACL: "sh access-lists PERMIT_PROVEEDOR"

Este comando también nos da una información muy valiosa, que son los "Match", el numero al final de cada línea, que son las veces que se esta aplicando esa línea.

 90 deny ip any any (130205 matches)


Para añadir nuevas reglas:

configure terminal
ip access-list extended PROVEEDOR

Por ejemplo que la ip 10.11.12.13 pueda acceder a 10.20.30.11 y la posicionamos en la línea 3:

3 permit ip host 10.20.30.11 host 10.11.12.13

Para eliminar una línea de las ACL

configure terminal
no "número de línea"

*****************************************************************************
Esta claro que hay que asociar la ACL a la VLAN PROVEEDOR


!
interface Vlan199
 description Vlan199PROVEEDOR
 ip address 10.20.30.1 255.255.255.0
 ip access-group PERMIT_PROVEEDOR in
!


Si queremos ver el log de los accesos a una regla deberíamos añadir "log" al final de la regla:

50 permit tcp host 10.20.30.11 host 10.10.10.10 eq 42511 log

Esto no debe dejarse de manera definitiva por el incremento de gestión extra que puede aportar.

Es importante configurar la Vlan a nivel 2 por cada Switch por el que deba comunicarse nuestro hosts contra el que tengamos de gateway de Vlans (nuestra puerta de enlace).