Manual-LNXSG-SistemasUNI.pdf

107
Sistemas UNI Linux Seguridad en Redes Pág. 1 Implementación y disposición del Firewall en una LAN 1.1 Introducción Un firewall es un dispositivo que funciona como dispositivo de seguridad (“cortafuegos”) entre redes, permitiendo o denegando las transmisiones de una red a la otra. Un uso típico es situarlo entre una red local y la red Internet, como dispositivo de seguridad para evitar que los intrusos puedan acceder a información confidencial. Un firewall es simplemente un conjunto de filtros que controlan todas las comunicaciones que pasan de una red a la otra y en función del tipo de información que se trate, permite o deniega su paso. Para permitir o denegar una comunicación, el firewall examina el tipo de servicio al que corresponde, como pueden ser el web, el correo o el IRC. Dependiendo del servicio el firewall decide si lo permite o no. Además, el firewall examina si la comunicación es entrante o saliente y dependiendo de su dirección puede permitirla o no. Diagrama 1: ubicación y función del firewall De este modo un firewall puede permitir desde una red local hacia Internet acceso a servicios de web, correo y ftp, pero no a IRC que puede ser innecesario para nuestro trabajo. También podemos configurar los accesos que se hagan desde Internet hacia la red local y podemos denegarlos todos o permitir algunos servicios como el de la web, (si es que poseemos un servidor web y queremos que accesible desde Internet). Dependiendo del firewall que tengamos también podemos permitir algunos accesos a la red local desde Internet si el usuario se ha autentificado como usuario de la red local. 1.2 Tipos de firewalls Firewall de capa de red.- Funciona al nivel de la red de la pila de protocolos (TCP/IP) como filtro de paquetes IP, no permitiendo que estos pasen el cortafuego a menos que se atengan a las reglas definidas por el administrador del cortafuego o aplicadas por defecto como en algunos sistemas inflexibles de cortafuego. Una disposición más permisiva podría permitir que cualquier paquete pase el filtro mientras que no cumpla con ninguna regla negativa de rechazo. Firewall de capa de aplicación.- Trabaja en el nivel de aplicación. Analizando todo el tráfico de HTTP, (u otro protocolo), puede interceptar todos los paquetes que llegan o salen desde y hacia las aplicaciones que corren en la red. Este tipo de cortafuegos usa ese conocimiento sobre la información transferida para proveer un bloqueo más Tráfico no Autorizado FIREWALL RED LOCAL Tráfico Autorizado Internet

Transcript of Manual-LNXSG-SistemasUNI.pdf

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 1

    Implementacin y disposicin del Firewall en una LAN

    1.1 Introduccin Un firewall es un dispositivo que funciona como dispositivo de seguridad (cortafuegos) entre redes, permitiendo o denegando las transmisiones de una red a la otra. Un uso tpico es situarlo entre una red local y la red Internet, como dispositivo de seguridad para evitar que los intrusos puedan acceder a informacin confidencial. Un firewall es simplemente un conjunto de filtros que controlan todas las comunicaciones que pasan de una red a la otra y en funcin del tipo de informacin que se trate, permite o deniega su paso. Para permitir o denegar una comunicacin, el firewall examina el tipo de servicio al que corresponde, como pueden ser el web, el correo o el IRC. Dependiendo del servicio el firewall decide si lo permite o no. Adems, el firewall examina si la comunicacin es entrante o saliente y dependiendo de su direccin puede permitirla o no.

    Diagrama 1: ubicacin y funcin del firewall

    De este modo un firewall puede permitir desde una red local hacia Internet acceso a servicios de web, correo y ftp, pero no a IRC que puede ser innecesario para nuestro trabajo. Tambin podemos configurar los accesos que se hagan desde Internet hacia la red local y podemos denegarlos todos o permitir algunos servicios como el de la web, (si es que poseemos un servidor web y queremos que accesible desde Internet). Dependiendo del firewall que tengamos tambin podemos permitir algunos accesos a la red local desde Internet si el usuario se ha autentificado como usuario de la red local.

    1.2 Tipos de firewalls

    Firewall de capa de red.- Funciona al nivel de la red de la pila de protocolos (TCP/IP) como filtro de paquetes IP, no permitiendo que estos pasen el cortafuego a menos que se atengan a las reglas definidas por el administrador del cortafuego o aplicadas por defecto como en algunos sistemas inflexibles de cortafuego. Una disposicin ms permisiva podra permitir que cualquier paquete pase el filtro mientras que no cumpla con ninguna regla negativa de rechazo.

    Firewall de capa de aplicacin.- Trabaja en el nivel de aplicacin. Analizando todo el trfico de HTTP, (u otro protocolo), puede interceptar todos los paquetes que llegan o salen desde y hacia las aplicaciones que corren en la red. Este tipo de cortafuegos usa ese conocimiento sobre la informacin transferida para proveer un bloqueo ms

    Trfico no

    Autorizado

    FIREWALL RED LOCAL

    Trfico Autorizado

    Internet

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 2

    selectivo y para permitir que ciertas aplicaciones autorizadas funcionen adecuadamente. A menudo tienen la capacidad de modificar la informacin transferida sobre la marcha, de modo de engaar a las aplicaciones y hacerles creer que el cortafuego no existe. Otros tambin tienen adosado software para revisar por virus el correo electrnico.

    Figura 1: NEFILTER

    Figura 2: proxy Squid

    1.3 Disposiciones generales para la instalacin del S.O. Debian Debian no impone requisitos de hardware ms all de los que establecen el ncleo Linux y el conjunto de herramientas GNU. En cualquier caso, cualquier arquitectura o plataforma a la que se haya adaptado el ncleo Linux, libc, gcc, etc., y para los que exista una adaptacin de Debian, puede ejecutar Debian. Por favor, dirjase a las pginas de adaptaciones en http://www.debian.org/ports/i386/ para ms informacin sobre sistemas de arquitectura Intel x86 probados con Debian.

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 3

    1.3.1. Arquitecturas de hardware soportadas

    Debian 5.0 soporta once arquitecturas principales y algunas variaciones de cada arquitectura conocidas como sabores.

    Arquitectura Designacin de

    Debian Subarquitectura Sabor

    Basada en Intel x86 i386

    AMD64 e Intel EM64T

    amd64

    DEC Alpha alpha

    ARM

    Arm Netwinder y CATS netwinder

    Armel Versatile versatile

    arm and armel

    Intel IOP32x iop32x

    Intel IXP4xx ixp4xx

    Marvell Orion orion5x

    HP PA-RISC Hppa PA-RISC 1.1 32

    PA-RISC 2.0 64

    Intel IA-64 ia64

    MIPS (big endian) Mips

    SGI IP22 (Indy/Indigo 2) r4k-ip22

    SGI IP32 (O2) r5k-ip32

    MIPS Malta (32 bit) 4kc-malta

    MIPS Malta (64 bit) 5kc-malta

    Broadcom BCM91250A (SWARM)

    sb1-bcm91250a

    Broadcom BCM91480B (BigSur)

    sb1a-bcm91480b

    MIPS (little endian) Mipsel

    Cobalt cobalt

    MIPS Malta (32 bit) r4k-malta

    MIPS Malta (64 bit) 5kc-malta

    Broadcom BCM91250A (SWARM)

    sb1-bcm91250a

    Broadcom BCM91480B (BigSur)

    sb1a-bcm91480b

    IBM/Motorola PowerPC

    Powerpc PowerMac pmac

    PReP prep

    Sun SPARC Sparc sun4u

    sparc64 sun4v

    IBM S/390 s390 IPL del lector VM y DASD genrico

    IPL de cinta cinta

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 4

    1.3.2 Componentes de software a instalar

    Solo instale aquellos componentes que realmente va a utilizar. Las herramientas GNU son libres, por lo tanto estn en constante desarrollo y evaluacin y poseen bugs; por lo tanto mientras no sea herramientas estables (stable), no las instale.

    Una relacin de componentes a instalar en el firewall detallamos a continuacin:

    anacron atd gpm network random sendmail y/o postfix sshd rsyslog y/o syslog Componentes bsicos de linux

    No instale:

    Herramientas de desarrollo Escritorios y el servidor X11 Ningn servicio adicional aparte del Web server.

    1.3.3 Requisitos de hardware del servidor firewall

    El firewall es un dispositivo de red que pertenece a ambas redes: a la red local y a la red internet. Si se conecta una tercera red, esta debe estar conectada necesariamente al firewall. De lo contrario, no se podr asegurar el control del trfico de red y sus contenidos. Muy por todo lo contrario, estaramos estableciendo un hueco de seguridad potencial y altamente peligroso.

    Por lo tanto, por cada red este que conecte al firewall, el firewall debe tener una tarjeta de red anexada a ella. Las reglas se aplicaran a cada tarjeta de red, dependiendo del flujo de datos entre redes.

    1.4 Defensa de la red perimetral La seguridad perimetral es uno de los mtodos posibles de defensa de una red, basado en el establecimiento de recursos de seguridad en el permetro externo de la red y a diferentes niveles. Esto nos permite definir niveles de confianza, permitiendo el acceso de determinados usuarios internos o externos a determinados servicios, y denegando cualquier tipo de acceso a otros. El permetro externo de la red debe presentar un fortalecimiento basado en:

    Control de puntos finales: los tneles no se establecen unilateralmente Conectividad: uso de Puertas de Enlace gateways

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 5

    Direccionamiento NAT Vulnerabilidades: Fundamentales (por la tecnologa) o inducido por la

    implementacin. Combinacin de mtodos de acceso: SSH, RAS, VPN. Defensas por niveles: Ultima defensa Hardware mejor que software Evitar el flujo de trfico de una red a otra a travs de dispositivos conectados a

    2 redes.

    1.4.1 Qu elementos deberan protegerse?

    Se deberan proteger todos los elementos de la red interna, incluyendo hardware, software e informacin, no solo de cualquier intento de acceso no autorizado desde el exterior sino tambin de ciertos ataques desde el interior que puedan preverse y prevenirse. 1.4.2 Uso de firewalls Un firewall puede ser un sistema (software o hardware), es decir, un dispositivo fsico que se conecta entre la red y el cable de la conexin a Internet, como en el caso del CISCO PIX, o bien un programa que se instala en el sistema que tiene la interface que conecta con Internet, con otra conectada a la red local. Incluso podemos encontrar PCs muy potentes y con paquetes de software especficos que lo nico que hacen es monitorear en tiempo real las comunicaciones entre redes.

    1.4.3 Uso de proxis Adems del filtrado de paquetes, es habitual que se utilicen aplicaciones (software) para reenviar o bloquear conexiones a servicios como por ejemplo telnet, HTTP o FTP. A tales aplicaciones se les denomina "servicios proxy", mientras que al sistema donde se ejecutan se le llama "gateway de aplicacin". Los servicios proxy poseen una serie de ventajas tendientes a incrementar la seguridad; en primer lugar, permiten nicamente la utilizacin de servicios para los que existe un proxy, por lo que si en la organizacin el "gateway de aplicacin" contiene nicamente proxies para telnet, HTTP y FTP, el resto de servicios no estarn disponibles para nadie.

    1.5 Puertos y servicios

    En el momento que nuestro ordenador se conecta a internet, ste pasa a ser un elemento ms dentro de la Red, es decir, forma parte de toda la Red y como tal se tiene que comunicar con el resto. Para poder comunicarse, lo primero que necesita es tener una direccin electrnica y poder identificarse con los dems. Si haces una peticin, por ejemplo de una pgina web, el servidor tiene que saber a quin se la enva. Esa direccin electrnica es la direccin IP, qu es un nmero de 4 grupos de ocho bits cada uno. Pero eso no es suficiente, ya que en internet se pueden utilizar muchos y diversos servicios y es necesario poder diferenciarlos. La forma de "diferenciarlos" es mediante los puertos.

    Imaginemos un edificio de oficinas, ste tiene una puerta de entrada al edificio (que en nuestro caso sera la IP) y muchas oficinas que dan servicios (que en nuestro caso seran los puertos). Eso nos lleva a que la direccin completa de una oficina viene dada por la direccin

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 6

    postal y el nmero de la oficina. En el caso de Internet viene dado por la direccin IP y por el nmero de puerto. As por ejemplo, un servidor web escucha las peticiones que le hacen por el puerto 80, un servidor FTP lo hace por el puerto 21, etc.

    Internet

    Sentido de Conexin:Cliente XP local a Servidor Web en Internet

    LAN WAN

    Sentido de Conexin:Cliente XP en Internet a Servidor Web Local

    WAN LAN

    LAN

    Cliente XP local

    Servidor Web Internet

    Servidor Web Local

    Cliente XP Internet

    Diagrama 2: sentido de las conexiones entre los equipos involucrados.

    Diagrama 3: estructura de las cabeceras IP y TCP (IP y Puertos respectivamente) segn el sentido de la conexin

    Observe las conexiones en la parte superior e inferior del firewall. Ambas son conexiones que pasan por el firewall necesariamente; en cada caso, el extremo izquierdo del firewall posee IP privadas. Es el firewall quien debe convertirlas en IP pblica cuando la conexin se establece de izquierda a derecha de la figura. Es importante tener en cuenta ese detalle: en la red Internet solo se consigue la comunicacin con otros equipos si se posee IP PUBLICA.

    Cliente XP Local

    IP = 192.168.1.96

    Inicio de la Conexin Servidor WEB Internet

    Respuesta Servidor WEB de Internet

    Ejecuto IE Puerto 16558

    558

    Servidor Web Internet IP = 210.27.16.185

    Servidor Web Internet IP = 210.27.16.185

    Servidor Web Local

    IP = 192.168.1.9

    Ejecuto Apache En Puerto 80

    558

    Servidor Web Internet IP = 210.27.16.185

    Cabeceras IP

    Cliente XP Local IP = 190.26.225.14

    Cabeceras IP

    IP Origen = 192.168.1.96 IP Destino = 210.27.16.185 Puerto Origen = 16558 Puerto Destino = 80

    195.56.44.58 192.168.1.1

    IP Origen = 210.27.16.185 IP Destino = 195.56.44.58 Puerto Origen =80 Puerto Destino = 16558

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 7

    Es decir, los puertos son los puntos de enganche para cada conexin de red que realizamos. El protocolo TCP (el utilizado en internet) identifica los extremos de una conexin por las direcciones IP de los dos nodos (ordenadores) implicados (servidor y cliente) y el nmero de los puertos de cada nodo. Recuerde que los puertos identifican a las aplicaciones involucradas en la comunicacin, aplicaciones de red por supuesto.

    1.6 Definicin de la POLITICA de SEGURIDAD Asegurar sus datos involucra algo ms que conectarse en un firewall con una interface competente. Lo que se necesita es un plan comprensivo de defensa. Y se necesita comunicar este plan en una manera que pueda ser significativo para la gerencia y usuarios finales. Esto requiere educacin y capacitacin, conjuntamente con la explicacin, claramente detallada, de las consecuencias de las violaciones. A esto se le llama una poltica de seguridad y es el primer paso para asegurar responsablemente la red. La poltica puede incluir instalar un firewall, pero no necesariamente se debe disear su poltica de seguridad alrededor de las limitaciones del firewall. El desarrollo de una poltica de seguridad comprende la identificacin de los activos organizativos, evaluacin de amenazas potenciales, la evaluacin del riesgo, implementacin de las herramientas y tecnologas disponibles para hacer frente a los riesgos, y el desarrollo de una poltica de uso. Debe crearse un procedimiento de auditoria que revise el uso de la red y servidores de forma peridica.

    1.6.1 Identificacin de los activos organizativos Consiste en la creacin de una lista de todas las cosas que precisen proteccin.

    Por ejemplo: - Hardware: ordenadores y equipos de telecomunicacin - Software: programas fuente, utilidades, programas de diagnstico, sistemas

    operativos, programas de comunicaciones. - Datos: copias de seguridad, registros de auditoria, bases de datos.

    1.6.2 Valoracin del riesgo: Conlleva la determinacin de lo que se necesita proteger. No es ms que el proceso de examinar todos los riesgos, y valorarlos por niveles de seguridad.

    1.6.3 Definicin de una poltica de uso aceptable: Las herramientas y aplicaciones forman la base tcnica de la poltica de seguridad, pero la poltica de uso aceptable debe considerar otros aspectos:

    Quin tiene permiso para usar los recursos? Quin est autorizado a conceder acceso y a aprobar los usos? Quin tiene privilegios de administracin del sistema? Qu hacer con la informacin confidencial? Cules son los derechos y responsabilidades de los usuarios?

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 8

    Por ejemplo, al definir los derechos y responsabilidades de los usuarios:

    Si los usuarios estn restringidos, y cules son sus restricciones. Si los usuarios pueden compartir cuentas o dejar que otros usuarios utilicen

    sus cuentas. Cmo deberan mantener sus contraseas los usuarios. Con qu frecuencia deben cambiar sus contraseas. Si se facilitan copias de seguridad o los usuarios deben realizar las suyas.

    1.7 Instalacin del servidor y las herramientas de administracin de firewall Para el proceso de instalacin del sistema operativo, se deber contar con las herramientas adecuadas para simular el ambiente de la red local y de la red internet. Cada alumno contara con una PC y a travs de herramientas de virtualizacin, creara sus servidores virtuales instalando los sistemas operativos que corresponda segn la funcin de la mquina y de su ubicacin con respecto al firewall.

    1.7.1 Maquina del alumno:

    Pentium D o superior

    Memoria de 2 GB o ms

    Espacio en disco duro de 40 GB o ms

    1.7.2 Software por alumno:

    Linux CentOS 5.6 o superior instalado en la particin antes mencionada. Maquina HOST principal.

    Herramienta de virtualizacin: VMWare Server y/o VMWare Workstation 8 o superior.

    Archivo ISO de Linux CentOS 5.6 o superior

    Archivo ISO de Linux Debian 6.0 o superior

    Archivo ISO de Windows XP SP2 o SP3

    Se deber crear tres (03) mquinas virtuales:

    o Una maquina firewall con Linux Debian (se enseara su instalacin en clase)

    o Una maquina Web Server con Linux CentOS (servidor local) o Una maquina cliente con Windows XP (cliente local)

    La mquina HOST principal con Linux CentOS actuara como las maquinas cliente y servidor de internet respectivamente.

    El equipo cliente local deber tener instalado SP3 de preferencia.

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 9

    Firewall a nivel de capa de RED: Filtrado con NETFILTER

    2.1 Introduccin Netfilter es un framework (zona de trabajo) disponible en el ncleo Linux que permite interceptar y manipular paquetes de red a nivel de la capa de red (IP). Dicho framework permite realizar el manejo de paquetes en diferentes estados del procesamiento. Netfilter es tambin el nombre que recibe el proyecto que se encarga de ofrecer herramientas libres para cortafuegos basados en Linux.

    El componente ms popular construido sobre Netfilter es iptables, una herramienta de cortafuegos que permite no solamente filtrar paquetes, sino tambin realizar traduccin de direcciones de red (NAT) para IPv4 o mantener registros de log. El proyecto ofreca compatibilidad hacia atrs con ipchains hasta hace relativamente poco, aunque hoy da dicho soporte ya ha sido retirado al considerarse una herramienta obsoleta. El proyecto Netfilter no slo ofrece componentes disponibles como mdulos del ncleo sino que tambin ofrece herramientas de espacio de usuario y libreras.

    iptables es el nombre de la herramienta de espacio de usuario mediante la cual el administrador puede definir polticas de filtrado del trfico que circula por la red. El nombre iptables se utiliza frecuentemente de forma errnea para referirse a toda la infraestructura ofrecida por el proyecto Netfilter. Sin embargo, el proyecto ofrece otros subsistemas independientes de iptables tales como el Connection Tracking System o sistema de seguimiento de conexiones, o queue, que permite encolar paquetes para que sean tratados desde espacio de usuario. iptables es un software disponible en prcticamente todas las distribuciones de Linux actuales.

    2.2 Configurar la segunda tarjeta de red y opciones de red del ncleo El servidor firewall debe pertenecer a las redes que se desea controlar, en el ejemplo del curso, la red local y la red internet. Dependiendo del tipo de conexin establecida, se tendr entonces dos (02) interfaces de red (entindase tarjetas), una para cada conexin de red establecida. En algunos casos se puede aadir una red ms al firewall; en este caso, se deber aadir una interface de red adicional para conectar la nueva red al sistema. Por cada tarjeta de red aadida se debe configurar una direccin IP independiente y que pertenezca a la red indicada. Observe el diagrama 4 para aclarar el tema:

    Hacia la red local

    Hacia la red internet

    Tarjeta de red eth0

    Tarjeta de red eth1

    FIREWALL

    Diagrama 3: estableciendo la conexin de cada tarjeta de red en el firewall.

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 10

    2.3 Opciones de red del ncleo: caractersticas de networking intrnsecas del kernel En Red Hat Linux 6.2, muchas opciones del kernel relacionados con la seguridad de redes, tales como descartar los paquetes que entran a travs de interfaces que no deben, o haciendo caso omiso de respuestas ping, etc se puede establecer en el nuevo archivo /etc/sysctl.conf en lugar del archivo /etc/rc.d/rc.local. Una consideracin importante es el parmetro de reenvo de IPv4 (ip_forwarding), que ahora se hace a travs del programa sysctl, en lugar de ser controlado por el contenido del archivo en /etc/sysconfig/network. Tambin se activa para IPV6. La configuracin de sysctl se almacenan en /etc/sysctl.conf, y se carga en cada arranque antes de que el archivo /etc/rc.d/rc.local se lea y se active su contenido.

    2.3.1 Algunas opciones de networking de este archivo

    Prevenir que el sistema responda a solicitudes ping

    net.ipv4.icmp_echo_ignore_all = 1

    Rechazar respuestas a pedido broadcast

    net.ipv4.icmp_echo_ignore_broadcasts = 1

    Activar encaminamiento IP para IPV4

    net.ipv4.ip_forward = 1

    2.4 Herramienta de usuario iptables Definicin iptables es una estructura genrica de tablas que define las reglas y los comandos, como parte del sistema NETFILTER que facilita Network Address Translation (NAT), filtrado de paquetes y alteracin de paquetes de la versin 2.4 del kernel de Linux y sistemas operativos posteriores. NAT es el proceso de convertir una direccin IP en otra direccin IP. El filtrado de paquetes es el proceso de aprobacin o el bloqueo de los paquetes en una interfaz de red basado en direcciones de origen y destino, puertos o protocolos. Alteracin de paquetes es la capacidad de alterar o modificar los paquetes antes y/o despus del enrutamiento. iptables y netfilter son el sucesor de ipchains e ipfwadm en versiones anteriores de Linux. Netfilter e iptables se combinan a menudo en la nica expresin de NETFILTER/IPTABLES, que se refiere a Linux 2.4 y posteriores subsistemas de NAT, cortafuegos, y el procesamiento de paquetes avanzados.

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 11

    2.4.1 Terminologa

    Concepto Significado

    Tablas Conjunto de cadenas

    Cadenas Conjunto de reglas

    Reglas Las unidades de construccin; me dice a quien le aplico lo que quiero hacer

    Objetivo Objetivo del filtrado

    2.4.2 Sintaxis general del comando:

    iptables [-t tabla] comando [cadena] [reglas] [ -j objetivo]

    tabla: tipo de tabla a trabajar (filter, nat, mangle, raw) comando:

    L listar reglas A aadir reglas X eliminar reglas de usuario F eliminar reglas previas I Insertar reglas P establecer poltica de filtrado D eliminar regla R reemplazar regla N crear nueva regla (por lo general de usuario)

    cadena: son reglas agrupadas que se aplican a determinados paquetes

    que entran y/o salen del firewall. Tabla filter:

    INPUT: reglas que se aplican a paquetes que llegan al firewall

    OUTPUT: reglas que se aplican a paquetes que salen del firewall

    FORWARD: reglas que se aplican a paquetes que atraviesan el firewall

    Tabla nat:

    PREROUTING: aplicada antes de la decisin de ruteo DNAT

    POSTROUTING: aplicada despus de la decisin de ruteo SNAT

    Tabla mangle:

    o Se utiliza para alterar los paquetes en trnsito. Usado en QoS (calidad de servicio)

    reglas: criterios para realizar el filtrado. Los principales son:

    -i interface de entrada

    -o interface de salida

    -p protocolo encapsulado (tcp,udp)

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 12

    --dport puerto destino

    --sport puerto origen

    -s IP origen de los paquetes

    -d IP destino de los paquetes

    -m cuando coinciden con algn parmetro especial (match)

    2.5 Poltica ACCEPT versus Poltica DROP: seguridad perimetral Usted probablemente sabe que necesita la seguridad de un firewall, de hecho, es posible que incluso ya tiene un programa de gestin de servidor de seguridad en su lugar. Pero, qu es la seguridad de firewall, y que implica la gestin de servidor de seguridad? El palabra firewall originalmente se refera literalmente a una pared construida para detener la propagacin de un incendio. En el mundo de la proteccin de equipos por firewall, un servidor de seguridad se refiere a un dispositivo de red que bloquea ciertos tipos de trfico de la red, formando una barrera entre la red de confianza y una red insegura. Es anlogo a un servidor de seguridad fsica en el sentido de que la seguridad del firewall bloque intentos de propagacin de ataques informticos. Antes de comenzar el diseo de su firewall con Linux, usted necesita determinar si va a proteger un nico equipo o su red. Tambin tendr que decidir si cualquier usuario de Internet tendr acceso a su computadora o red. Tambin debe pensar si quiere bloquear el acceso a ciertos servicios en Internet. Es posible que desee bloquear el trfico saliente con destino a determinados servicios peer-to-peer para compartir archivos o tal vez los servicios de intercambio de archivos de Windows. Investigar todo esto puede tener una buena cantidad de tiempo, especialmente si usted es nuevo en Linux y no est familiarizado con el uso de la lnea de comandos e iptables. Al comenzar su investigacin, usted probablemente querr comenzar con una visita a la pgina de inicio de iptables y tambin tener algo de tiempo para leer la Gua del administrador de la red de Linux en el Proyecto de Documentacin de Linux. Despus de terminar su investigacin, usted probablemente querr comenzar a escribir su conjunto de reglas. Un principiante que quiere proteger a un nico equipo podra terminar con algo como lo siguiente despus de algunas investigaciones en los sitios mencionados anteriormente:

    #!/bin/bash iptables -F iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

    El cdigo anterior es un firewall simple y efectivo. Usted podra utilizar esta lista de cdigo simple como la base para un servidor de seguridad ms complejos, o simplemente copia el

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 13

    cdigo y gurdelo en un guin que ser lanzado en el arranque. Ahora vamos paso a paso a travs del script lnea a lnea. La primera lnea es obvio, el omnipresente "bang hash" que le dice al shell que interprete a utilizar cuando se ejecuta el script. La siguiente lnea limpia cualquier norma iptables que puede estar ya cargado. Tenga en cuenta que esto slo limpia las reglas en la tabla de filtros. Es posible que haya normas ms avanzadas en las tablas nat y mangle que no se borrarn con esta regla. En la mayora de distribuciones no se cargan reglas iptables por defecto as que probablemente no tiene que preocuparse acerca de estas otras tablas en este momento. Las siguientes tres lneas establecen las polticas por defecto del filtrado. Estas tres reglas de decirle al ncleo que debe dejar caer los paquetes que son entrantes, salientes o encaminados. Esto se conoce como la configuracin "negar de forma predeterminada" y si no aade reglas en este punto, no sera capaz de acceder a Internet o a cualquier otro equipo en la red. Tambin puede configurar las polticas por defecto para ACCEPT (ACEPTAR) o DENY (RECHAZAR). Si se establece en ACEPTAR entonces su servidor de seguridad acepta toda conexin por defecto. Establecer las polticas para RECHAZAR es similar a NEGAR (DROP), solo que el ncleo enva una respuesta al que envi el paquete en lugar de descartarlo silenciosamente. Al establecer el servidor de seguridad para negar de forma predeterminada est trabajando en lo que podra llamarse el modo "Stealth" (silencioso). Si alguien fuera a escanear su ordenador desde Internet, aparecer como si no hay equipo all.

    2.5 Traduccin de direcciones de red - NAT Este mecanismo, implementado en todos los equipos routers, permite que dos o ms redes IP puedan intercambiar datos incluso si no se encuentran en la misma red lgica y/o fsica (capa de red). Las direcciones IP se clasifican en Publicas y privadas. Las pblicas permiten la comunicacin entre equipos conectados a internet directamente. Las privadas son de uso interno para redes locales, pero no estn permitidas para conectar dispositivos a la red internet; el protocolo no lo permite. La funcin de este mecanismo permite, usando unas pocas, e incluso una sola direccin IP, conectar toda una red local con direcciones IP privadas a la red internet. La idea es compartir una misma direccin IP pblica, as como cuando se comparte un mismo nmero telefnico y es sistema de anexos de una empresa. Esto es necesario debido al progresivo agotamiento de las direcciones IPv4. Se espera que con la pronta implementacin de IPv6 no sea necesario continuar con esta prctica.

    2.5.1 Mecanismos NAT

    Existen dos tipos bsicos de mecanismos NAT a implementar en el servidor cortafuegos o firewall:

    SNAT o NAT de origen (Source NAT) DNAT o NAT de destino (Destination NAT)

    Veremos a continuacin como trabajan estos mecanismos bsicos de NATeo.

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 14

    2.6 Nateo de puertos especficos SNAT y DNAT en accin

    2.6.1 Mecanismos SNAT Consiste en cambiar la IP Privada Origen (source IP) por la direccin IP de la tarjeta de red del firewall conectada a la red WAN. Esta tarjeta es la nica interface que posee IP PUBLICA; por lo tanto, en teora es la nica interface con conexin directa a la red Internet. SNAT comparte esta IP PUBLICA con todas las interfaces de la red local para que estas puedan navegar libremente por la red Internet. El retorno (respuesta) de los equipos desde la Internet est asegurada gracias a que el kernel proporciona un mecanismo de monitorio (tracking) de las conexiones entrantes y salientes. La tabla NAT es para este fin.

    Ejemplo.- Imaginemos el siguiente escenario de trabajo SNAT:

    Firewall

    WEB Server

    Internet

    LAN

    eth0eth1

    eth0 = 190.12.45.186eth1 = 192.168.1.1

    Cliente XPIP = 192.168.1.56

    IP = 200.56.17.234

    Cuando el Cliente XP con IP = 192.168.1.56 (IP Origen, privada) desea establecer contacto con el Servidor WEB con IP = 200.56.17.234 (IP Destino, publica), su solicitud debe pasar de todas maneras a travs del firewall. Sin el mecanismo SNAT activo, se alcanza el host solicitado pero la respuesta no retorna. Esto se debe a que el origen y el destino del paquete se encuentran en diferentes redes. Con el SNAT activo, la IP origen del paquete del cliente XP se cambia por la IP publica del firewall, es decir, por la IP de la interface eth0=190.12.45.186; de esta manera se asegura que el servidor de internet (200.56.17.234) pueda enviar la respuesta al firewall. Finalmente, como el firewall mantiene un registro de dicha conexin, el firewall lleva la respuesta al Cliente XP. Esto es totalmente transparente para el usuario. Observe el diagrama 4:

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 15

    Diagrama 4: mecanismo SNAT, cliente accediendo a un Web server.

    En la segunda etapa, al paquete que llega al firewall se le aplica el proceso inverso: se le cambia la IP Destino (que es la IP Publica del firewall) por la IP del cliente XP en la red local. El kernel mantiene una tabla NAT para asegurar que el destino sea el cliente XP original. El siguiente diagrama muestra el cambio en las cabeceras restableciendo la IP original del cliente XP (observe el sentido de la conexin):

    Diagrama 5: mecanismo SNAT, respuesta del Web server al cliente XP. Observe las cabeceras de los paquetes IP.

    Dentro del kernel, se realiza la siguiente operacin:

    IP Origen192.168.1.56

    IP Destino200.56.17.234 DATA

    IP Origen190.12.45.186

    IP Destino192.168.1.56

    IP Origen200.56.17.234 DATA

    IP Destino190.12.45.186

    LAN -- > WAN WAN -- > LAN

    Paquete IP Original

    IP Origen = 192.168.1.81 IP Destino = 200.56.37.23

    Cliente XP IP = 192.168.1.81

    192.168.1.1 190.12.45.186

    Paquete IP con SNAT

    IP Origen = 190.12.45.186 IP Destino = 200.56.37.23

    Servidor WEB IP = 200.56. 37.23

    Sentido de la conexin

    Se cambia la IP origen 192.168.1.81

    por la IP del firewall 190.12.45.186

    Respuesta del Web Server

    Servidor WEB IP = 200.56. 37.23

    190.12.45.186 192.168.1.1

    Sentido de la conexin Cliente XP

    IP = 192.168.1.81

    IP Origen = 200.56.37.23 IP Destino = 190.12.45.186 IP Origen = 200.56.37.23

    IP Destino = 192.168.1.81

    Paquete respuesta, cabeceras invertidas

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 16

    2.7 Diagrama de flujo de anlisis de las reglas de NETFILTER

    Destino Local?

    IP Forward activo?

    Ingreso de Paquetes

    Chequeo de Integridad

    PREROUTING

    Proceso Local

    ROUTING

    INPUT

    ROUTING

    OUTPUT

    ROUTING

    FORWARD

    POSTROUTING

    Salida de Paquetes

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 17

    Ejemplos de Pizarra. Escenario 1. Un cliente desea conectarse va putty a un servidor usando el protocolo telnet. El cliente posee IP=192.168.1.94 y el servidor IP=192.168.1.9. El servidor esta bloqueado en poltica DROP. Indique que reglas permitir el acceso va telnet al servidor desde el cliente. Diagrama del escenario 1:

    Reglas: a) Regla para aceptar la solicitud del cliente:

    iptables -A INPUT -i eth0 -p tcp -s 192.168.1.94 --sport 1024: -d 192.168.1.9 --dport 23 -j ACCEPT

    b) Regla para permitir respuestas al cliente y establecer la conexin:

    iptables -A OUTPUT -o eth0 -p tcp -s 192.168.1.9 --sport 23 -d 192.168.1.94 --dport 1024: -j ACCEPT Desglosado de las reglas de filtrado:

    Elemento Cadena INPUT iptables Se invoca (ejecuta) la herramienta de usuario -A INPUT Aadir una Cadena INPUT -i eth0 Regla 1. Paquete entra por interface eth0 -p tcp Regla 2. Protocolo encapsulado TCP -s 192.168.1.94 Regla 3. Origen del paquete IP=192.168.1.94 --sport 1024: Regla 4. Puerto origen del paquete desde 1024 hasta 65535 -d 192.168.1.9 Regla 5. Destino del paquete IP=192.168.1.9 --dport 23 Regla 6. Puerto destino del paquete: puerto 23 -j ACCEPT Objetivo de la regla: aceptar la entrada del paquete

    Elemento Cadena OUTPUT iptables Se invoca (ejecuta) la herramienta de usuario -A OUTPUT Aadir una Cadena OUTPUT -o eth0 Regla 1. Paquete sale por interface eth0 -p tcp Regla 2. Protocolo encapsulado TCP -s 192.168.1.9 Regla 3. Origen del paquete IP=192.168.1.9 --sport 23 Regla 4. Puerto origen del paquete: puerto 23 -d 192.168.1.94 Regla 5. Destino del paquete IP=192.168.1.94 --dport 1024: Regla 6. Puerto destino del paquete desde 1024 hasta 65535 -j ACCEPT Objetivo de la regla: aceptar la salida del paquete

    Cliente 192.168.1.94

    Servidor 192.168.1.9 Inicio de conexin: el cliente

    solicita conexin al puerto 23 del servidor

    Respuesta del servidor: se acepta el pedido del cliente. Conexin establecida.

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 18

    Escenario 2. Los clientes de la red local desean conectarse a servidores ubicados en la red Internet. Dichos clientes utilizan aplicaciones clientes de diferentes tipos. Establecer reglas en el firewall que permitan el paso de los paquetes entre ambas redes atravesando el firewall. Diagrama del escenario 2:

    Reglas:

    1) Regla para permitir el paso de paquetes desde la red LAN hacia la red WAN:

    iptables -A FORWARD -i eth1 -o eth0 -p tcp -s 192.168.1.0/24 --sport 1024: ! -d 192.168.1.0/24 --dport :1023 -j ACCEPT

    2) Regla para permitir el paso de paquetes desde la red WAN hacia la red LAN:

    iptables -A FORWARD -i eth0 -o eth1 -p tcp -s 0.0.0.0/0 --sport :1024 -d 192.168.1.0/24 --dport 1024: -j ACCEPT

    Desglosado de las reglas de filtrado:

    Elemento Cadena FORWARD: LAN WAN iptables Se invoca (ejecuta) la herramienta de usuario -A FORWARD Aadir una Cadena FORWARD -i eth1 Regla 1. Paquete entra por interface eth1 -o eth0 Regla 2. Paquete sale por interface eth0 -p tcp Regla 3. Protocolo encapsulado TCP -s 192.168.1.0/24 Regla 4. Origen del paquete: red 192.168.1.0/24 --sport 1024: Regla 5. Puerto origen del paquete desde 1024 hasta

    65535 ! -d 192.168.1.0/24 Regla 6. Destino del paquete: que no sea la red local --dport :1023 Regla 7. Puerto destino del paquete desde 0 hasta 1023 -j ACCEPT Objetivo de la regla: aceptar el paso del paquete

    Elemento Cadena FORWARD: WAN LAN iptables Se invoca (ejecuta) la herramienta de usuario -A FORWARD Aadir una Cadena FORWARD -i eth0 Regla 1. Paquete entra por interface eth0 -o eth1 Regla 2. Paquete sale por interface eth1 -p tcp Regla 3. Protocolo encapsulado TCP -s 0.0.0.0/0 Regla 4. Origen del paquete: la red internet (cualquier

    origen) --sport :1023 Regla 5. Puerto origen del paquete desde 0 hasta 1023 -d 192.168.1.0/24 Regla 6. Destino del paquete la red local (192.168.1.0/24) --dport 1024: Regla 7. Puerto destino del paquete desde 1024 hasta

    65535 -j ACCEPT Objetivo de la regla: aceptar el paso del paquete

    Cliente en red local - LAN

    Servidor en red internet -WAN

    Regla 1: permitir paquetes de LAN a WAN

    Regla 2: permitir paquetes de WAN a LAN

    FIREWALL

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 19

    Control de Navegacin WWW: Servidor Proxy SQUID

    3.1 Breve historia de Squid En el principio era el servidor HTTP CERN. Adems de funcionar como un servidor HTTP, fue tambin el primer proxy cach. El mdulo de almacenamiento en cach fue escrito por Ari Luotonen en 1994. Ese mismo ao, el Internet Research Task Force Group sobre el Resource Discovery (IRTF-RD) inici el proyecto Harvest. Se trata de "un conjunto integrado de herramientas para recoger, extraer, organizar, bscar, cach y reproducir " la informacin de Internet. Me un al proyecto Harvest cerca del final de 1994. Aunque la mayora de la gente usaba Harvest como motor de bsqueda local (o distribuido), el componente Object Cach era muy popular tambin. El cach Harvest se jact de tres grandes mejoras en la cach del CERN: el uso del sistema de archivos ms rpido, un diseo de nico proceso, y almacenamiento en cach de las jerarquas a travs del protocolo de Cach de Internet. Hacia el final de 1995, muchos miembros del equipo de Harvest se trasladaron al apasionante mundo de las compaas recin creadas basadas en Internet. Los autores originales del cdigo de cach de Harvest, Peter Danzig y Anawat Chankhunthod, lo convirtieron en un producto comercial. Su empresa fue ms tarde adquirida por Network Appliance. A principios de 1996, me incorpor al Laboratorio Nacional de Investigacin de Aplicaciones de Red (NLANR) para trabajar en el proyecto Cach de Recursos de Informacin (IRCache), financiado por la National Science Foundation. En relacin con este proyecto, que tom el cdigo de cach de Harvest, se le cambi el nombre a SQUID, y se liber bajo la licencia GNU General Public License. Desde ese tiempo Squid ha crecido en tamao y caractersticas. Ahora soporta un nmero de cosas increbles tales como el redireccionamiento de URL, de trfico, controles sofisticados de acceso, numerosos mdulos de autenticacin, opciones avanzadas de almacenamiento en disco, HTTP intercepcin, y el modo sustituto (tambin conocido como HTTP servidor de aceleracin). La financiacin del proyecto IRCache termin en julio de 2000. Hoy en da, un nmero de voluntarios siguen desarrollando y apoyando Squid. A veces, recibimos financiamiento de otro tipo de apoyo de empresas que se benefician de Squid. Mirando hacia el futuro, estamos reescribiendo Squid en C + + y, al mismo tiempo, en la correcin de un nmero de problemas de diseo en el cdigo ms antiguo que se limita a las nuevas prestaciones. Estamos aadiendo apoyo para protocolos como Edge Side Incluye (ESI) e Internet Content Adaptation Protocol (ICAP). Tambin tenemos previsto hacer Squid con soporte IPv6. Unos pocos desarrolladores estn constantemente haciendo correr mejor Squid en plataformas Microsoft Windows. Por ltimo, vamos a aadir ms y ms HTTP/1.1 caractersticas y el trabajo hacia el cumplimiento pleno con la ltima especificacin del protocolo.

    Tomado del libro Squid The definitive Guide de Duane Wessels Publisher: O'Reilly

    Pub Date: January 2004 ISBN: 0-596-00162-2

    Pages: 496

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 20

    3.2 Qu es un Servidor Proxy?

    El trmino en ingles Proxy tiene un significado muy general y al mismo tiempo ambiguo, aunque invariablemente se considera un sinnimo del concepto de Intermediario. Se suele traducir, en el sentido estricto, como delegado o apoderado (el que tiene el poder sobre otro).

    Un Servidor Intermediario (Proxy) se define como una computadora o dispositivo que ofrece un servicio de red que consiste en permitir a los clientes realizar conexiones de red indirectas hacia otros servidores de red ubicados en la Internet. Durante el proceso ocurre lo siguiente:

    Cliente se conecta hacia un Servidor Intermediario (Proxy).

    Cliente solicita una conexin, fichero u otro recurso disponible en un servidor distinto.

    Servidor Proxy proporciona el recurso ya sea conectndose hacia el servidor especificado o sirviendo ste desde un cach.

    En algunos casos el Servidor Proxy puede alterar la solicitud del cliente o bien la respuesta del servidor para diversos propsitos.

    Los Servidores Proxys generalmente se hacen trabajar simultneamente como firewalls operando en el Nivel de Red, actuando como filtro de paquetes, como en el caso de iptables, o bien operando en el Nivel de Aplicacin, controlando diversos servicios, como es el caso de TCP Wrapper. Dependiendo del contexto, el muro cortafuegos tambin se conoce como BPD o Border Protection Device o simplemente filtro de paquetes. Una aplicacin comn de los Servidores Proxys es funcionar como cach de contenido de Red (principalmente HTTP), proporcionando en la proximidad de los clientes un cach de pginas y archivos disponibles a travs de la Red en servidores HTTP remotos, permitiendo a los clientes de la red local acceder hacia stos de forma ms rpida y confiable. Cuando se recibe una peticin para un recurso de Red especificado en un URL (Uniform Resource Locator) el Servidor Proxy busca el resultado del URL dentro del cach. Si ste es encontrado, el Servidor Proxy responde al cliente proporcionado inmediatamente el contenido solicitado. Si el contenido solicitado no estuviera disponible en el cach, el Servidor Proxy lo traer desde servidor remoto, entregndolo al cliente que lo solicit y guardando una copia en el cach. El contenido en el cach es eliminado luego a travs de un algoritmo de expiracin de acuerdo a la antigedad, tamao e historial de respuestas a solicitudes (hits) (ejemplos: LRU, LFUDA y GDSF). Los Servidores Proxy para contenido de Red (Web Proxies) tambin pueden actuar como filtros del contenido servido, aplicando polticas de censura de acuerdo a criterios arbitrarios. En resumen:

    Funcionan como cortafuegos y como filtro de contenidos. Son un mecanismo de seguridad implementado por el ISP o los administradores de la red en un entorno de Intranet para desactivar el acceso o filtrar las solicitudes de contenido para ciertas sedes web consideradas ofensivas o dainas para la red y los usuarios.

    Mejoran el rendimiento.

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 21

    Guardan en la antememoria las pginas web a las que acceden los sistemas de la red durante un cierto tiempo. Cuando un sistema solicita la misma pgina web, el servidor proxy utiliza la informacin guardada en la memoria cach en lugar de recuperarla del proveedor de contenidos. De esta forma, se accede con ms rapidez a las pginas Web.

    3.3 Como trabaja el servidor proxy SQUID (mecanismo aproximado).-

    Diagrama 3.3.1. El transito de datos HTTP va por las flechas azules (pasos 1 al 5)

    En el diagrama se muestra la forma aproximada en que el programa Squid trabaja. Trataremos de dar un alcance del procedimiento de control ilustrado en la figura:

    1. El cliente abre un cliente WEB (Internet Explorer y/o Mozilla) y solicita una pgina web determinada.

    2. El kernel de Linux deriva la solicitud, mediante una operacin NAT, a la aplicacin que responde al puerto 3128, el cual es, en este caso, nuestro servidor proxy Squid.

    3. Este programa utiliza las Listas de Control de Acceso para restringir la navegacin. Estas listas, como su nombre lo indica, contiene las restricciones de navegacin, WEBS NO PERMITIDAS. El servidor consulta las listas y determinada si est permitida la navegacin o no.

    4. Si la navegacin no est permitida para la URL solicitada, entonces se le enva un mensaje de prevencin al usuario a travs del cliente navegador web. De esta manera ya se encuentra en aviso.

    5. Si la URL solicitada no se encuentra bloqueada por las listas, entonces se procede a traer la pgina web solicitada.

    Cuando la pagina es trada se almacena una copia en el cache dentro del disco duro que el programa Squid ha preparado en la ruta /var/spool/squid. Aca se almacena el cache del servidor proxy Squid.

    Kernel Linux

    Transito de datos sin SQUID

    Transito de datos sin SQUID

    Cliente XP Local

    Servidor Web

    Internet

    Proxy Squid Puerto 3128

    Firewall Linux

    1 2

    3 4

    5 5

    Trnsito HTTP Trnsito HTTP

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 22

    Diagrama 3.3.2 Una vez establecido la conexin con el servidor web, se trae la pgina web solicitada; cuando llega al firewall este enva la pgina al cliente de la siguiente manera:

    6. El servidor web responde a la solicitud de pgina web hecha por el firewall. Entonces este responde directamente al proxy squid, no al cliente XP de la red local.

    7. Cuando llega la pgina web solicitada al firewall, el squid toma una copia y lo guarda en su cache para posteriores solicitudes.

    8. Finalmente, se entrega la pgina solicitada al cliente de la red local

    3.4 Instalacin y configuracin del servidor proxy Squid. La instalacin de aplicaciones en servidores basados en Linux por lo general se resuelve utilizando la herramienta de instalacin de la distribucin utilizada (Debian, CentOS, Mandriva, etc); sin embargo sera mejor utilizar las herramientas en formato fuente (squid-3.1.1.tar.gz). La pregunta es: porque no usar simplemente la versin pre-compilada binaria y esperar que funcione bien? La primera razn es que el cdigo de squid necesita saber acerca de ciertos parmetros del sistema operativo. De forma particular, el mximo nmero de descriptores de archivos abiertos. El script configure prueba estos valores antes de compilar el programa. Si se instala squid compilado en un sistema con ciertos valores y se utiliza en otro con diferentes valores, se pueden encontrar errores de funcionamiento. Otra razn para usar las fuentes en vez de los pre-compilados, son las opciones disponibles al tiempo de compilacin. Si instala los binarios compilados por otros, y estos no incluyen las opciones que usted necesita, deber compilar squid en forma personalizada. Para nuestra suerte, Debian ya posee los binarios listos para instalar incluyendo la versin 3.0 de Squid. Si el lector desea, puede descargar los fuentes desde:

    Kernel Linux

    Transito de datos sin SQUID

    Transito de datos sin SQUID

    Proxy Squid Puerto 3128

    Cliente XP Local

    Servidor Web

    Internet

    Trnsito HTTP Trnsito HTTP

    6 7

    7

    8

    8

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 23

    http://www.squid-cache.org/Versions/v3/3.0/squid-3.0.STABLE25.tar.gz Usando los mirrors de Debian, simplemente ejecute el siguiente comando

    # aptitude install squid Si su sistema est bien configurado, no habr problemas durante la instalacin de los paquetes.

    3.5 Parmetros de configuracin inicial del Squid.- El archivo de configuracin de squid normalmente se ubica en el directorio /etc/squid. Sin embargo, si usted compilo squid desde los fuentes, revise las opciones de compilacin para determinar el directorio personalizado de instalacin del archivo de configuracin del squid. Asumiremos que el archivo se encuentra ubicado en el directorio /etc/squid. Entonces la ruta absoluta al archivo ser: /etc/squid/squid.conf Parmetro http_port.- Se utiliza para establecer el puerto a travs del cual squid escucha las peticiones desde los clientes. Existen diversas opciones para este parmetro; sin embargo tambin puede utilizarse para establecer el proxy transparente para la red local. Ejemplo: http_port 3128 # establece el puerto a 3128 http_port 3128 transparent # establece el puerto a 3128 con proxy

    transparente http_port 192.168.1.1:3128 # de igual forma pero enlazado a la IP 192.168.1.1 de manera exclusiva Parmetro coredump_dir.- Establece la ubicacin donde squid almacenara el cache. Por lo general se ubica en el directorio /var/spool/squid. Ejempo: coredump_dir /var/spool/squid # Ubicacin del cache de squid Parmetro cache_mem.- Este parmetro establece cuanto de memoria RAM utilizara squid como cache de objetos (solicitudes de los usuarios). Ejemplo: cache_mem 8 MB

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 24

    Parmetro cache_dir.- El parmetro cache_dir se utiliza para establecer que tamao se desea que tenga el cach en el disco duro para Squid. Ejemplo:

    cache_dir ufs /var/spool/squid 100 16 256 Esto establece un cache en disco con 100 MB de capacidad, con 16 directorios subordinados y 256 niveles subordinados bajo cada uno de los 16 anteriores. Si desea un cache de 780 MB, 24 directorios de primer nivel con 180 subniveles cada uno, la lnea deber verse de esta manera:

    cache_dir ufs /var/spool/squid 780 24 180 Parmetro access_log.- Establece la ubicacin del archivo de log y su formato de almacenamiento y/o registro. Por defecto utiliza el formato squid, pero se puede modificar usando la etiqueta logformat. Ejemplo: access_log /var/log/squid/access.log squid

    3.6 Herramientas: Listas de Control de Acceso (ACL). Esta etiqueta permite crear los elementos que sern procesados por el demonio squid y estarn sujetas a las restricciones que el administrado establezca para ellos. Se definen listas de control de acceso (Access Control List ACL) para cada elemento que utilice el demonio squid ya sea como miembro de la red local o como elemento de restriccin de navegacin. Cada lista de control de acceso definida debe empezar con un nombre y un tipo, seguido de los argumentos segn el tipo especificado de lista. Los argumentos pueden estar definidos explcitamente o agrupados en archivos cuyo nombre debe estar entre comillas dobles. Ejemplos de listas de control de acceso:

    a) acl redlocal src 192.168.1.0/24 b) acl adultos src /etc/squid/bloqueados/sin-acceso c) acl gerencia src 192.168.1.34-192.168.1.45/32 d) acl porno url_regex src -i /etc/squid/negados

    En estos ejemplos redlocal, adultos, gerencia y porno son los nombres de las listas de control definidas. La etiqueta src establece los parmetros que forman parte de las listas. Se pueden establecer los parmetros en archivos como en el ejemplo b) y d). En estos casos, se debe colocar un argumento por lnea. La etiqueta url_regex define otro tipo de lista la cual busca la presencia de los argumentos almacenados en el archivo sin-acceso, en la URL del navegador web del cliente. Luego, se aplica las restricciones correspondientes.

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 25

    3.7 Mecanismos de control de navegacin: etiqueta http_access.- Esta etiqueta permite establecer la salida a la navegacin o negar dicho permiso segn lo establezca en administrador de la red. Una vez definida la lista de control y establecidos sus argumentos, procedemos a permitir o negar la salida segn criterio. Ejemplo: Para el ejemplo anterior, la lista c) debe navegar sin ninguna restriccin; entonces establecemos su etiqueta de la siguiente manera:

    acl gerencia src 192.168.1.34-192.168.1.45/32

    http_access allow gerencia De esta forma, los miembros de la lista gerencia pueden empezar a navegar sin problema a travs del proxy squid. Las listas adultos y porno definen listas con elementos restringidos para su navegacin; por lo tanto ambas estarn definidas de la siguiente manera:

    acl adultos src /etc/squid/bloqueados/sin-acceso acl porno url_regex src -i /etc/squid/negados

    http_access deny adultos porno Si las listas de control de acceso pertenecen todas a una misma red local, podemos establecer nuestras reglas de la siguiente manera:

    acl gerencia src 192.168.1.34-192.168.1.45/32 acl adultos src /etc/squid/bloqueados/sin-acceso acl porno url_regex src -i /etc/squid/negados acl redlocal src 192.168.1.0/24

    http_access allow gerencia http_access deny adultos http_access deny porno http_access allow redlocal

    Reinicie el demonio squid ( /etc/init.d/squid restart ) y verifique la navegacin de los clientes y las restricciones correspondientes. No se olvide de crear los archivos sin-acceso y negados con los argumentos a restringir. Coloque los elementos a restringir en ambos archivos.

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 26

    FIREWALL AntiVirus Control de contenido malicioso usando Linux

    4.1 Firewall antivirus Las conexiones a internet son puertas traseras subestimadas para los malware en su computador. Si usted transfiere informacin sin filtrar desde internet a su computador personal, lo que esta logrando es propagar toso tipo de archivos maliciosos aparte de contagiarse de todo tipo de malware hacia la red local de su empresa u oficina. Un firewall trabaja a nivel de la capa de red y de transporte segn ambos modelos de red vigentes en el mundo de las redes informticas:

    En este punto, veremos como aadir un nivel ms de proteccin contra este tipo de software malicioso que fcilmente se propaga por internet simplemente por el hecho de estar conectado sin ningn tipo de proteccin. NOTA: este mecanismo de ninguna manera trata de remplazar a las protecciones que cada computadora de la red local posea. De ninguna manera desactive o peor aun, desinstale el antivirus de cada maquina de la red local. Este procedimiento solo aade un nivel de proteccin adicional al antivirus personal de cada PC.

    4.2 Implementar un firewall antivirus usando AVIRA antivirus AVIRA antivirus es una buena eleccin para implementar un firewall antivirus por una buena razn: es muy fcil de implementar usando Linux. No hay configuraciones avanzadas, tampoco hay que instalar software muy avanzado (aparte del antivirus, claro esta) sino que una vez instalado el antivirus, configuramos el software y reiniciamos el programa. El costo es promedio comparado con algunos programas del mismo nivel. Para este procedimiento se necesita reconfigurar el acceso de los clientes de la red local para que accedan directamente al software antivirus instalado en el servidor firewall. Este software es bastante sencillo de configurar. Es uno de los mas baratos del mercado; sin embargo el usuario siempre debe verificar si esta en el ranking de los TOPS frente a otros competidores del mercado.

    Aplicacin

    Presentacin

    Sesin

    Transporte

    Red

    Enlace

    Fsica

    TCP UDP

    IP

    Aplicacin

    Modelo OSI Modelo TCP/IP

    Soporte De

    Red

    Firewall en capa de RED y TRANSPORTE:

    NETFILTER.

    Firewall en capa de APLICACION:

    SQUID, ANTIVIRUS.

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 27

    4.3 Los tipos de malware Para entender qu tipos de amenazas para sus datos existen, es til saber qu tipos de malware existen y cmo esos funcionen. En general se puede dividir el malware en los siguientes clases:

    Tipo Caractersticas Virus clsicos Programas que infectan a otros programas por aadir su cdigo

    para tomar el control despus de ejecucin de los archivos infectados. El objetivo principal de un virus es infectar. La velocidad de propagacin de los virus es algo menor que la de los gusanos.

    Gusanos de red Este tipo de malware usa los recursos de red para distribuirse. Su nombre implica que pueden penetrar de un equipo a otro como un gusano. Lo hacen por medio de correo electrnico, sistemas de mensajes instantneos, redes de archivos compartidos (P2P), canales IRC, redes locales, redes globales, etc. Su velocidad de propagacin es muy alta. Al penetrar un equipo, el gusano intenta obtener las direcciones de otros equipos en la red para empezar enviarles sus copias. Tambin suelen usar los datos del libro de contactos del cliente de correo electrnico. La mayora de los gusanos se propagan en forma de archivos pero existe una pequea cantidad de gusanos que se propagan en forma de paquetes de red y penetran directamente la memoria RAM del equipo vctima, donde a continuacin ejecutan su cdigo.

    Caballos de Troya, troyanos Esta clase de programas maliciosos incluye una gran variedad de programas que efectan acciones sin que el usuario se d cuenta y sin su consentimiento: recolectan datos y los envan a los criminales; destruyen o alteran datos con intenciones delictivas, causando desperfectos en el funcionamiento del ordenador o usan los recursos del ordenador para fines criminales, como hacer envos masivos de correo no solicitado. No son virus clsicos porque no infecta otros programas o datos. Los troyanos no pueden penetrar a los equipos por si mismo, sino se propagan por los criminales bajo la vela de algn software deseable. Son capaz de causar mucho ms dao que los virus clsicos.

    Spyware Software que permite colectar la informacin sobre un usuario/organizacin de forma no autorizada. Su presencia puede ser completamente invisible para el usuario. Pueden colectar los datos sobre las acciones del usuario, el contenido del disco duro, software instalado, calidad y velocidad de la conexin, etc. Pero no es su nica funcin. Son conocidos por lo menos dos programas (Gator y eZula) que permiten tambin controlar el equipo. El otro ejemplo de programas espas son los programas

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 28

    que instalan su cdigo el navegador de Internet para redireccionar el trfico. Posiblemente haya visto cmo funcionan, cuando en cambio de la pgina web solicitada se abre una otra.

    Phishing Es una variedad de programas espas que se propaga a travs de correo. Metan recibir los datos confidenciales del usuario, de carcter bancario preferente. Los emails phishing estn diseadas para parecer igual a la correspondencia legal enviada por organizaciones bancarias, o algunos brands conocidos. Tales emails contienen un enlace que redirecciona al usuario a una pgina falsa que va a solicitar entrar algunos datos confidenciales, como el numero de la tarjeta de crdito.

    Adware Muestran publicidad al usuario. La mayora de programas adware son instalados a software distribuido gratis. La publicidad aparece en la interfaz. A veces pueden colectar y enviar los datos personales del usuario.

    Riskware No son programas maliciosos pero contienen una amenaza potencial. En ciertas situaciones ponen sus datos a peligro. Incluyen programas de administracin remota, marcadores, etc.

    Bromas Este grupo incluye programas que no causan ningn dao directo a los equipos que infectan. No obstante, muestran advertencias falsas sobre supuestos daos ocurridos o por ocurrir. Pueden ser mensajes advirtiendo a los usuarios de que los discos se han formateado, que se ha encontrado un virus o se han detectado sntomas de infeccin. Las posibilidades son limitadas slo por el sentido del humor del autor del virus.

    Rootkits Un rootkit es una coleccin de programas usados por un hacker para evitar ser detectado mientras busca obtener acceso no autorizado a un ordenador. Esto se logra de dos formas: reemplazando archivos o bibliotecas del sistema; o instalando un mdulo de kernel. El hacker instala el rootkit despus, obteniendo un acceso similar al del usuario: por lo general, craqueando una contrasea o explotando una vulnerabilidad, lo que permite usar otras credenciales hasta conseguir el acceso de raiz o administrador.

    Otros programas maliciosos Son una serie de programas que no afectan directamente a los ordenadores, pero que se usan para crear virus, troyanos o para realizar actividades ilegales como ataques DoS y penetrar en otros ordenadores, etc.

    Spam Los mensajes no solicitados de remitente desconocido enviados en cantidades masivas de carcter publicitario, poltico, de propaganda, solicitando ayuda, etc. Un otro clase de spam hacen las propuestas relacionadas con varias operaciones ilegales con dinero o participacin en algn supernegocio. Tambin hay emails dedicados a robo de contraseas o nmeros de tarjetas de crdito, cartas de cadena, etc. Spam genera una carga adicional a los servidores de correo y puede causar prdidas de la informacin deseada.

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 29

    4.4 Como trabaja SQUID con AVIRA antivirus El siguiente diagrama ilustrara un poco el manejo de este antivirus y su sencilla configuracin para aadir un nivel ms de proteccin a nuestra red local SOHO o empresarial:

    Esquema de trabajo entre el kernel y el proxy squid. La doble lnea de color rojo a la derecha indica

    que la solicitud HTTP del cliente XP la realiza el proxy squid directamente.

    Ahora, aadimos el antivirus AVIRA al firewall, lo configuramos y debe quedar de la siguiente manera:

    Esquema de trabajo con el antivirus aadido al firewall. Note los cambios en los puertos de las

    aplicaciones en cuestin.

    En el caso del firewall antivirus, se realiza un cambio en los puertos en los cuales escucha cada aplicacin involucrada:

    El proxy squid cambia del puerto 3128 al puerto 8080.

    El antivirus AVIRA toma el puerto 3128 y deriva las solicitudes al puerto 8080 del squid.

    KERNEL

    SQUID puerto 3128

    Cliente XP

    Solicitud HTTP al kernel

    Squid solicita pgina WEB

    Servidor WEB

    KERNEL

    Squid solicita pgina WEB

    Servidor WEB

    Cliente XP

    Solicitud HTTP al kernel

    SQUID puerto 8080

    AVIRA puerto 3128

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 30

    La comunicacin entre el proxy y el antivirus es vital para el filtrado de los virus.

    Los mejores antivirus del mercado para un servidor firewall por lo general son con licencia. La mayora tienen un costo accesible para el entorno empresarial. Es preferible invertir en una licencia anual cuyo costo aproximado varia entre 80 y 170 dlares americanos. Existen para todos los gustos, pero en mi modesta opinin, AVIRA se ajusta a un costo accesible para un buen producto antivirus.

    4.5 Mdulos de AVIRA Antivirus Webgate Este software de seguridad antivirus consiste en los siguientes mdulos:

    Motor Antivirus

    Actualizador

    Programa Principal Webgate

    Libreras de filtrado URL

    Libreras de control de acceso y contenidos Web

    Motor Antivirus. Representa el motor de bsqueda y reparacin de mdulos del software antivirus.

    Actualizador. Este programa descarga las actualizaciones desde los servidores web de Avira Antivirus y los instala a intervalos regulares, manual o automticamente. Tambin enva notificaciones de actualizaciones a travs del correo electrnico. Puede actualizar el software en su totalidad o por componentes: motor, firmas o el scanner de virus.

    Programa Principal Webgate. Este programa es el sistema central del antivirus. Supervisa el acceso a los servicios HTTP y FTP a travs de la red internet. Detecta virus y programas no deseados utilizando el Motor Antivirus.

    Librera de Filtrado de URL Avira. El Antivirus WEBGATE de AVIRA usa un filtro local para determinar si un URL es peligroso, basado en una lista de URL, agrupados en tres categoras: Malware, Phishing y Fraude. Para incrementar su seguridad, Avira URL Filter esta activada encada instalacin valida de AVIRA WEBGATE. Librera de Control de Acceso y Contenido AVIRA. AntiVir WebGate permite a los clientes filtrar las solicitudes de salida sobre la base de categoras de URL, tales como Violencia, Juegos de Azar, Ertico, etc.

    ALGUNOS ENLACES DE INTERES

    PC-MAGAZINE.

    http://www.pcmag.com/article2/0,2817,2372364,00.asp http://dottech.org/freeware-reviews/14151/

    http://www.pcmag.com/article2/0,2817,2372364,00.asphttp://dottech.org/freeware-reviews/14151/

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 31

    Cifrado de datos y Clave Pblica 5.1 Criptografa: Seguridad en la transferencia de datos

    5.1.1 Trminos ms usados en criptografa.

    Texto claro o texto plano: Es la informacin original, generada usando programas tpicos de software tales como procesadores de texto y/o bases de datos, hojas de clculo, etc. Puede ser leda sin ningn problema.

    Texto cifrado o codificado: La informacin resultante despus de cifrar un texto plano. Esta informacin no es legible (no es posible de entender).

    Cifrar: Operacin de pasar un texto claro a texto codificado. Descifrar: Paso contrario a cifrar, convertir un texto cifrado o criptograma a texto

    plano. Clave: Informacin secreta que es usada para codificar y descodificar los textos. Es la

    llave (o las llaves) que abre la puerta. Algoritmo de clave simtrica: Algoritmo de cifrado que utiliza para cifrar y descifrar la

    misma clave. Estos algoritmos se caracterizan por ser muy rpidos en cifrar-descifrar, no aumenta el volumen de informacin y son casi imposible de romper obtener la informacin del texto claro sin saber la clave. Como ejemplo de algoritmo de clave simtrica tenemos a AES, 3DES o LOKI por citar dos de los muchos. El problema es que solo deben ser usados en forma local, pues por cada pareja de usuarios se debe crear, en teora, una clave simtrica.

    Algoritmo de clave pblica o asimtricos: Algoritmos que utilizan diferentes clave para cifrar (clave pblica) y descifrar (clave privada). Son ms lentos, aumentan el volumen de informacin, necesitan una longitud de clave mayor para alcanzar o intentar aproximarse a los algoritmos simtricos, requieren ms potencia de clculo por lo cual ms tiempo, para cifrar y descifrar. Todos los algoritmos modernos RSA y El Gamal por nombrar algunos son asimtricos.

    5.2 Qu es la criptografa? La criptografa es la ciencia de usar las matemticas para cifrar y descifrar datos. Una vez que la informacin ha sido cifrada, puede ser almacenada en un medio inseguro o enviada a travs de una red insegura (como Internet) y aun as permanecer secreta. Luego, los datos pueden descifrase a su formato original.

    5.3 Qu es el proceso de encriptacin y des-encriptacin? La encriptacin es el proceso en el cual los datos a proteger son traducidos a algo que parece aleatorio y que no tiene ningn significado (los datos encriptados o cifrados). La des-encriptacin es el proceso en el cual los datos encriptados son convertidos nuevamente a su forma original (es decir, informacin totalmente legible).

    5.4 Qu es un algoritmo criptogrfico? Un algoritmo criptogrfico, o de cifrado, es una funcin matemtica usada en los procesos de encriptacin y des-encriptacin. Un algoritmo criptogrfico trabaja en combinacin con una llave (un nmero, palabra, frase, o contrasea) para cifrar y descifrar datos. Para cifrar, el

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 32

    algoritmo combina matemticamente la informacin a proteger con una llave provista. El resultado de este clculo son los datos encriptados. Para descifrar, el algoritmo hace un clculo combinando los datos encriptados con una llave provista, siendo el resultado de esta combinacin los datos originales (exactamente igual a como estaban antes de ser encriptados si se us la misma llave). Si la llave o los datos son modificados el algoritmo produce un resultado diferente. El objetivo de un algoritmo criptogrfico es hacer tan difcil como sea posible descifrar los datos sin utilizar la llave. Si se usa un algoritmo de encriptacin realmente bueno, entonces no hay ninguna tcnica significativamente mejor que intentar metdicamente con cada llave posible. Incluso para una llave de slo 40 bits, esto significa 240 (poco ms de 1 trilln) de llaves posibles.

    5.5 Qu diferencias hay entre los algoritmos simtricos y los asimtricos? Los algoritmos simtricos cifran y descifran con la misma llave. Las principales ventajas de los algoritmos simtricos son su seguridad y su velocidad. Los algoritmos asimtricos cifran y descifran con diferentes llaves. Los datos se cifran con una llave pblica y se descifran con una privada, siendo sta su principal ventaja. Los algoritmos asimtricos, tambin conocidos como algoritmos de llave (clave) pblica, necesitan al menos una llave de 3.000 bits para alcanzar un nivel de seguridad similar al de uno simtrico de 128 bits. Y son increblemente lentos, tanto que no pueden ser utilizados para cifrar grandes cantidades de informacin. Los algoritmos simtricos son aproximadamente 1.000 veces ms rpidos que los asimtricos.

    5.6 Que es una VPN (Virtual Private Network = Red Privada Virtual) Hace unos aos no era tan necesario conectarse a Internet por motivos de trabajo. Conforme ha ido pasando el tiempo las empresas han visto la necesidad de que las redes de rea local superen la barrera de lo local permitiendo la conectividad de su personal y oficinas en otros edificios, ciudades, comunidades autnomas e incluso pases. Desgraciadamente, en el otro lado de la balanza se encontraban las grandes inversiones que era necesario realizar tanto en hardware como en software y por supuesto, en servicios de telecomunicaciones que permitiera crear estas redes de servicio. Afortunadamente con la aparicin de Internet, las empresas, centros de formacin, organizaciones de todo tipo e incluso usuarios particulares tienen la posibilidad de crear una Red Privada Virtual (VPN) que permita, mediante una moderada inversin econmica y utilizando Internet, la conexin entre diferentes ubicaciones salvando la distancia entre ellas. Realmente una VPN no es ms que una estructura de red corporativa implantada sobre una red de recursos de carcter pblico, como la red internet, pero que utiliza el mismo sistema de gestin y las mismas polticas de acceso que se usan en las redes privadas. Al fin y al cabo no es ms que la creacin, sobre una red pblica, de un entorno de carcter confidencial y privado que permitir trabajar al usuario como si estuviera en su misma red local.

    5.7 Por que una VPN Cuando deseo enlazar mis oficinas centrales con alguna sucursal u oficina remota tengo tres opciones:

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 33

    Modem: Las desventajas es el costo de la llamada, ya que el costo de esta llamada sera por minuto conectado, adems sera una llamada de larga distancia, a parte no contara con la calidad y velocidad adecuadas.

    Lnea Privada: Tendra que tender mi cable ya sea de cobre o fibra ptica de un punto a otro, en esta opcin el costo es muy elevado porque si por ejemplo necesito enlazar mi oficina central con una sucursal que se encuentra a 200 Kilmetros de distancia el costo sera por la renta mensual por Kilmetro. Sin importar el uso.

    VPN: Los costos son bajos porque solo realizo llamadas locales, adems de tener la posibilidad de que mis datos viajen ENCRIPTADOS Y SEGUROS, con una buena calidad y velocidad.

    5.8 Como funciona una VPN Como hemos indicado en un apartado anterior, desde el punto de vista del usuario que se conecta a ella, el funcionamiento de una VPN es similar al de cualquier red normal, aunque realmente para que el comportamiento se perciba como el mismo hay un gran nmero de elementos y factores que hacen esto posible. La comunicacin entre los dos extremos de la red privada a travs de la red pblica se hace estableciendo tneles virtuales entre esos dos puntos y usando sistemas de encriptacin y autentificacin que aseguren la confidencialidad e integridad de los datos transmitidos a travs de esa red pblica. Debido al uso de estas redes pblicas, generalmente Internet, es necesario prestar especial atencin a las cuestiones de seguridad para evitar accesos no deseados. La tecnologa de tneles (Tunneling) es un modo de envo de datos en el que se encapsula un tipo de paquetes de datos dentro del paquete de datos propio de algn protocolo de comunicaciones, y al llegar a su destino, el paquete original es desempaquetado volviendo as a su estado original. En el traslado a travs de Internet, los paquetes viajan encriptados, por este motivo, las tcnicas de autenticacin son esenciales para el correcto funcionamiento de las VPNs, ya que se aseguran a emisor y receptor que estn intercambiando informacin con el usuario o dispositivo correcto. La autenticacin en redes virtuales es similar al sistema de inicio de sesin a travs de usuario y contrasea, pero tienes unas necesidades mayores de aseguramiento de validacin de identidades. La mayora de los sistemas de autenticacin usados en VPN estn basados en sistema de claves compartidas. La autenticacin se realiza normalmente al inicio de una sesin, y luego, aleatoriamente, durante el transcurso de la sesin, para asegurar que no haya algn tercer participante que se haya podido entrometer en la conversacin. Todas las VPNs usan algn tipo de tecnologa de encriptacin, que empaqueta los datos en un paquete seguro para su envo por la red pblica.

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 34

    La encriptacin hay que considerarla tan esencial como la autenticacin, ya que permite proteger los datos transportados de poder ser vistos y entendidos en el viaje de un extremo a otro de la conexin. Existen dos tipos de tcnicas de encriptacin que se usan en las VPN: Encriptacin de clave secreta, o privada, y Encriptacin de clave pblica. En la encriptacin con clave secreta se utiliza una contrasea secreta conocida por todos los participantes que van a hacer uso de la informacin encriptada. La contrasea se utiliza tanto para encriptar como para desencriptar la informacin. Este tipo de sistema tiene el problema que, al ser compartida por todos los participantes y debe mantenerse secreta, al ser revelada, tiene que ser cambiada y distribuida a los participantes, lo que puede crear problemas de seguridad. La encriptacin de clave pblica implica la utilizacin de dos claves, una pblica y una secreta. La primera es enviada a los dems participantes. Al encriptar, se usa la clave privada propia y la clave pblica del otro participante de la conversacin. Al recibir la informacin, sta es desencriptada usando su propia clave privada y la pblica del generador de la informacin. La gran desventaja de este tipo de encriptacin es que resulta ser ms lenta que la de clave secreta. En las redes virtuales, la encriptacin debe ser realizada en tiempo real, de esta manera, los flujos de informacin encriptada a travs de una red lo son utilizando encriptacin de clave secreta con claves que son vlidas nicamente para la sesin usada en ese momento.

    TUNEL CIFRADO - VPN

    INTERNET

    Cliente Remoto

    Extremos del Tnel Cifrado

    LAN Remota LAN Remota

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 35

    Red Privada Virtual con OpenVPN Introduccin 6.1 OpenVPN OpenVPN es una solucin de conectividad basada en software: SSL (Secure Sockets Layer) para VPN (Virtual Private Network, Red Virtual Privada). OpenVPN ofrece conectividad punto-a-punto con validacin jerrquica de usuarios y host conectados remotamente, resulta una muy buena opcin en tecnologas Wi-Fi (redes inalmbricas EEI 802.11) y soporta una amplia configuracin, entre ellas balanceo de cargas. Est publicado bajo la licencia GPL, de software libre. Trabaja en la capa de Transporte del modelo TPC/IP. El proyecto OpenVPN desarrolla una implementacin de VPS basadas n SSL/TLS. Las razones de su desarrollo son las limitaciones y problemas de IPSec y el rpido desarrollo de SSL. Se trata de un producto de software libre liberado bajo los trminos de la GPL que fue creado por James Yonan en el ao 2001.

    6.2 Caractersticas principales

    El componente principal es el driver tun/tap utilizado para simular interfaces de red, que se encarga de levantar el tnel y encapsular los paquetes a travs del enlace virtual

    Encriptacin y autenticacin con OpenSSL

    Utiliza un nico puerto TCP o UDP fcil para firewalls

    Multiplataforma misma herramienta funcionando sobre distintos SO vs implementaciones diferentes de un mismo estndar en distintas arquitecturas

    Compresin de datos LZO

    6.3 Algunos problemas

    No es compatible con IPSec, el estandar para soluciones VPN

    Comunidad no muy amplia

    Faltan dispositivos con clientes OpenVPN integrados

    6.4 Modos de funcionamiento

    Modo tnel Emplea el driver tun y es utilizado para crear tneles virtuales operando con el protocolo IP

    Modo puente Utiliza el driver tap y es empleado para tneles que encapsulan directamente paquetes Ethernet. Se recomienda en las siguientes situaciones:

    La VPN necesita encapsular protocolos no-IP

    Se ejecutan aplicaciones que necesitan network broadcasts

    No se cuenta con un servidor Samba y se necesita que los usuarios puedan navegar por los ficheros compartidos

  • Sistemas UNI

    Linux Seguridad en Redes Pg. 36

    6.5 Autenticacin La autenticacin de los extremos remotos de una conexin SSL/TLS est basada en el modelo de claves asimtricas RSA. Los participantes intercambian sus claves pblicas a travs de certificados digitales X.509, que han sido firmados previamente por una Autoridad de Certificacin en la que se confa.

    Estructura de un cliente OpenVPN conectndose a la red local

  • Sistemas UNI

    Linux Seguridad en Redes Gua de Laboratorios Pg. 37

    Gua de

    Actividades de Laboratorios

  • Linux Seguridad en Redes Gua de laboratorios

    Actividad 1.1.1 Creacin del entorno de trabajo

    38

    Actividad 1.1.1: Creacin del entorno de trabajo

    Objetivos de aprendizaje

    Al completar esta actividad usted podr:

    Identificar la funcin de un ruteador en la red.

    Crear un ruteador bsico usando la maquina host aplicando IP Alias.

    Activar la funcin de encaminamiento en dispositivos Linux.

    Revisin de la tabla de rutas de la maquina.

    Informacin bsica

    El ruteador es un dispositivo fundamental en las redes basadas en el protocolo TCP/IP. Este dispositivo permite que las redes conectadas entre si formen una internet usando direcciones lgicas para su total identificacin y comunicacin entre ellas.

    Simularemos la funcin de este dispositivo utilizando las caractersticas del sistema operativo Linux de permitir el encaminamiento IP (IP-Forward) entre direcciones IP asignadas a una misma interface de red mediante la caracterstica IP Alias. Luego revisaremos la tabla de

    rutas de un router. Esta tarea se probara en la maquina real CentOS.

    Una vez aclarados estos conceptos, crearemos la red de trabajo en el laboratorio. Cada alumno tendr asignado una direccin IP a su maquina virtual firewall Linux y deber activar el encaminamiento IP. La IP asignada estar en el rango de red 172.17.0.0 con mascara de 22 bits; luego se asignara una direccin IP privada en el rango 192.168.0.0 con mascara de 24 bits. As el firewall podr alcanzar la red internet de manera directa.

    Escenario

    Esta actividad se llevara a cabo en la maquina host. Esta maquina deber tener instalado el sistema operativo CentOS 5.x. Adems, la tarjeta de red tendr una IP perteneciente a la red lgica 172.17.0.0/22. Empezaremos con revisar el IP Alias y el IP Forwarding.

    Tarea 1: Identificar la funcin de un ruteador en la red.

    Paso 1: verifique que su host con Linux CentOS posea una IP en la red 172.17.0.0/16. La mascara de red deber ser de 22 bits o depender de la configuracin del laboratorio. Ejecute el comando ifconfig y deber observar lo siguiente:

    [root@server ~]# ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0C:29:24:DD:29 inet addr:172.17.1.21 Bcast:172.17.3.255 Mask:255.255.252.0 inet6 addr: fe80::20c:29ff:fe24:dd29/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:105 errors:0 dropped:0 overruns:0 frame:0 TX packets:129 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:13374 (13.0 KiB) TX bytes:19252 (18.8 KiB) Interrupt:67 Base address:0x2000

    Paso 2: agregue la segunda IP asociada a la red 10.0.0.0/8. Para lo cual ejecute el comando setup, seleccione Configuracin de red y luego tabule hasta llegar a Ejecutar una herramienta, como se muestra en la figura:

  • Linux Seguridad en Redes Gua de laboratorios

    Actividad 1.1.1 Creacin del entorno de trabajo

    39

    Presione Enter, presione Edit Device y luego . La ventana que sigue le preguntara por el tipo de dispositivo a agregar. Seleccione Ethernet y tabule hasta Aadir. Presione Enter y en la siguiente ventana llene los datos de la segunda IP asignada (Alias). Esto deber quedar de la siguiente manera:

    Al presionar aparecer la ventana anterior y el dispositivo nuevo agregado:

    Finalmente, presione Guardar, Guardar y Cerrar y finalmente Salir.

  • Linux Seguridad en Redes Gua de laboratorios

    Actividad 1.1.1 Creacin del entorno de trabajo

    40

    Paso 3: reinicie el servicio de red y verifique que la nueva IP asignada este activa. [root@server ~]# /etc/init.d/network restart Interrupcin de la interfaz eth0: [ OK ] Interrupcin de la interfaz de loopback: [ OK ] Activacin de la interfaz de loopback: [ OK ] Activando interfaz eth0: [ OK ] [root@server ~]# [root@server ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:24:DD:29 inet addr:172.17.1.21 Bcast:172.17.3.255 Mask:255.255.252.0 inet6 addr: fe80::20c:29ff:fe24:dd29/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1191 errors:0 dropped:0 overruns:0 frame:0 TX packets:1161 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:105611 (103.1 KiB) TX bytes:374918 (366.1 KiB) Interrupt:67 Base address:0x2000 eth0:0 Link encap:Ethernet HWaddr 00:0C:29:24:DD:29 inet addr:10.0.0.1 Bcast:10.255.255.255 Mask:255.0.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:67 Base address:0x2000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:36 errors:0 dropped:0 overruns:0 frame:0 TX packets:36 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:4224 (4.1 KiB) TX bytes:4224 (4.1 KiB) [root@server ~]#

    Paso 4: A continuacin, verifique la conectividad entre las maquinas de sus compaeros exclusivamente en la red 10.0.0.0/8. Para esto utilice el comando ping entra sus compaeros. Debe responder cada una de las maquinas del laboratorio. Ejemplo: [root@server ~]# ping 10.0.0.31 -c 3 PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data. 64 bytes from 10.0.0.31: icmp_seq=1 ttl=64 time=0.109 ms 64 bytes from 10.0.0.31: icmp_seq=2 ttl=64 time=0.109 ms 64 bytes from 10.0.0.31: icmp_seq=3 ttl=64 time=0.040 ms --- 10.0.0.31 ping statistics --- 3 packets transmitted, 10 received, 0% packet loss, time 9005ms rtt min/avg/max/mdev = 0.040/0.055/0.109/0.028 ms [root@server ~]#

    Verifique tambin que la configuracin actual este siempre activa aunque se reinicie la maquina, ejecutando el comando init 6 en la maquina host.

    Tarea 2: Activar encaminamiento IP (IP Forwarding) en el host.

    Paso 1: edite el archivo sysctl.conf ubicado en el directorio /etc. Este archivo permite modificar o alterar ciertos parmetros de configuracin de red en el kernel de Linux. Modifique la lnea que contiene el parmetro net.ipv4.ip_forward = 0 y coloque al final el valor 1. [root@server ~]# vim /etc/sysctl.conf Una pequea parte del archivo que usted observara ser el siguiente: # Kernel sysctl configuration file for Red Hat Linux # # For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and # sysctl.conf(5) for more details. # Controls IP packet forwarding net.ipv4.ip_forward = 1 # Controls source route verification net.ipv4.conf.default.rp_filter = 1

  • Linux Seguridad en Redes Gua de laboratorios

    Actividad 1.1.1 Creacin del entorno de trabajo

    41

    Paso 2: para activar esta funcin en el kernel y mantenerlo en forma permanente, ejecutamos el comando sysctl p y veremos en pantalla lo siguiente:

    [root@server ~]# sysctl -p net.ipv4.ip_forward = 1 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536

    Tarea 3: Activar IP Masquerading en el host.

    Paso 1: crear el archivo firewall.sh en el directorio del usuario root y colocar lo siguiente:

    #!/bin/bash clear echo Activando Masquerading en el host IPT=/sbin/iptables $IPT -F $IPT -X $IPT -F -t nat $IPT -X -t nat $IPT -t nat -A POSTROUTING -s 10.0.0.0/8 -j SNAT --to 172.17.1.21

    Paso 2: colocar el archivo en el directorio /etc y asignarle los permisos 700:

    [root@server ~]# cp firewall.sh /etc/ [root@server ~]# chmod 700 /etc/firewall.sh [root@server ~]# ll /etc/firewall.sh -rwx------ 1 root root 197 ene 4 22:56 /etc/firewall.sh [root@server ~]#

    Paso 3: aada la siguiente lnea al archivo /etc/rc.local y finalmente reinicie la maquina host.

    sh /etc/firewall.sh

    Paso 4: analice la tabla de rutas del kernel de Linux y verifique que el acceso a la red 10.0.0.0

    este activo.

    Paso 5: instale una maquina WINXP y asgnele una IP en la red 192.168.0.0. Verifique que la

    maquina pueda navegar sin problemas por internet.

    Paso 6: elimine la IP Alias de la maquina real CentOS. Elimine el script firwall.sh y desactive el

    IP Forwarding. Reinicie la maquina del laboratorio.

    FIN DEL LABORATORIO

  • Linux Seguridad en Redes Gua de laboratorios

    Actividad 2.2.2 Instalacin del Firewall

    42

    Actividad 2.2.2: Instalacin del Firewall

    Objetivos de aprendizaje

    Al completar esta actividad usted podr:

    Instalar un equipo como un dispositivo firewall.

    Configurar las funciones bsicas del firewall.

    Aadir interfaces de red adicionales al firewall.

    Activar la funcin del ruteador en el firewall.

    Informacin bsica

    Una de las distribuciones Linux de mayor estabilidad y ergonmicas a diferencia de sus hermanas. Esta distribucin es una de la mas antigua que fue fundado el ao 1993. Funciona para varias arquitecturas (i386, amd63, sparc, alpha, powerpc entre otras). Los nombres de las versiones de Debian son tomados de los personajes de la pelcula Toy Story.

    Esta distribucin tiene la caracterstica de arrancar en el nivel de ejecucin 2. Esto permite reducir el nmero de aplicaciones instaladas innecesariamente y evitar mayores riesgos por bugs en paquetes en prueba. El kernel es bastante estable y para aplicaciones en produccin es bastante ideal.

    A diferencia de CentOS, para la configuracin de dispositivos de red se utiliza normalmente el mismo archivo (/etc/network/interfaces). La configuracin de los parmetros de networking, se utiliza el mismo archivo, es decir, /etc/sysctl.conf. Aqu activamos el IP Forwarding entre tarjetas de red.

    Finalmente, se revisan ciertos herramientas de lnea de comandos para manipular de manera rpida y efectiva Linux Debian.

    Escenario

    A partir de esta ACTIVIDAD el escenario de trabajo se realiza ntegramente en maquinas virtuales utilizando para este efecto el software VMWare para Linux. El firewall y la red local que se va a utilizar como escenario de trabajo se virtualiza ntegramente bajo este software. Las direcciones IP de red se asignaran durante el desarrollo del laboratorio.

    Tarea 1: Instalar el firewall en maquina virtual.

    Paso 1: instale la maquina virtual que se utilizara como firewall en la clase. Esta maquina debe poseer las siguientes caractersticas:

    a) Procesador = 01 CPU, 01 Ncleo

    b) RAM = 512 MB

    c) Disco duro = 40 GB

    d) Interface de disco duro = SCSI

    e) Tarjeta de red = Bridged (deber aadir dos (02) tarjetas al firewall)

  • Linux Seguridad en Redes Gua de laboratorios

    Actividad 2.2.2 Instalacin del Firewall

    43

    Paso 2: proceda con la instalacin del sistema operativo L