martes, 4 de diciembre de 2012

Restricción a Lista de acceso ACL


Las ACL permiten un control del tráfico de red, a nivel de los routers. Pueden ser parte de una solución de seguridad (junton con otros componentes, como antivirus, anti-espías, firewall, proxy, etc.).

Puntos varios, que se deben recordar

  • Una ACL es una lista de una o más instrucciones.
  • Se asigna una lista a una o más interfaces.
  • Cada instrucción permite o rechaza tráfico, usando uno o más de los siguientes criterios: el origen del tráfico; el destino del tráfico; el protocolo usado.
  • El router analiza cada paquete, comparándolo con la ACL correspondiente.
  • El router compara la ACL línea por línea. Si encuentra una coincidencia, toma la acción correspondiente (aceptar o rechazar), y ya no revisa los restantes renglones.
  • Es por eso que hay que listar los comandos desde los casos más específicos, hasta los más generales. ¡Las excepciones tienen que estar antes de la regla general!
  • Si no encuentra una coincidencia en ninguno de los renglones, rechaza automáticamente el tráfico. Consideren que hay un "deny any" implícito, al final de cada ACL.
  • Cualquier línea agregada a una ACL se agrega al final. Para cualquier otro tipo de modificación, se tiene que borrar toda la lista y escribirla de nuevo. Se recomienda copiar al Bloc de Notas y editar allí.
  • Las ACL estándar (1-99) sólo permiten controlar en base a la dirección de origen.
  • Las ACL extendidas (100-199) permiten controlar el tráfico en base a la dirección de origen; la dirección de destino; y el protocolo utilizado.
  • También podemos usar ACL nombradas en vez de usar un rango de números. El darles un nombre facilita entender la configuración (y por lo tanto, también facilita hacer correcciones). No trataré las listas nombradas en este resumen.
  • Si consideramos sólo el tráfico de tipo TCP/IP, para cada interface puede haber sólo una ACL para tráfico entrante, y una ACL para tráfico saliente.
  • Sugerencia para el examen: Se deben conocer los rangos de números de las ACL, incluso para protocolos que normalmente no nos interesan.

Wildcards

  • "Wildcard" significa "comodín", como el joker en el juego de naipes.
  • Tanto en la dirección de origen, como (en el caso de las ACL extendidas) en la dirección de destino, se especifican las direcciones como dos grupos de números: un número IP, y una máscara wildcard.
  • Si se traduce a binario, los "1" en la máscara wildcard significan que en la dirección IP correspondiente puede ir cualquier valor.
  • Para permitir o denegar una red o subred, la máscara wildcard es igual a la máscara de subred, cambiando los "0" por "1" y los "1" por "0" (en binario).
  • Sin embargo, las máscaras wildcard también permiten más; por ejemplo, se pueden denegar todas las máquinas con números IP impares, o permitir el rango de IP 1-31, en varias subredes a la vez.
Ejemplos:
  • Permitir o denegar un IP específico: 172.16.0.1 0.0.0.0. Se puede abreviar como host 172.16.0.1.
  • Permitir o denegar una subred: 172.16.0.0 0.0.0.255. (El ejemplo corresponde a una subred /24, es decir, máscara de subred = 255.255.255.0.)
  • Permitir o denegar a todos: 0.0.0.0 255.255.255.255. Se puede abreviar como any.

Colocación de las ACL

  • Las ACL estándar se colocan cerca del destino del tráfico. Esto se debe a sus limitaciones: no se puede distinguir el destino.
  • Las ACL extendidas se colocan cerca del origen del tráfico, por eficiencia - es decir, para evitar tráfico innecesario en el resto de la red.

Dirección del tráfico

El tema "in" vs. "out" suele causar confusiones, por eso es convienente la siguiente explicación.
La dirección in o out (entrada o salida) se refiere al router que están configurando en ese momento. Por ejemplo, con la siguiente configuración de routers (A, B, C son routers; X, Y son hosts (o redes)):
X ------ A ------ B ------ C ------- Y
Se puede controlar el tráfico de X a Y en el router A, B o C.
Por ejemplo, el en router A, se puede controlar el tráfico entrante (in), en la interface que está a su izquierda. En el mismo router, también es posible controlar el tráfico saliente (out), en la interface que está a su derecha.
De la misma manera, se puede controlar el tráfico en el router B: entrante, a la izquierda; o saliente, por la derecha; o de igual manera en el router C.
(Lo más recomendable en este caso es usar una lista extendida, en el router A, y aplicarla a la interface a su izquieda, dirección "in" - entrante.)
También se debe recordar que normalmente el tráfico fluye en dos direcciones. Por ejemplo, si "Y" es un servidor Web, teóricamente, en el router C, interface a la derecha, se podría bloquear la solicitud al servidor (out), o también la respuesta del servidor (in).

ACL estándar

Sintaxis para un renglón (se escribe en el modo de configuración global):
access-list (número) (deny | permit) (ip origen) (wildcard origen)
Ejemplo: Bloquear toda la subred 172.17.3.0/24, excepto la máquina 172.17.3.10.
access-list 1 permit host 172.17.3.10
access-list 1 deny 172.17.3.0 0.0.0.255
access-list 1 permit any
Para asignarlo a una interface:
interface F0
  ip access-group 1 out

ACL extendidas

Sintaxis para cada renglón:
access-list (número) (deny | permit) (protocolo) (IP origen) (wildcard origen) (IP destino) (wildcard destino)
    [(operador) (operando)]
El "protocolo" puede ser (entre otros) IP (todo tráfico de tipo TCP/IP), TCP, UDP, ICMP.
El "operando" puede ser un número de puerto (por ejemplo 21), o una sigla conocida, por ejemplo, "ftp".
Ejemplo 1: Repetir el ejemplo de la ACL estándar, pero se especifica que se quiere permitir o denegar el tráfico con destino al servidor, que está en 172.16.0.1:
access-list 101 permit ip host 172.17.3.10 host 172.16.0.1
access-list 101 deny ip 172.17.3.0 0.0.0.255 host 172.16.0.1
access-list 101 permit ip any any
Ejemplo 2: Permitir tráfico HTTP y "ping" (ICMP) al servidor 172.16.0.1, para todos. Denegar todo lo demás.
access-list 102 permit icmp any host 172.16.0.1
access-list 102 permit tcp any host 172.16.0.1 eq www

Comandos varios

show ip interface (muestra asignaciones de ACL)
show access-lists (muestra el contenido de las ACL)
debug ip packet 101 [detail] (permite analizar cómo se aplican las ACL)
1

No hay comentarios:

Publicar un comentario