Professional Documents
Culture Documents
2.-Prerrequisitos :
Esta experiencia requiere del alumno un conocimiento bsico de redes de computadores, obtenido en el ramo de Redes de Computadores (ELO-321). Adems presume un conocimiento de sistemas Operativos Linux-Unix aportado por el ramo de Sistemas Operativos. Es imprescindible que le alumno hubiese ya cursado la experiencia de Firewall sobre Iptables.
4.-Introduccin.
En el presente documento se explicar las configuraciones bsicas para poner en marcha un firewall de la lnea PIX de Cisco, aplicando los conocimientos tericos de firewall adquiridos en la experiencia Firewall sobre iptables, el estudiante se ver enfrentado a una nueva estructura de implementacin, ms las filosofas de diseo no se vern afectadas por este cambio.
5.-Resea de Firewall's.
Recordando un firewall o cortafuegos es un sistema o grupo de sistemas que hace cumplir una poltica de control de acceso entre dos redes. De una forma ms clara, podemos definir un cortafuegos como cualquier sistema (desde un simple router hasta varias redes en serie) utilizado para separar en cuanto a seguridad se refiere una mquina o subred del resto, protegindola as de servicios y protocolos que desde el exterior puedan suponer una amenaza a la seguridad. El espacio protegido, denominado permetro de seguridad, suele ser propiedad de una organizacin, y la proteccin se realiza contra una red externa, no confiable, llamada zona de riesgo generalmente Internet, en esta experiencia y por las caractersticas que mencionaremos a continuacin del PIX 506E se trabajar en las explicaciones como en los ejemplos en una configuracin del tipo host bastin entre la red confiable y la no confiable.
Figura 1 Pix tracero En la figura 1 vemos la parte posterior del PIX 506E, podemos observar las dos interfaces ethernet antes nombradas la interfase etiquetada como ethernet1 es usada por defecto para conectar la red confiable o red interior y la interfase ethernet0 para la conexin de la red no confiable o red exterior , ambas poseen dos led indicadores: ACT: muestra la actividad en la red. Link: muestra es estado de conexin del puerto. Se observa adems el puerto de consola que es utilizado para conectar el PIX a un computador de forma serial para la configuracin de consola del firewall. El puerto USB que se observa en la figura a la izquierda del puerto de consola no es usado, para ninguna actividad.
En el panel frontal del firewall Pix encontraremos tres led indicadores como lo muestra la figura 2:
Figura 2 Panel frontal. POWER: Indicador de Poder. Se enciende cuando la mquina se encuentra energizada. ACT: Indicador de actividad. Se enciende cuando la imagen del CiscoIOS ha sido cargado NETWORK: Indicador de trafico de red. Se enciende cuando al menos alguna de las interfase de red esta pasando trafico.
8.-Formas de Interconexin.
El equipo posee dos formas de interconexin para su configuracin consola(serial) y telnet(red) siendo la ms recomendada para estos efectos la consola por ser ms segura al interactuar directamente con el equipo sin el posible cruce por intermediarios de ningn tipo. Para utilizar una conexin del tipo consola se debe poseer un cable especial proporcionado por cisco, que adecua la entrada del puerto de consola del Firewall a un puerto serial del tipo db-9 o db-25, adems de necesitar un programa de comunicacin serial como minicom o hyperterminal en el PC de trabajo. La configuracin necesaria del software de comunicacin serial es una velocidad de conexin de 9600 baudios y 8N1, o sea 8 bits de data , Sin paridad y 1 bit de parada. Adems de tener que emular un terminal vt100 de preferencia. Es bueno recordar que las correspondencias de dispositivos serial entre windows y unix son: Windows COM1 COM2 Unix /dev/ttyS0 /dev/ttyS1
Para su interconexin por red deberemos de tener las tarjeta de red interna (tarjeta que comunica a la red protegida) configurada y debemos seleccionar un host el cual ser autorizado para la configuracin va red. Nunca ase podr configurar va red desde una red no segura.
PCI Device Table. Bus Dev Func VendID DevID Class 00 00 00 8086 7192 Host Bridge 00 07 00 8086 7110 ISA Bridge 00 07 01 8086 7111 IDE Controller 00 07 02 8086 7112 Serial Bus 00 07 03 8086 7113 PCI Bridge 00 0D 00 8086 1209 Ethernet 00 0E 00 8086 1209 Ethernet
9 11 10
Tabla de dispositivos que posee el sistema se destacan las interfaces ethernet y la puerta de consola o serial.
Cisco Secure PIX Firewall BIOS (4.2) #0: Mon Dec 31 08:34:35 PST 2001 Platform PIX-506E System Flash=E28F640J3 @ 0xfff00000 Use BREAK or ESC to interrupt flash boot. Use SPACE to begin flash boot immediately.
En este punto es posible interrumpir el booteo para entrar a un modo de monitoreo que permite modificar parmetros del equipo modos de inicializacin y carga del sistema operativo.
Reading 2490880 bytes of image from flash. 32MB RAM System Flash=E28F640J3 @ 0xfff00000 BIOS Flash=am29f400b @ 0xd8000 mcwa i82559 Ethernet at irq 11 MAC: 000b.46d0.3300 mcwa i82559 Ethernet at irq 10 MAC: 000b.46d0.32ff ----------------------------------------------------------------------|| || || || |||| |||| ..:||||||:..:||||||:.. c i s c o S y s t e m s Private Internet eXchange ----------------------------------------------------------------------Cisco PIX Firewall Cisco PIX Firewall Version 6.1(4) Licensed Features: Failover: Disabled VPN-DES: Enabled VPN-3DES: Disabled Maximum Interfaces: 2 Cut-through Proxy: Enabled Guards: Enabled Websense: Enabled Inside Hosts: Unlimited Throughput: Limited ISAKMP peers: Unlimited
Tras esto el firewall se encuentra con la configuracin bsica mnima que le permite operar.
10.1 Anlisis de Estado.-(Definir IP a usar). El primer paso para la configuracin de un Firewall o reconfiguracin es definir los datos con los cuales este operara (Nombres del equipos, nombre de interfaces, etc...), pero lo ms importante es definir las IP que sern ocupadas por el equipo ya sea asociadas a sus NIC o para uso de asignacin dinmica (enmascaramiento) debiendo ser al menos 2 en el caso del PIX 506E o ms en caso de ser otro equipo o ocuparse poolling de IPs (definido en el punto 10.4 ). Una de estas IP debe de ser valida si se esta pensando una implementacin clsica en que el Firewall se encuentra conectado a Internet protegiendo una o mas redes privadas que pueden poseer o no IPs validas(ver figura 3). Outside 209.78.45.1 security 0 Dmz1 192.168.1.1
Firewall PIX
Inside 192.168.0.1 security 100 Figura 3.
Dmz2 199.16.17.1
En el caso especifico del PIX 506E una de estas IP ser utilizada por una de las interfase del Firewall para su conexin a la red interna o protegida y las dems para su uso por parte de la interfaz de salida y proceso de enmascaramiento. En las mayoras de los casos es tambin necesario conocer la IP del router de salida por defecto para el proceso de encaminamiento de los datos. Tras tener recopilados estos datos se deber a la identificacin de las interfaces. 10.2 Identificar cada Interfaz (nameif). En esta etapa se procede a la identificacin de las interfaces por medio de la asociacin de nombres, este proceso comnmente se realiza solo en Firewall nuevos, pudiendo tambin realizarse renombramientos en Firewall usados mediante el mismo comando y procedimiento. Para poder ver los nombres asociados a las interfaces se utiliza el comando show nameif y para asociar un nombre a una interfase se utiliza el comando nameif los cuales deben ser ejecutados en el modo privilegiado. Para administrar las interfaces de su equipo, tambin se vern el comando interface e ip address, los que servirn para configurar velocidades de conexin, habilitar o deshabilitar las interfaces y configurar las ip de las interfaces respectivamente. El comando nameif posee el siguiente prototipo: nameif hardware_id interface security_level Donde: Hardware_id: el nombre asociado a las tarjetas de red, Ej. Si se posee 2 tarjetas ethernet se usara ethernet0 o ethernet1.
Laboratorio de Redes y Sistemas Operativos Interface: nombre que se le puede asociar a la interfase limitado a 48 caracteres mximo, comnmente el mquinas de dos interfaces se utilizan los nombres inside y outside para identificar las tarjetas conectadas a la red interna y externa respectivamente. Security_level: nivel de seguridad asociado a la interface, este numero va entre 0 y 100 y se puede asociar al nivel de confianza de la red conectada a ella, este nivel de seguridad tambin definir la forma en que permitiremos el paso de trafico de una interfase a otra con distinto nivel de seguridad basado si este es mayor o menor que el nivel de la primera. EJ. nameif
nameif ethernet0 outside security0 ethernet1 inside security100
10.3 Asignacin de IP (interface, ip address) Antes de estudiar la asignacin de ip a una interfase se pasar por el comando interface es te comando posee el siguiente prototipo:
Interface hardware_id hardware_speed [shutdown]
Hardware_id : idem a nameif. Hardware_speed: es la velocidad en mbps a la que operar la tarjeta, el PIX posee tarjetas intel 10/100 y generalmente este parmetro es seteado en auto. Shutdown: el parmetro optativo shutdown permite deshabilitar una tarjeta temporalmente. Como lo muestra el prototipo este comando sirve para establecer la velocidad de operacin de las interfaces de red y tambin para deshabilitarlas temporalmente en caso de necesitarse. El comando ip address permite setear la IP y mascara a una interfaz de red determinada, para los Pix que poseen solo dos inveraces de red el prototipo de esta funcin es como sigue:
ip address inside ip_address netmask ip address outside ip_address netmask
donde: ip_address es la direccin ip a signar a la interfaz. netmask es la correspondiente mascara asociada a la interfaz. Para poder visualizar las asignaciones de Ip hechas se utiliza el comando show ip , siempre es necesario especificar una mascara de red a las interfaces. EJ.
ip address inside 192.168.1.1 255.255.255.0
10.4 Permitiendo conexiones de Salida.(nat, global, access-list) Como se comento ya , a cada interfaz se le asignan distintos niveles de seguridad, en el caso propio del PIX 506E se tendr una interfaz de nivel de seguridad 100 que es la interfaz interna y una de nivel de seguridad 0 que es la externa. Cuando se quiera permitir conexiones entre una interfaz de mayor nivel de seguridad de otra de salida de los datos se utilizarn los comando nat y global. Para autorizar trafico en la direccin opuesta se utiliza el comando access-list.
Laboratorio de Redes y Sistemas Operativos Para visualizar ingresos hechos con el comando nat o global se utilizan los comandos show nat o show global respectivamente, para borrar ingresos hechos por los mismos comandos se utiliza la forma no de Cisco IOS, o sea, se antepone no y un espacio al comando que genero la entrada. El prototipo estndar de el comando nat es: nat (if_name) nat_id local_ip [netmask]
donde: if_name es el nombre de la interfaz de red nat_id se utiliza para agrupar comandos nat y global local_ip ip interna desde la cual se aceptaran las conexiones, si se especifica un 0 en este campo se permitir que todos los host en la red interna establezcan conexiones salientes. netmask es la mascara de red para la ip local antes ingresada, si este campo se especifica 0 esta permitiendo a todas las conexiones salientes sean enmascaradas por las ip designadas en un global pool (conjunto de ips definidas mediante el comando global). Ej. nat (inside) 1 0 0 permite todas las conexiones salientes desde la interfaz interior. El prototipo estndar del comando global es: global (if_name) nat_id donde: if_name es el nombre de la interfaz de red nat_id se utiliza para agrupar comandos nat y global global_ip una ip o un conjunto de ip que se utilizarn para enmascara las conexiones salientes. netmask palabra reservada para la especificacin de la mascara de red. global_mask es la mascara de red para la global_ip especificada anteriormente. Ej. conjunto del uso nat y global.
nat (inside) 1 0 0 global (outside) 1 209.45.78.1-209.45.78.10 netmask 255.255.255.224
donde:
acl-name nombre para la acl , se puede ocupar un nombre o un nmero.
permit especifica la opcin de permitir el paquete que cumpla con las caractersticas especificadas
ip de la direccin de fuente del paquete. Se puede usar en conjunto con los modificadores any o host que implican src_mask de valores 0.0.0.0 y 255.255.255.255 respectivamente.
src_mask mascara de red asociada a src_addr. Operator operador de comparacin que permite indicar un puerto o rango de puertos, puede
dest_addr direccin ip del destino del paquete. dest_mask mascara asociada a dest_addr. Port puerto asociado a la conexin.
Ej. access-list acl-grp permit tcp any 209.165.201.0 255.255.255.224 10.5 Creacin de Ruta por defecto.(route)
access-list acl-dmz1 deny tcp any host 192.168.1.4 range ftp telnet
Se usa el comando route para setear la ruta por defecto a el router de salida , se puede utilizar el comando show route para ver las entradas hechas por medio del comando route. Ej de ruta por defecto: route outside 0 0 209.165.201.2 1
donde
if_name
ip_address direccin ip de la red destino, 0.0.0.0 especifica ruta por defecto. Netmask mascara de red asociada a ip_address, 0.0.0.0 especifica ruta por defecto. gateway_ip especifica la ip del route gateway de la red especificada. [metric] parmetros optativo que especifica Generalmente se mide en numero de saltos.
la
distancia
administrativa
del gateway.
10
10.6 Configuracin de Rutas. Como el firewall no es un router , se deben crear rutas estticas para permitir el paso de los paquetes o conexiones entre las distintas subredes, adems de estas rutas que le permitirn al Pix encaminar los datos debe de utilizarse el comando static para definir rutas o paso entre dos redes. El prototipo del comando static.
static [(internal_if_name, network_mask] extrenal_if_name)] global_ip local_ip [netmask
donde:
internal_if_name nombre de una interfaz interna extrenal_if_name nombre de una interfaz externa global_ip una direccin de ip global para el uso en enmascaramiento. local_ip la direccin ip perteneciente a la red interna. network_mask mascara de red perteneciente a ambas ips anteriores.
Ej. static (inside, outside) 10.42.1.0 10.3.1.0 10.7 Permitir acceso a mensajes de PING.(access-list, access-group, conduit) Es recomendable por razones de prueba de conectividad y uso el permitir el paso de paquetes del tipo icmp por el firewall lo cual se hace con el comando access-list antes explicado, un ejemplo de esto es
access-list acl_out permit icmp any any
para poder utilizar esta acl se deber aplicar a una interfaz por medio del comando access-group el cual mediante la sintaxis
access-group acl-name [in|out] interface if_name
permite la asignacin de la acl acl-name a la entrada in o salida out de la interfaz if_name. Ej. access-group acl_out in interface outside Se recuerda que para borrar acl o desasocialas solo basta ejecutar el comando no seguido del comando que produjo en ingreso a eliminar. Existe adems el comando conduit que permite asignar una cierta regla a todas las interfaces , por ejemplo en el caso del ping quedara
conduit permit icmp any any
Las entradas hechas por medio de este comando pueden ser vistas con show conduit.
11
10.8 Haciendo la configuracin permanente. Una vez que ya se posee una configuracin ms o menos completa o de trabajo, la idea es mantenerla sobre rebooteos de la maquina para esto se debe grabar los cambios hechos en la memoria no voltil de firewall lo que se hace con el comando write memory seguido del comando reload que rebootea el equipo esto no siempre es necesario hacerlo pero es recomendable en las primeras configuraciones. 10.9 Comprobacin de las configuraciones. Una vez guardada la configuracin y posiblemente rebooteado el equipo, es recomendable el revisar la configuracin por medio del comando show seguido de los parmetros revisar, lo mas comn a ejecutar es:
show show show show ip address global nat route
Verifique que las salidas de los comandos correspondan a los datos ingresados por usted. 10.10 Configuracin de acceso a consola de telnet. En los Pix no basta con configurar la red para poder tener acceso telnet al equipo este debe ser autorizado explcitamente mediante el comando telnet que posee el siguiente prototipo:
telnet ip_addr netmask if_name ip_addr netmask if_name
ip del host desde el cual se pretende la conexin telnet mascara de red asociada a ip_addr. nombre de la interfaz por la cual se realiza la conexin
Ej. telnet 192.168.1.2 255.255.255.255 inside 10.11 Configuracin de acceso a servidores internos. En esta seccin no se detallarn nuevos comandos ya que por medio de los ya explicado se podrn realizar estas labores, la idea de esta seccin es ponerse en casos de configuracin tpicos a ser enfrentados por el administrador del equipo (en este caso especifico los alumnos). La normativa primordial que se a ocupado hasta el momento es prevenir accesos no autorizados a ala red interna, por esto el acceso a servidores ubicados justamente en nuestra red interna ser especficamente tratado, para el permitir este acceso peligroso se utilizarn los comandos static, access-list, access-group. Con static se proveer una direccin IP a los usuarios de una interfaz de nivel de seguridad bajo puedan usar para el acceso a un server ubicado en una interfaz ms segura. access-list define los permisos para como los usuarios pueden acceder a la direccin global.
12
Laboratorio de Redes y Sistemas Operativos access-group asocia la access-list a una interfaz y flujo respectivo. Ej.
static (dmz3, outside) 209.165.201.3 192.168.3.3 netmask 255.255.255.255 access-list acl_out permit tcp any host 209.165.201.3 eq www access-group acl_out in interface outside
o sea, para acceder al servidor web ubicado en la interfaz dmz3 desde outside se acceder con la ip 209.165.201.3 y solo es permitido el trafico del tipo www. Sea ilustra o intenta ilustrar que las acl permiten restringir o permitir trafico en distintas direcciones he interfaces pudindose as realizar variados tipos de filtrados en pro de la maximizacin de la seguridad en las redes interconectadas, otros casos tpicos son restringir a usuarios (hosts) el comenzar conexiones, restringir a usuarios el acceso a servidores especficos, etc... 10.12 Habilitando Syslog. Viendo mensajes a travs de la consola serial. Para habilitar el logeo de mensajes se utiliza el comando logging de la siguiente forma :
logging buffered level
donde level es el nivel mnimo de mensajes a logear algunos de estos mensajes puede ser debugging, alerts, notification,errors, warrings, entre otros. 10.13 Viendo mensajes a travs de una consola de telnet. Para visualizar los mensajes enviados por syslog directamente en la consola utilize el comando logging con el argumento monito de la siguiente forma:
logging monitor
terminal monitor
10.14 Enviando mensajes a un servidor de Syslog. Para enviar los mensajes a un servidor syslog se deben de ejecutar los siguientes pasos: Definir el host servidor de syslog por medio del comando logging host. Ej. logging host inside 192.168.0.2 Definir el nivel de logeo con el comando logging trap Ej. logging trap debugging Comenzar el envi de mensajes por medio del comando logging on , se puede usar no logging on para detener el envi.
13
10.15 Configurando Syslog en Unix para la recepcin de mensajes. Bastar reiniciar el servidor syslog de la maquina para la recepcin de mensajes remotos. Se recuerda que para detener el servicio syslog en linux de puede acceder a la carpeta /etc/INIT.d y ah ejecutar el comando ./syslog stop, lo que detendr el servicio tras esto ejecutar syslogd r que arranca el servicio con escucha de mensajes remotos. Es recomendable el modificar la configuracin de syslog en /etc/syslog.conf para separar los registros del Pix de los de la maquina pero este tema no ser tratado aqu por ahora. 10.16 Bloqueando controles Active X y JAVA y URL`s Para bloquear controles activex o java que generalmente vienen en las paginas web entre los tag <object> </object> se utiliza el comando filter con la opcin activex o java Prototipo de filter
filter activex port local_ip mask foreing_ip mask filter java port[-port] local_ip mask foreing_ip mask filter url http|except local_ip mask foreing_ip mask [allow]
donde activex bloquea activex, java applets y otros html incluidos entre <objects> java bloquea java applets retornado al PIX como resultado de una conexin saliente. url bloquea una URL que mueva data a travs del PIX. http filtra solamente http URLs except crea una excepcin a una condicin previa de filtrado port el puerto por el cual el Pix recibe el trafico web port[-port] uno o mas puertos en el cual el applet java puede ser recibido. Local_ip la ip sobre interfaz de alta seguridad a la cual acceda el trafico, 0 implica todas. Local_mask mascara asociada a local_ip, 0 especifica todos los host. Foreing_ip la ip sobre interfaz de baja seguridad a la cual acceda el trafico, 0 implica todas. foreing_mask mascara asociada a local_ip, 0 especifica todos los host. Allow cuando un server no esta disponible, la conexin pasa a travs del firewall sin ser filtrada. Las entradas hechas por medio de filter pueden ser borradas con el comando no , y pueden ser vistas con el comando show filter.
14
Laboratorio de Redes y Sistemas Operativos Para proveer filtrado de url la red debe poseer un servidor websense el cual debe ser especificado por medio del comando url-server (if_name) host ip_server timeout time
filter activex 80 0 0 0 0 filter java 80 0 0 0 0 url-server (inside) host 10.0.1.1 filter url http 0 0 0 0 filter url except 10.0.2.54 255.255.255.255 0 0
Ej.
Cualquier duda, error encontrado, o sugerencias acerca de esta gua por favor comunicrsela al autor al correo gfarias@elo.utfsm.cl. De antemano muchas gracias.
15