Figura # 1: Lógica del uso de las ACL en un router (Wendell Odom, 2002)
Una de las primeras tareas que nuestros directivos nos exigen cuando comenzamos en nuestro nuevo empleo repleto de enlaces WAN a través de toda la provincia como puede ser un ejemplo en Cuba, la Sucursal CIMEX en Ciego de Ávila; es que los sistemas económicos funcionen rápido, para que los resultados de los balances económicos puedan estar en tiempo y forma los exige la presidencia de la corporación. Así cuado se gestiona la red con un sistema de monitoreo de tráfico, como puede ser NETFLOW 7.0[10] para routers cisco, en muchas ocasiones notamos tráficos indeseados que hacen que precisamente estos sistemas contables como SENTAI14 funcionen muy lentamente al estar congestionado el enlace WAN de comunicaciones. Este hecho es una responsabilidad del administrador de red evitarlo y a pesar de que existen técnicas QoS15 que pueden evitar esto, en Cuba debido al alto precio de los enlaces arrendados y por ende de su bajo ancho de banda, muchas veces 64 Kbps, comparado con el tráfico necesario para los servicios que se brindan hoy en día como: FTP16, WWW17, Messenger18, LotusNotes19, etc; este tipo de técnicas no es muy útil en estos casos y es necesario que el administrador de la red se conecte al router más cercano desde donde se está originando el tráfico no deseado, que puede ser desde un usuario de una unidad que está descargando el último video de Ricardo Arjona desde la PC de un amigo de otra entidad conectada, hasta uno de los usuarios comerciales que luego de haber estado de vacaciones quiere actualizar su sistema de estadísticas de ventas, directamente desde el servidor central, etc. Todos estos tráficos indeseables que congestionan nuestros enlaces son fácilmente detectables mediante un sistema adecuando de monitoreo y en ese caso la respuesta del administrador es casi siempre la misma. Crear una ACL que bloquee ese tráfico en el router más cercano (Wendell Odom, 2002). Es importante esta última parte porque de crearse la ACL en otro router distante, entonces el tráfico a través del enlace WAN seguirá congestionando el mismo y será filtrado solo cuando llega al otro extremo de este ejemplo (fig #2).
Figura #2: Tráfico indeseado filtrado en el extremo más lejano.
Existen varios tipos de ACL, pero las más usadas en estos casos son las Listas de Acceso estándar (Standard) y las extendidas (extended) (Wendell Odom, 2002). El primer tipo permite solo filtrar el tráfico entrante, basándose para esto solamente en la información de la cabecera IP. Es decir en la dirección IP fuente. El segundo tipo permite este último requisito tan importante y además permite especificar otras características como pueden ser el puerto fuente y destino, el protocolo, ejemplo TCP, ICMP, UDP; etc. Así cuando queremos crear una ACL lo primero que tenemos que hacer es conectarnos al router: ejemplo, usando simplemente el comando: telnet <ip-router> y luego de especificar las credenciales de entrada, si no estamos en el modo privilegiado tendremos que ejecutar el comando enable seguidamente el router nos pedirá la contraseña para entrar al modo privilegiado, si está bien configurado claro, sino, no pedirá clave alguna y luego de esto estaremos en ese modo, lo cual será indicado por el pron del router: Router_R#. Allí ejecutaremos el siguiente comando para que nos muestre las ACL que hay creadas ya en el router con el objetivo de no modificar estas ni cambiarlas en caso de escoger el mismo identificador para la nueva que vamos a crear, por error como muestra el ejemplo:
Ejemplo #1: Mostrando las ACL que existen en un router
Router_R#sh access-list
Standard IP access list 5
deny 192.168.10.23 0.0.0.0
permit any
Standard IP access list 6
deny 192.168.10.0 0.0.0.255
6 permit any
Extended IP access list 101
deny tcp 192.168.10.0 0.0.0.255 192.168.11.254 0.0.0.0 eq 445
permit ip any any
Como se muestra en el ejemplo, el router tiene ya creadas algunas ACL, que están identificadas por su número correspondiente, las ACL estándar tienen un rango numérico que las identifica y va desde el 1 hasta el 99 (Wendell Odom, 2002) y las ACL extendidas tiene otro rango de números que la identifica que va desde el 100 hasta el 199 (Wendell Odom, 2002). Así es como nos damos cuenta que la ACL 6 es estándar y la ACL 101 es extendida. Además como podemos ver una presenta menos características de filtrado que la otra como expresamos anteriormente. En este caso la ACL 6 está impidiendo el tráfico proveniente de la subred: 192.168.10.0 y la ACL 101 está filtrando el tráfico de la misma subred hacia el IP 912.168.11.254, hacia el puerto destino 445 (SMB27). Es decir está evitando que se conecten ha alguna carpeta compartida en ese IP, desde la subred indicada; de existir otros servicios en esa IP, no estrían limitados. Por este motivo si quisiéramos crear una ACL para bloquear todo el trafico generado por la IP 192.168.10.45 tendríamos que entra primero a modo de configuración del router ejecutando el comando:
Ruter_R#configure termial
Al entrar en este modo podríamos ejecutar los siguientes comandos:
Router_R(Config)#access-list 7 deny 192.168.10.45 0.0.0.0
Router_R(Config)#access-list 7 permit 0.0.0.0 255.255.255.255
Router_R(Config)#interface Ethernet 0
Router_R(Config-If)#Ip access-group 7 in
Router_R(Config-if)#exit
Al final para volver al modo privilegiado ejecutamos el comando: exit.
El ejemplo anterior muestra como, para crear una ACL se usa el comando access-list (Wendell Odom, 2002) seguidamente se escribe un número que la identifica y clasifica en estándar o extendida en dependencia de su rango como ya explicamos anteriormente. Luego podemos escribir la palabra deny que corresponderá a la acción de denegar el tráfico que coincida con las características que se especifiquen o la palabra permit que hará la operación inversa. Es decir permitir el tráfico. Luego si estamos creando una ACL estándar especificaremos primeramente el IP de la computadora o la subred que queremos bloquear y seguidamente especificaremos lo que cisco llama el Wildcard Mask20 (Wendell Odom, 2002), que es como una máscara binaria invertida, una forma de decir si estamos especificando un solo ip o una subred completa. En el caso de que sea un solo IP el que queremos bloquear o permitir el Wildcard (Wellden Odom, 2000) siempre será el mismo 0.0.0.0, en el caso de una subred es diferente, porque debemos especificar un Wildcard en dependencia de la máscara que define esa subred. Por ejemplo en subredes de máscara 255.255.255.0 el Wildcard es 0.0.0.255. Así podemos decir que el Wildcard es el inverso binario, de la máscara. Un XOR 255.255.255.255 de la mascara de la red. Lo que convertirá los bit 0 a 1 y los 1 a cero. Ejemplo si la subred es 192.168.10.0/27 lo que es lo mismo decir con máscara 255.255.255.224 (11111111. 11111111. 11111111.11100000). Entonces el Wildcard de esa máscara sería: 0.0.0.31 (000000000.000000000. 00000000.00011111). En caso de querer permitir el tráfico de toda la red como se especifica en el ejemplo anterior usaríamos entonces el Wildcard completo: 255.255.255.255, con el número IP 0.0.0.0 que identifica todas las redes posibles.
Nota: Es importante destacar que cada ACL tiene una línea invisible al final de ella que niega todo el tráfico. Sería algo así como deny 0.0.0.0 255.255.255.255 (Wendell Odom, 2002) por lo que luego de crear todas las reglas que queremos agregar a la ACL es necesario siempre cerciorarnos que las funcionalidades del router no quedarán bloqueadas también. Para esto se crea la regla permisiva: permit 0.0.0.0 255.255.255.255 que anula la acción de la última regla invisible. De aquí salta otra cuestión muy importante sobre las ACL y es que cada regla que se crea es revisada en el ese orden consecutivo, de arriba hacia abajo lo que implica que si denegamos algo en una regla por debajo de otra que lo permite el tráfico pasará a través de la interfase, porque el analizador lógico no llegará a comparar la regla debajo. Este tipo de errores es muy frecuente en los administradores inexpertos y debe ser atendido con mucho cuidado.
Al crear una ACL extendida el procedimiento es el mismo solo que aumentan las características de las reglas que se pueden crear, como podemos ver en el ejemplo #1 luego de la palabra deny se especifica entonces el protocolo, luego se especifica la dirección fuente, el wildcard de la dirección fuente y seguidamente se puede especificar opcionalmente el puerto fuente, estableciendo algunos operadores como eq á equal(igual) gtá(greather than), etc; seguido del número del puerto que se quiere filtrar. Luego se especifica la ip destino, el wildcard destino y opcionalmente el puerto destino como en el ejemplo 1 donde se filtra el puerto 445 (eq 445).
Así con este conocimiento y con la información del tráfico en la mano podemos conectarnos a cualquier router de nuestra red y bloquear el tráfico que nos esté congestionando el canal de comunicaciones permitiendo así que los sistemas contables funciones adecuadamente y todo el mundo se sienta feliz con nuestro trabajo, aunque esos indisciplinados del tráfico se queden algunos días sin comunicación o sea requeridos por sus superiores luego de pasar el correspondiente correo a cada implicado con la información obtenida del sistema de gestión.
CREANDO ACL PARA EVITAR ATAQUES EXTERNOS
El apartado anterior dejó claro que las ACL nos permiten bloquear el tráfico basándonos en características de los protocolos de comunicación usados para crear el mismo. Así para evitar al máximo los ataques, el tráfico que no sea explícitamente permitido debe ser denegado (Gerrard Mourani, 2002). Usando la información de la configuración de nuestra red y conocimientos sobre estos protocolos podemos crear ACL que contribuyan a mejorar la seguridad de esta y así evitar ataques contra nuestros servidores y firewall21. Una de las primeras cosas que debemos saber con exactitud es cuantos servicios necesitan intercambiar información con el exterior y cuales son las características de estos. Así por ejemplo podemos mencionar algunos que son indispensables para cualquier red del mundo. El primero de ellos es el servicio DNS que acepta encuestas por el puerto el 53 y usa para la transmisión de datos el protocolo UDP. Este servicio permite que nuestros servidores encuesten los servidores de nuestros ISP22 en busca de direcciones desconocidas en su base de datos. Por otra parte los servidores DNS de nuestros ISP tendrán que encuestar nuestros servidores DNS para poder extraer informaciones importantes como el record MX encargado de localizar el servidor de correo entrante de la empresa. También tendremos que garantizar que los servidores de correo del mundo sean capaces de conectarse al servidor de correo entrante nuestro y para esto usarán el puerto destino 25 asignado al protocolo SMTP23 perteneciente a la familia TCP. Otro de los tráficos importantes que nuestro router tendrá que dejar pasar será sin duda alguna el perteneciente al servidor WWW, donde estará publicado el sitio Web de la empresa. Para esto las conexiones entrantes usarán el protocolo http perteneciente a la familia TCP y que usa el puerto 80 como puerto destino. Si existiera un servidor Proxy–Firewall detrás de nuestro router como única computadora con IP público además del router entonces nuestras reglas estarían orientadas a permitir todos estos tráficos hacia y desde esa computadora como muestra el ejemplo #2.
Ejemplo #2: Configurando ACL de entrada y salida
Router_R>enable
password:******
Router_R#sh access-list
Router_R#configure terminal
Router_R(config)#access-list 101 permit udp 200.145.1.0 0.0.0.255 200.145.20.1 0.0.0.0 eq 53
Router_R(config)#access-list 101 permit tcp 0.0.0.0 255.255.255.255 200.145.20.1 eq 25
Router_R(config)#access-list 101 permit tcp 0.0.0.0 255.255.255.255 200.145.20.1 eq 80
Router_R(config)#access-list 101 permit tcp 0.0.0.0 255.255.255.255 eq 80 200.145.20.1 0.0.0.0 gt 1024
Router_R(config)#access-list 101 permit udp 200.145.1.0 0.0.0.255 eq 53 200.145.20.1 0.0.0.0 gt 1024
Router_R(config)#access-list 101 permit ospf 200.145.1.0 0.0.0.255 200.145.20.254
Router_R(config)# interface serial 0
Router_R(conf-if)#ip access-group 101 in
Router_R(conf-if)#exit
Router_R(config)#access-list 102 permit udp 200.145.20.1 0.0.0.0 200.145.1.0 0.0.0.255 eq 53
Router_R(config)#access-list 102 permit tcp 200.145.20.1 0.0.0.0 0.0.0.0 255.255.255.255 eq 25
Router_R(config)#access-list 102 permit tcp 200.145.20.1 0.0.0.0 0.0.0.0 255.255.255.255 eq 80
Router_R(config)#access-list 102 permit ospf 200.145.20.254 0.0.0.0 200.145.1.0 0.0.0.255
Router_R(config)#interface serial 0
Router_R(conf-if)#ip access-group 102 out
Router_R(conf-if)#exit
Según apreciamos en el ejemplo se permite además el tráfico del protocolo OSPF28 (Clare Gough, 2003) que es uno de los protocolos que permite actualizar la información de ruteo de forma dinámica. Este protocolo es propiedad de CISCO, en algunos routers puede no aparecer y ser entonces RIP30 (Clare Gough, 2003) o el ruteo estático el responsable de este trabajo. Por otra parte como podemos notar del ejemplo anterior se deduce que ningún otro tráfico podrá entrar a nuestra red a no ser ese que hemos especificado en nuestras reglas de entrada. Así mismo no podrá salir otro que no se encuentre entre los especificados en la ACL de salida. Esto nos brinda mucha seguridad ya que ningún atacante a no ser que reconfigure el router primero, podrá experimentar otro tipo de tráfico hacia nuestra red. Otra de las reglas que salta a la vista es la que permite un tráfico hacia el servidor Proxy-firewall por un puerto superior al 1024. Es evidente que este tráfico casi siempre será la respuesta de un servidor HTTP24 o un servidor DNS25 y por esta razón es que el puerto que abrirá el prioxy-firewall para recibirla será mayor a los llamados "puertos bien conocidos" (RFC-1700).
ROUTER O FIREWALL
Una vez que revisamos estas capacidades nos damos cuenta que las ACL son muy parecidas a reglas de un firewall como por ejemplo el IP-Tables de Linux. Por eso nos preguntamos ¿Será posible usar el router como un firewall? La respuesta es, sí. Aunque para que un router tenga incluido las funcionalidades de un firewall es necesario actualizar su IOS26 (su sistema operativo) para esto se descarga un IOS que tenga las funcionalidades de firewall del sitio de CISCO y luego de realizar el proceso de actualización del mismo tendremos entonces las característica deseadas. Para saber si un router tiene un IOS de firewall se entra al modo de configuración y se teclea el comando: Router_R(config)#ip inspect ? (David Davis, 2008) (Todd Lammle Carl Timm, 2003).Con lo que el router debe responder con las características específicas para esa v versión del router. Si por el contrario despliega un mensaje de error diciendo que el comando tecleado no es válido entonces no tenemos un IOS de firewall todavía ejecutando. Por otra parte adicionalmente a la seguridad que contienen los IOS de firewall, estos hacen mucho más fácil la configuración de las reglas de seguridad permitiendo la entrada de tráfico que ha sido generado en respuesta a otro que ha salido de nuestra red. Así las reglas anteriores que permitan entrar tráfico a nuestra red hacia un puerto superior a 1024, ya no serán necesarias. El IOS de firewall permitirá ese tráfico basado en la información que posee a partir del tráfico generado desde dentro de la red. Además la inspección del tráfico puede detectar ataques conocidos sobre algunos protocolos como TCP, FTP, etc como se muestra en el ejemplo #3:
Ejemplo #3: Configurando un router con IOS de firewall
Router_R#configure terminal
Router_R(config)#access-list 103 permit udp 200.145.1.0 0.0.0.255 200.145.20.1 0.0.0.0 eq 53
Router_R(config)#access-list 103 permit tcp 0.0.0.0 255.255.255.255 200.145.20.1 eq 25
Router_R(config)#access-list 103 permit tcp 0.0.0.0 255.255.255.255 200.145.20.1 eq 80
Router_R(config)#access-list 103 permit ospf 200.145.1.0 0.0.0.255 200.145.20.254
Router_R(config)#access-list 103 deny ip any any
Router_R(config)#interface FastEthernet 0
Router_R(config-if)#ip access-group 103 in
Router_R(config-if)#exit
Router_R(config)#ip inspect name myfirewall smtp
Router_R(config)#ip inspect name myfirewall http
Router_R(config)#ip inspect name myfirewall udp
Router_R(config)#ip inspect name myfirewall tcp
Router_R(config)#interface FastEthernet 0
Router_R(config-if)#ip inspect myfirewall out
Router_R(config-if)#exit
Router_R(config)#access-list 104 permit udp 200.145.20.1 0.0.0.0 200.145.1.0 0.0.0.255 eq 53
Router_R(config)#access-list 104 permit tcp 200.145.20.1 0.0.0.0 0.0.0.0 255.255.255.255 eq 25
Router_R(config)#access-list 104 permit tcp 200.145.20.1 0.0.0.0 0.0.0.0 255.255.255.255 eq 80
Router_R(config)#access-list 104 permit ospf 200.145.20.254 0.0.0.0 200.145.1.0 0.0.0.255
Router_R(config)#interface serial 0
Router_R(conf-if)#ip access-group 104 out
Es importante agregar que CISCO fabrica Firewall profesionales que pueden ser usados en vez de los routers, entre estos podemos mencionar la familia PIX Firewall[6] que han sido sustituidos por los modernos ASA Firewall[6]. Estos últimos han sido equipados con novedosas técnicas de detección de intrusos que pueden hacer frente a ataques DoS y otros implementando acciones correctivas que pueden dejar al atacante sin armas o deseo de seguir hostigando a nuestra red.
CONCLUSIONES Y RECOMENDACIONES
- La configuración adecuada de los routers puede incrementar en gran medida la seguridad de la red de una empresa al ser éstos casi siempre el primer dispositivo con salida y entrada del exterior.
- El uso de IOS de firewall incrementa aún más estas medidas y facilita la configuración de estos dispositivos evitando en muchas ocasiones errores humanos y la necesidad de poseer un exacto conocimiento de los protocolos de red.
- La configuración de ACL necesita de un conocimiento previo de la topología y servicios de la red donde se aplicarán así como de las características de éstos, como puerto, protocolos que se usan, etc.
BIBLIOGRAFÍA
1- Wendell Odom CCIE #1624, 2002, CCNA Exam 640-607 Certification Guide, Cisco Press 201 West 103rd Street Indianapolis IN 46290 USA, ISBN: 1-58720-055-4
2- Clare Gough CCIE # 2893, 2003, CCNP BSCI Exam Certification Guide, Cisco Press 800 East 96th Street Indianapolis IN 46290 USA, ISBN: 1-58720-085-6
3- Todd Lammle Carl Timm CCIE #7149, 2003, CCSP Securing Cisco IOS Networks Study Guide, SYBEX Inc, 1151 Marina Village Parkway, Alameda, CA 94501, San Francisco, London, ISBN: 0-7821-4231-1
4- Gerard Mourani, 2002, Securing and Optimizing Linux
5- David Davis, 2008, Protect your nework with the cisco IOS Firewall, Newwork Admin Techniques, http://www.techguides.net
6- http://www.cisco.com
7- http://www.monografias.com/trabajos13/modosi/modosi.shtml
8- http://www.monografias.com/trabajos42/configurar-routers/configurar-routers2.shtml?monosearch
9- /trabajos42/configurar-routers/configurar-routers.shtml?monosearch
10- http://manageengine.adventnet.com/products/netflow/help/installation/install-netflow-analyzer.html
GLOSARIO DE TÉRMINOS
- Router: Dispositivo de red capaz conectar redes de distintos rangos IP mediante protocolos y técnicas de ruteo.
- LAN: (Local Area Network) Red de Area Local que normalmente abarca el espacio de una oficina o un edificio.
- WAN: (Wide Area Network) Red de area amplia que nomrmalmente se encuentra esparcida a través de varias ciudades o edificios.
- Ethernet: Protocolo de comunicación usado en redes con topología en estrella o bus.
- WIC-1T: Interface de comunicación serial para routers cisco. Se usa para conectarse a la red del ISP, casi siempre.
- Subinterfaces: Son interfaces lógicas que se crean en el router y de cierta forma comparten el canal físico de la interfase física a la que pertenecen. Se usa mucho en la configuración de enlaces frame-relay, punto a punto.
- Fame-relay: Protocolo de comunicaciones capa 2 capaz de transmitir otros protocolos superiores en sus tramas. Se usa en conexiones arrendadas.
- Trunk: Enlaces mediante los cuales se pueden conectar switch y router de forma tal que el ancho de banda entre estos puede aunemtar al usar varios puertos como si fueran uno solo. Admás permite enviar todo el tráfico de las VLANs creadas por un solo puerto al router permitiendo que este decida como rutear los paquetes.
- Switch: Dispositivo de red capaz de conmutar paquetes que provienen de puertos diferentes. Es decir permite la conexión de computadoras en una misma LAN.
- VLAN: (Virtual Local Area Network) Como su nombre lo indica especifica un LAN virtual como si fuera real. Normalmente se hace configurando Switch que tienen este tipo de capacidades.
- ACL: (Access Control List) Listas de control de Acceso. Se usan para filtrar tráfico indeseado asugurando así redes de computadoras.
- Ruteo: Vulgarmente se le llama al proceso de encaminar los paquetes. Al proceso que se lleva a cabo en el router para decidir por cual puerta física debe salir el paquete en cuestión.
- IP: (Internet Protocol) Protocolo Internet, capaz de el direccionamiento de las computadoras conectadas a Internet mediante las llamadas direcciones IP que no son más que cuatro números separados por puntos eje: 192.168.10.1
- SENTAI: Sistema de gestión contable.
- QoS:(Quality of Service) Calidad de Servicio. Protocolo capaz de dar prioridad a a otros protocolos según configuración en router.
- FTP: (File Transfer Protocol) Protocolo de transferencia de Archivos. Muy usado para transferir archivos a través de sitios en Internet e Intranets.
- WWW: (World Wide Web) La red amplia mundial o como también se le llama a las páginas y sitios publicados en Internet.
- Messenger: Protocolo de comunicación que permite enviar y recibir mensajes cortos en un tiempo casi real.
- LotusNotes: Sistema producido por IBM y que permite la implantación de otros sistemas contables o de otra índole, sobre su infraestructura.
- Wildcard Mask: Mascara usada para especificar redes o computadoras en una ACL.
- Firewall: Dispositivo de red o sistema capaz de bloquear y filtrar el tráfico en una red.
- ISP:(Internet Service Provider) Proveedor de Servicio de Internet. En Cuba ETECSA es el principal en la mayorías de los servicios telefónicos y de Internet.
- SMTP: (Simple Mail Transfer Protocol) Protocolo de transferencia de mensajes. Usado por los servidores de correo el electrónico para el intercambio de mensajería.
- HTTP: (Hypertext Tranfer Protocol) Protocolo de Transferencia de Hipertexto. Es el encargado de presentar las páginas WEB al usuario.
- DNS: (Domain Name Service) Servicio de Nombres de Dominio. Es el encargado de traducir los nombre de dominio en direcciones IP y viceversa.
- IOS: Sistema operativo de los router.
- SMB: (Server Message Block) Servcio creado por Microsoft para compartir carpetas, archivos e impresoras.
- OSPF: Protocolo usado por los router para actualizar sus tablas de ruteo y obtención de la ruta adecuada para cada paquete. Este protocolo es propiedad de CISCO.
- CISCO: Compañía productora de equipamiento de red que incluye router. (Líder en el mercado)
Autor:
Ing. Erith E. Pérez Gallardo
Página anterior | Volver al principio del trabajo | Página siguiente |