Vous êtes sur la page 1sur 190

Routing & Internetworking

Unixware Corba Microsoft Linux Local Sun Novell Apple Talk PoweRed Windows Solaris Netware

Ing. Eduardo A. Aparicio C. CCNP

Seguridad & Conectividad


Seguridad Bsica Servidor Proxy Firewalls Conectividad Linux Windows Correo Electrnico Ruteo y Encaminamiento IP Configuracin de Routers

Ing. Eduardo A. Aparicio C.

Pgina 2

Seguridad bsica de servicios de red

No se pueden empezar a asegurar servicios hasta que no se sepa qu se est ejecutando. Para este tipo de tareas, ps y netstat no tienen precio; ps dice qu se est ejecutando (httpd, inetd, etc.) y netstat te dir cul es el estado de los puertos (llegados a este punto, estamos interesados en los puertos que estn abiertos y escuchando, es decir, esperando conexiones). Se les puede echar un vistazo a los diferentes ficheros de configuracin que controlan los servicios de red.

Salida de ps

El programa ps nos muestra el estado de procesos (informacin disponible en el sistema de ficheros virtual /proc). Las opciones ms comnmente utilizadas son "ps -xau", que muestra algo as como toda la informacin que siempre quisiste saber. Por favor, ten en cuenta: estas opciones cambian entre sistemas Unix, Solaris, SCO, todos se comportan de manera diferente (lo cual es increblemente molesto). Lo que viene a continuacin es una salida tpica de una mquina (utilizando "ps -xau"). USER PID %CPU %MEM SIZE RSS TTY STAT START TIME COMMAND bin 320 0.0 0.6 760 380? S Feb 12 0:00 portmap daemon 377 0.0 0.6 784 404? S Feb 12 0:00 /usr/sbin/atd named 2865 0.0 2.1 2120 1368? S 01:14 0:01 /usr/sbin/named -u named -g named t/home/named nobody 346 0.0 18.6 12728 11796? S Feb 12 3:12squid nobody 379 0.0 0.8 1012 544? S Feb 12 0:00 (dnsserver) nobody 380 0.0 0.8 1012 540? S Feb 12 0:00 (dnsserver) nobody 383 0.0 0.6 916 416? S Feb 12 0:00 (dnsserver) nobody 385 0.0 0.8 1192 568? S Feb 12 0:00 /usr/bin/ftpget -S 1030 nobody 392 0.0 0.3 716 240? S Feb 12 0:00 (unlinkd) nobody 1553 0.0 1.8 1932 1200? S Feb 14 0:00 httpd nobody 1703 0.0 1.8 1932 1200? S Feb 14 0:00 httpd root 1 0.0 0.6 776 404? S Feb 12 0:04 init [3] root 2 0.0 0.0 0 0? SW Feb 12 0:00 (kflushd) root 3 0.0 0.0 0 0? SW Feb 12 0:00 (kswapd) root 4 0.0 0.0 0 0? SW Feb 12 0:00 (md_thread) root 64 0.0 0.5 736 348? S Feb 12 0:00 kerneld root 357 0.0 0.6 800 432? S Feb 12 0:05 syslogd root 366 0.0 1.0 1056 684? S Feb 12 0:01 klogd root 393 0.0 0.7 852 472? S Feb 12 0:00 crond root 427 0.0 0.9 1272 592? S Feb 12 0:19 /usr/sbin/sshd root 438 0.0 1.0 1184 672? S Feb 12 0:00 rpc.mountd root 447 0.0 1.0 1180 644? S Feb 12 0:00 rpc.nfsd root 458 0.0 1.0 1072 680? S Feb 12 0:00 /usr/sbin/dhcpd root 489 0.0 1.7 1884 1096? S Feb 12 0:00 httpd root 503 0.0 0.4 724 296 2 S Feb 12 0:00 /sbin/mingetty tty2 root 505 0.0 0.3 720 228? S Feb 12 0:02 update (bdflush) root 541 0.0 0.4 724 296 1 S Feb 12 0:00 /sbin/mingetty tty1 root 1372 0.0 0.6 772 396? S Feb 13 0:00 inetd root 1473 0.0 1.5 1492 1000? S Feb 13 0:00 sendmail: accepting connections on port 25 root 2862 0.0 0.0 188 44? S 01:14 0:00 /usr/sbin/holelogd.named /home/named/dev/log root 3090 0.0 1.9 1864 1232? S 12:16 0:02 /usr/sbin/sshd root 3103 0.0 1.1 1448 728 p1 S 12:16 0:00 su -root 3104 0.0 1.3 1268 864 p1 S 12:16 0:00 -bash root 3136 0.0 1.9 1836 1212? S 12:21 0:04 /usr/sbin/sshd Los interesantes son: portmap, named, Squid (y su servidor dns, los procesos hijos unlinkd y ftpget), httpd, syslogd, sshd, rpc.mountd, rpc.nfsd, dhcpd, inetd, y sendmail (este servidor parece estar proveyendo servicios de puerta de enlace, correo y comparticin de ficheros fns). La forma ms fcil de aprender a leer la salida de ps es irse a la pgina del manual de ps y aprender a qu

Ing. Eduardo A. Aparicio C.

Pgina 3

se refiere cada campo (la mayora se explican por s mismos, tales como el %CPU, mientras que algunos como SIZE son un poco ms oscuros: SIZE es el nmero de pginas de memoria de 4k que est utilizando un programa). Para averiguar qu programas se estn ejecutando, una apuesta segura es hacer man <nombre_de_comando>; lo cual casi siempre suele sacar la pgina del manual que pertenece a ese servicio (como httpd). Te dars cuenta de que servicios como telnet, ftpd, identd y otros no aparecen aunque estn ah. Esto es debido a que se ejecutan desde inetd, el "superservidor". Para encontrar estos servicios, mira en /etc/inetd.conf o en la salida de "netstat -vat".

Salida de netstat

netstat informa acerca de casi cualquier cosa que se pueda imaginar relacionada con la red. Es especialmente buena para sacar listados de conexiones y sockets activos. Al usar netstat se puede encontrar qu interfaces estn activas en qu puertos. Lo que viene a continuacin es la salida tpica de un servidor, con netstat an. Active Internet connections (including servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 24.108.11.200:80 205.253.183.122:3661 ESTABLISHED tcp 0 0 0.0.0.0:1036 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 10.0.0.10:53 0.0.0.0:* LISTEN tcp 0 0 28.208.55.254:53 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:635 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN udp 0 0 127.0.0.1:1031 0.0.0.0:* udp 0 0 0.0.0.0:1029 0.0.0.0:* udp 0 0 0.0.0.0:800 0.0.0.0:* udp 0 0 0.0.0.0:1028 0.0.0.0:* udp 0 0 10.0.0.10:53 0.0.0.0:* udp 0 0 28.208.55.254:53 0.0.0.0:* udp 0 0 127.0.0.1:53 0.0.0.0:* udp 0 0 10.1.0.1:138 0.0.0.0:* udp 0 0 10.1.0.1:137 0.0.0.0:* udp 0 0 10.0.0.10:138 0.0.0.0:* udp 0 0 10.0.0.10:137 0.0.0.0:* udp 0 0 0.0.0.0:138 0.0.0.0:* udp 0 0 0.0.0.0:137 0.0.0.0:* udp 0 0 0.0.0.0:2049 0.0.0.0:* udp 0 0 0.0.0.0:635 0.0.0.0:* udp 0 0 0.0.0.0:514 0.0.0.0:* udp 0 0 0.0.0.0:111 0.0.0.0:* raw 0 0 0.0.0.0:1 0.0.0.0:* raw 0 0 0.0.0.0:6 0.0.0.0:* En mi opinin la salida numrica es ms fcil de leer (una vez que se memoriza /etc/services). Los campos que nos interesan son el primero, el tipo de servicio, el cuarto campo, que es la direccin IP de la interfaz y el puerto, la direccin externa (si no es 0.0.0.0.* significa que alguien le est hablando activamente), y el estado del puerto. La primera lnea es un cliente remoto hablando con

Ing. Eduardo A. Aparicio C.

Pgina 4

el servidor de web de esta mquina (puerto 80). Cuando se ve el servidor www escuchando en 0.0.0.0:80 que significa, todos los interfaces, puerto 80, seguidos del servidor DNS ejecutndose en las 3 interfaces, un servidor samba (139), un servidor de correo (25), un servidor NFS (2049), etc. Observars listado el servidor de ftp (21), que aunque se ejecuta desde inetd, y aunque actualmente no est en uso (p. ej., no hay nadie activo haciendo un ftp), sale en el listado de la salida de netstat. Lo cual convierte a netstat en una herramienta especialmente til para averiguar qu es lo que est activo en una mquina, haciendo ms sencillo el inventariado en el servidor del software activo e inactivo.

isof

lsof es un prctico programa cuya idea es similar a la de ps, excepto en que muestra qu ficheros/etc estn abiertos, lo cual puede incluir sockets de red. Desafortunadamente, el lsof medio saca bastante informacin, de modo que ser necesario utilizar grep o redireccionarlo mediante less ("lsof | less") para hacerlo ms cmodo de leer. squid 9726 root 4u inet 78774 TCP localhost:2074->localhost:2073 (ESTABLISHED) squid 9726 root 5u inet 78777 TCP localhost:2076->localhost:2075 (ESTABLISHED) squid 9726 root 6u inet 78780 TCP localhost:2078->localhost:2077 (ESTABLISHED) squid 9726 root 7w CHR 1,3 6205 /dev/null squid 9726 root 14u inet 78789 TCP host1:3128 (LISTEN) squid 9726 root 15u inet 78790 UDP host1:3130 squid 9726 root 16u inet 78791 UDP host1:3130 squid 9726 root 12u inet 167524 TCP host1:3128->host2:3630 (ESTABLISHED) squid 9726 root 17u inet 167528 TCP host1:3424->www.ejemplo.org:http (SYN_SENT) Este ejemplo muestra que se tiene ejecutndose a Squid, escuchando en los puertos 3128 y 3130, las ltimas dos lneas muestran una conexin abierta desde un host interno al servidor de Squid y la accin resultante que ha emprendido Squid para cumplir con la solicitud (ir a www.playboy.com) host1 es el servidor de Squid y host2 es la mquina cliente haciendo la peticin. Es una herramienta que no tiene precio para hacerse una idea exacta de qu es lo que est ocurriendo con tu servidor en la red. Se puede conseguir lsof con algunas distribuciones. Ten en cuenta que las versiones de losf compiladas para las versiones del kernel 2.0.x no funcionarn con el kernel 2.2.x y vice versa, pues hay bastantes cambios. El sitio primario de lsof es: ftp://vic.cc.purdue.edu/pub/tools/unix/lsof/

Seguridad en red

La seguridad de las conexiones en red merecen en la actualidad una atencin especial, incluso por medios de comunicacin no especializados, por el impacto que representan los fallos ante la opinin pblica. El propio desarrollo tanto de Linux, como de la mayora del software que lo acompaa, es de fuentes abiertas. Podemos ver y estudiar el cdigo. Esto tiene la ventaja de que la seguridad en Linux no sea una mera apariencia, sino que el cdigo est siendo escrutado por muchas personas distintas que rpidamente detectan los fallos y los corrigen con una velocidad asombrosa. Si adems comprendemos los mecanismos que se siguen en las conexiones en red, y mantenemos actualizados nuestros programas, podemos tener un nivel de seguridad y una funcionalidad aceptables. Tampoco tienen las mismas necesidades de seguridad un equipo domstico, con conexiones espordicas a Internet, que un servidor conectado permanentemente y que acte como pasarela entre una intranet e Internet. Para describir las pautas de actuacin seguras iremos examinando cmo actan las conexiones y cmo podemos protegerlas.

inetd
Ing. Eduardo A. Aparicio C. Pgina 5

Para atender las solicitudes de conexin que llegan a nuestro equipo existe un demonio llamado inetd que est a la escucha de todos los intentos de conexin que se realicen a su mquina. Cuando le llega una solicitud de conexin ir dirigida a un puerto (nmero de servicio, quizs sea ms claro que puerto), por ejemplo, el 80 sera una solicitud al servidor de pginas web, 23 para telnet, 25 para smtp, etc. Los servicios de red que presta su mquina estn descritos en /etc/inetd.conf (y en /etc/services los nmeros de puertos). Por ejemplo, en /etc/inetd.conf podemos encontrar las siguientes lneas: (...) pop3 stream tcp nowait root /usr/sbin/tcpd ipop3d # imap stream tcp nowait root /usr/sbin/tcpd imapd Esto quiere decir que, cuando llegue una solicitud de conexin al puerto 110 (pop3) se ejecutar el programa /usr/sbin/tcpd ipop3d. Sin embargo, el servicio imap est deshabilitado (est comentado con un # delante), por lo que el sistema no le responde.

Tcp wrapper

El siguiente paso es /usr/sbin/tcpd, que es el tcp_wrapper: un servicio que verifica el origen de las conexiones con su base de datos /etc/hosts.allow (equipos autorizados) y /etc/hosts.deny (equipos a los que se les deniega la conexin). tcpd anota todos los intentos de conexin que le llegan en /var/log/secure para que tenga la posibilidad de saber quin intenta conectarse a su mquina y si lo consigue. Si tcpd autoriza la conexin, ejecuta ipop3d que es el programa que realmente atiende la conexin, ante el cual se tiene que validar el usuario mediante una clave. Observe que ya llevamos tres niveles de seguridad: prestar un servicio, autorizar una conexin y validar un usuario. Un consejo que es conveniente seguir: No tenga abiertos los servicios que no necesita; esto supone asumir un riesgo a cambio de nada. Tampoco limite la funcionalidad del sistema, si tiene que usar un servicio, hgalo sabiendo lo que hace. Tambin hay que asegurarse de que el programa ipop3d no tenga ninguna vulnerabilidad, es decir, que est actualizado. Existen numerosos medios para estar al da de las vulnerabilidades que aparecen. Una buena lista de correo o una revista electrnica tal vez sean la forma ms rpida de conocer los incidentes, las causas y las soluciones. Posiblemente la mejor lista de correo para el mundo Unix sea Bugtraq (busque en frums). Pero esto no es todo, adems puede filtrar las conexiones que le lleguen desde el exterior para que ni siquiera alcancen a los tcp_wrappers. Por ejemplo, en el caso de conexiones a Internet por mdem: ipchains -A input -j DENY -s 0/0 -d $4/32 23 -p tcp -i ppp0 l poniendo la anterior lnea en el fichero /etc/ppp/ip-up (y ipchains -F input en ip-down) estaramos aadiendo (-A) un filtro de entrada (input), que deniega (-j DENY) desde cualquier sitio de internet (-s 0/0) dirigidas a nuestro equipo (-d $4/32) al puerto telnet (23) por tcp (-p tcp) que lleguen desde internet (en este caso -i ppp0) y que adems las anote en el registro de incidencias (-l) ($4 es la direccin IP que obtenemos dinmicamente). El mecanismo de filtrado de conexiones se realiza en el ncleo del sistema operativo y si ha sido compilado con estas opciones. Normalmente lo est. Este filtrado se realiza a nivel de red y transporte: cuando llega un paquete por un interfaz de red se analiza siguiendo los filtros de entrada. Este paquete puede ser aceptado, denegado o rechazado, en este ltimo caso se avisa al remitente. Si los filtros de entrada aceptan el paquete, pasa al sistema si era su destino final o pasa por los filtros de reenvo o enmascaramiento, donde se vuelve a repetir una de las acciones. Por ltimo, los paquetes que proceden del propio sistema o los que han sido aceptados por los filtros de reenvo o enmascaramiento pasan al filtro de salida. En cualquiera de estos filtros se puede indicar que lo anote en el registro de incidencias.

Registro y conocimiento de incidencias


Ing. Eduardo A. Aparicio C. Pgina 6

A parte de todo esto, puede conocer las incidencias que ocurren durante el funcionamiento del sistema. Por un lado conviene familiarizarse con los procesos que se ejecutan habitualmente en una mquina. Es una buena costumbre ejecutar peridicamente ps axu. Cualquier cosa extraa debiramos aclararla. Puede matar cualquier proceso con la orden kill -9 pid (o killall -9 nombre_proceso). Pero en caso de ataque activo, lo mejor es desconectar de la red inmediatamente, si es posible, claro est. Despus tenemos los registros de incidencias (las ubicaciones pueden ser diferentes dependiendo del sistema, pero no radicalmente distintas) de /var/log. Trabajando en modo texto se puede hacer en una consola virtual (como root) tail -f /var/log/messages y tail -f /var/log/secure de esta forma podemos ir viendo las incidencias del sistema. Conviene tambin familiarizarse con las anotaciones que aparecen habitualmente para diferenciarlas de las que puedan presentar un problema. En modo grfico hay un programa llamado ktail que le muestra las incidencias de una forma similar a la anterior.

Comunicaciones seguras

Por ltimo, nos interesar mantener unas comunicaciones seguras para garantizar la privacidad e integridad de la informacin. Actualmente existen las herramientas necesarias para cada necesidad. Podemos usar cifrados simtricos como pgp y gpg para documentos, correo electrnico y comunicaciones sobre canales inseguros. Podemos crear canales de comunicacin seguros de distinto tipo: SSH (Secure Shell) stelnet: SSH y stelnet son programas que le permiten efectuar conexiones con sistemas remotos y mantener una conexin cifrada. Con esto evitamos, entre otras cosas, que las claves circulen por la red sin cifrar. Cryptographic IPCIPE cifra los datos a nivel de red. El viaje de los paquetes entre hosts se Encapsulation (CIPE): hace cifrado. A diferencia de SSH que cifra los datos por conexin, lo hace a nivel de socket. As una conexin lgica entre programas que se ejecutan en hosts diferentes est cifrada. CIPE se puede usar en tunnelling para crear una Red Virtual Privada. El cifrado a bajo nivel tiene la ventaja de poder hacer trabajar la red de forma transparente entre las dos redes conectadas en la RVP sin ningn cambio en el software de aplicacin. SSL: Secure Sockets Layer, fue diseado y propuesto en 1994 por Netscape Communications Corporation junto con su primera versin del Navigator como un protocolo para dotar de seguridad a las sesiones de navegacin a travs de Internet. Sin embargo, no fue hasta su tercera versin, conocida como SSL v3.0 que alcanz su madurez, superando los problemas de seguridad y las limitaciones de sus predecesores. En su estado actual proporciona los siguientes servicios: a) Cifrado de datos: la informacin transferida, aunque caiga en manos de un atacante, ser indescifrable, garantizando as la confidencialidad. b) Autenticacin de servidores: el usuario puede asegurarse de la identidad del servidor al que se conecta y al que posiblemente enve informacin personal confidencial. c) Integridad de mensajes: se impide que modificaciones intencionadas o accidentales en la informacin mientras viaja por Internet pasen inadvertidas. d) Opcionalmente, autenticacin de cliente: permite al servidor conocer la identidad del usuario, con el fin de decidir si puede acceder a ciertas reas protegidas

Consejos finales

Limite las acciones que realice como root al mnimo imprescindible, y sobre todo no ejecute programas desconocidos. Por ejemplo, en un juego (el quake) que distribua una revista haba un

Ing. Eduardo A. Aparicio C.

Pgina 7

programa llamado runme que enviaba por mail las caractersticas de la mquina a una direccin de correo. En este caso se trataba de un troyano inofensivo, pero ofrece una idea de lo que puede hacer un programa ejecutado sin saberse lo que hace. Linux tambin tiene la posibilidad de proporcionar acceso transparente a Internet a una red local mediante ip masquerade. En este caso, si usamos direcciones de red privadas, nos aseguramos que los equipos de la red interna no son accesibles desde Internet si no es a travs del equipo Linux. Tambin podemos instalar un servidor proxy con cach, que a la vez que acta de filtro de conexiones a nivel de aplicacin, puede acelerar el acceso a servicios desde la red local.

Servidores proxy

Un servidor proxy es en principio un equipo que acta como intermediario entre los equipos de una red de rea local (a veces mediante protocolos, con excepcin del protocolo Tcp/ip) e Internet. Generalmente el servidor proxy se utiliza para la web. Se trata entonces de un proxy http. Sin embargo, puede haber servidores proxy para cada protocolo de aplicacin (ftp, etc).

Principio operativo de un servidor proxy

El principio operativo bsico de un servidor proxy es bastante sencillo: se trata de un servidor que acta como "representante" de una aplicacin efectuando solicitudes en Internet en su lugar. De esta manera, cuando un usuario se conecta a Internet con una aplicacin del cliente configurada para utilizar un servidor proxy, la aplicacin primero se conectar con el servidor proxy y le dar la solicitud. El servidor proxy se conecta entonces al servidor al que la aplicacin del cliente desea conectarse y le enva la solicitud. Despus, el servidor le enva la respuesta al proxy, el cual a su vez la enva a la aplicacin del cliente.

Caractersticas

El proxy combinado con un firewall puede proveerle seguridad a una red local (Lan). La
exposicin de la red interna a hackers es menor porque las computadoras no son directamente accesibles desde el otro lado del firewall. El proxy puede funcionar como filtrador de trfico para paquetes de web. Porque toda la informacin pasa con el proxy antes de alcanzar al cliente, puede ser manipulada de maneras tiles. Por ejemplo, el proxy puede leer los paquetes de las peticiones entrantes del http (protocolo usado en www) y botar aquellos procedentes desde host predeterminados. Los administradores podran utilizar esta opcin para evitar que los clientes tengan acceso a sitios pornogrficos (obscenos), por ejemplo. El proxy podra tambin reducir el nmero de comerciales desplegados en las pginas de web.

Ing. Eduardo A. Aparicio C.

Pgina 8

Adems, algunas configuraciones permiten el retiro de pop-up windows (ventanitas pop-up)


indeseadas. El proxy puede disminuir grandemente el tiempo de acceso para todos los clientes. El servidor proxy economiza ancho de banda de la red, cuando se requiera hacer una consulta directa a la red el canal estar descongestionado. Almacena las pginas ms vistas para optimizar ancho de banda y acelerar la navegacin. Con este se puede controlar sobre los sitios que sus empleados visitan, estableciendo un esquema de usuario y contrasea, que adems de filtrar los contenidos indebidos, le permitir sacar todo tipo de estadsticas por usuario, sitios navegados, kbytes etc. En lo sucesivo, con la utilizacin de tcp/ip dentro de redes de rea local, la funcin de retransmisin del servidor proxy est directamente asegurada por pasarelas y routers. Sin embargo, los servidores proxy siguen utilizndose ya que cuentan con cierto nmero de funciones que poseen otras caractersticas.

Beneficios Seguridad

El proxy combinado con firewall puede proveerle seguridad a una red local (lan).
La exposicin de la red interna a hackers es menor porque las computadoras no son directamente accesibles desde el otro lado del firewall.

Los administradores podran utilizar esta opcin para evitar que los clientes tengan acceso a sitios pornogrficos (obscenos). Se puede reducir el nmero de comerciales desplegados en las pginas de web. Algunas configuraciones permiten el retiro de pop-up windows (ventanitas pop-up) indeseadas. Con este se puede controlar sobre los sitios que sus empleados visitan, estableciendo un esquema de usuario y contrasea, que adems de filtrar los contenidos indebidos, le permitir sacar todo tipo de estadsticas por usuario, sitios navegados, kbytes etc. Mediante el proxy el administrador puede restringir a las estaciones los servicios a la red externa Internet/Intranet, asegurando usuarios con y sin acceso, horarios de conexin, lugares autorizados de visita, y navegacin de servicios como chat, netphone y otros, como usted lo prefiera.

Administracin

Requerimientos

Linux version Empresarial Enlace a internet 1gb ram, Disco duro 50gb, Procesador P4

Que incluye el servicio


Instalacin y configuracin de Linux (RedHat Enterprise SuSE Enterprise) Instalacin y configuracin de proxy Instalacin de reglas para filtrado de contenido

La implementacin se lleva a cabo en un da

Tiempo de implementacin

Servicios recomendados

Soporte por evento

Ing. Eduardo A. Aparicio C.

Pgina 9

plizas de soporte 7x24

Almacenamiento en cache

La mayora de los proxy tienen una cach, es decir, la capacidad de guardar en memoria (en cach) las pginas que los usuarios de la red de rea local visitan comnmente para poder proporcionarlas lo ms rpido posible. De hecho, el trmino "cach" se utiliza con frecuencia en informtica para referirse al espacio de almacenamiento temporal de datos (a veces tambin denominado "bfer"). Un servidor proxy con la capacidad de tener informacin en cach (neologismo que significa: poner en memoria oculta) generalmente se denomina servidor "proxy-cach". Esta caracterstica, implementada en algunos servidores proxy, se utiliza para disminuir tanto el uso de ancho de banda en Internet como el tiempo de acceso a los documentos de los usuarios. Sin embargo, para lograr esto, el proxy debe comparar los datos que almacena en la memoria cach con los datos remotos de manera regular para garantizar que los datos en cach sean vlidos.

Filtrado

Por otra parte, al utilizar un servidor proxy, las conexiones pueden rastrearse al crear registros de actividad (logs) para guardar sistemticamente las peticiones de los usuarios cuando solicitan conexiones a Internet. Gracias a esto, las conexiones de Internet pueden filtrarse al analizar tanto las solicitudes del cliente como las respuestas del servidor. El filtrado que se realiza comparando la solicitud del cliente con una lista de solicitudes autorizadas se denomina lista blanca; y el filtrado que se realiza con una lista de sitios prohibidos se denomina lista negra. Finalmente, el anlisis de las respuestas del servidor que cumplen con una lista de criterios (como palabras clave) se denomina filtrado de contenido.

Autenticacin

Como el proxy es una herramienta intermediaria indispensable para los usuarios de una red interna que quieren acceder a recursos externos, a veces se lo puede utilizar para autenticar usuarios, es decir, pedirles que se identifiquen con un nombre de usuario y una contrasea. Tambin es fcil otorgarles acceso a recursos externos slo a las personas autorizadas y registrar cada uso del recurso externo en archivos de registro de los accesos identificados. Este tipo de mecanismo, cuando se implementa, obviamente genera diversos problemas relacionados con las libertades individuales y los derechos personales.

Servidores de proxy inversos

Un proxy inverso es un servidor proxy-cach "al revs". Es un servidor proxy que, en lugar de permitirles el acceso a Internet a usuarios internos, permite a usuarios de Internet acceder indirectamente a determinados servidores internos.

El servidor de proxy inverso es utilizado como un intermediario por los usuarios de Internet que desean acceder a un sitio web interno al enviar sus solicitudes indirectamente. Con un proxy inverso, el servidor web est protegido de ataques externos directos, lo cual fortalece la red

Ing. Eduardo A. Aparicio C.

Pgina 10

interna. Adems, la funcin cach de un proxy inverso puede disminuir la carga de trabajo del servidor asignado, razn por la cual se lo denomina en ocasiones acelerador de servidor. Finalmente, con algoritmos perfeccionados, el proxy inverso puede distribuir la carga de trabajo mediante la redireccin de las solicitudes a otros servidores similares. Este proceso se denomina equilibrio de carga .

Configuracin de un servidor proxy

Sin duda, el proxy ms utilizado es Squid, un software de uso libre y gratuito, disponible para diversas plataformas que incluyen a Windows y Linux. En windows, existen diferentes programas para configurar un servidor proxy en una red de rea local a un bajo costo:

Wingate es la solucin ms comn (pero no es gratuito) La configuracin de un proxy con un servidor Java cada vez es ms comn Windows 2000 incluye Microsoft Proxy Server (MSP), que funciona con Microsoft Proxy Client.

Qu es un proxy?

Un proxy es un sistema de software que permite la conexin de una lan entera al exterior con slo una direccin ip de salida, es decir, si montamos en el servidor principal de la red un modem, tarjeta de red, adaptador RDSI, etc, e instalamos el proxy (Configurando tambin las aplicaciones cliente en los terminales), tendremos acceso al exterior de todos y cada uno de los terminales con una sola cuenta de acceso a internet.

Pero, cmo se consigue esto?

El fundamento es el siguiente: El terminal #1 tiene, por ejemplo el Netscape abierto, y el usuario le introduce http://www.maestrosdelweb.com en la barra de direccin, ahora el cliente del proxy le pide sta direccin al Proxy, y ste es el que realmente se encarga de pedir la direccin pero con su IP y no con la del terminal. Despus, cuando tiene lo que le han pedido, se la enva al terminal que lo ha solicitado (el #1) y le aparece al usuario en su navegador exactamente igual que si solo tuviera una conexin con un proveedor de acceso a internet va mdem.

Ing. Eduardo A. Aparicio C.

Pgina 11

Tambin hay que hacer referencia al cache de que van provistos los proxy, en el cual buscar las peticiones de los usuarios antes que en el exterior de la red, para as agilizar las transmisiones. Aunque por ahora todo son ventajas maravillosas tambin hay algunos peros, como por ejemplo el tema del ancho de banda de conexin. Si la conexin principal al exterior es de x Kbs, al ir aumentando el nmero de usuarios tambin ir bajando el ancho de banda.

Ing. Eduardo A. Aparicio C.

Pgina 12

Sobre configuraciones el tema merece un estudio, es decir, podemos tener un proxy en una oficina (Seguimos con el ejemplo de la fig. 1 con 3 terminales), para dar el acceso a esos 3 usuarios en donde el cach de ste, sirva para mejorar el ancho de banda disponible en la red (Si el terminal 1 pide la pgina de http://www.maestrosdelweb.com/ y por ejemplo, el terminal 2 la estuvo viendo hace 1 semana, el proxy la tendr en el cach, que ser de donde la coja, no disminuyendo el ancho de banda de la red pidiendo algo al exterior que ya tiene), pero tambin existen los servidores proxy basados en hardware . Antes de explicar los fundamentos de estos servidores tengo que hacer una aclaracin: Cuando se dice que algo est basado no quiere decir que sea, es decir, basado no tiene por que implicar sintaxis o definicin, solo una forma de hablar. Esto viene por los fundamentos de los Servidores proxy basados en hardware; en stos lo nico que se hace es montar muchos discos duros de gran capacidad (Esto si es fsico) y del orden de 128 Megas de ram (Variable segn necesidades, como todo claro). Pues bien, stas unidades solo tienen una funcin, que es la de almacenar datos en zonas intermedias o en sitios con gran flujo de peticiones para agilizar la transmisin de datos. Para una mejor comprensin su nombre podra ser mirror aunque no exactamente. Seguro que alguno os habis bajado algo de Microsoft, por ejemplo, y no precisamente de sus servidores en Usa, sino de algn Mirror en otro pas, que puede o no puede ser un ser proxy, y esto es lo ms bonito. Si te fijas en la siguiente figura podrs comprender mejor lo que intento explicar:

Los router (Encaminadores) se sitan entre dos redes y a la vez que encaminan los paquetes entre una red y otra buscando los recorridos ms rpidos o ms precisos, realizan o pueden realizar un

Ing. Eduardo A. Aparicio C.

Pgina 13

filtrado de paquetes (por eso tambin le podramos llamar firewall, porque estn haciendo ese trabajo), comprobando las ip y los puertos (cada paquete lleva una franja de informacin en la cul se incluyen las ip de salida y destino y el puerto). El router no es solo un elemento fsico para conectar una lan a internet (wan), sino que es una muy buena opcin a la hora de ampliar una lan. Los router traen de fbrica ciertas ip que se filtraran automticamente, aparte de las que nosotros le podremos asignar ms adelante con las que no nos interesara tener contacto por peligrosidad u otros. Hay router (Lo ltimo de lo ltimo) que soportan el uso de NAT (Encapsulacin de ip interna en cada paquete enviado) Conclusiones: Ya deberas conocer un poco cmo se pueden conectar dos redes, qu es un proxy, un router, etc, aunque bastante por encima. Si te ests preguntando como trasladar esto a tu realidad, es decir, un Pc normal con ventanucos, Linux o algn otro, te recomiendo que te bajes el Pc Conseal Firewall (Un cortafuegos para Pc) y lo instales, que empieces a jugar con la configuracin del mismo y te des cuenta de lo que pasa al restringir algunos puertos, etc. Aqu tienes una foto de mi consola funcionando:

Seguridad con proxy Definicin


Proxy es un sistema intermediario entre hosts internos de una red y los hosts de Internet de forma tal que reciba las requisiciones de unos y se las pase a la otra previa verificacin de accesos y privilegios. Este sistema puede correr en hosts "dual-homed" o hosts "bastin" los cuales sern llamados Servidores Proxy. Los sistemas proxy son efectivos solo si se utilizan junto a mtodos de restriccin de trfico IP entre clientes y servidores reales. De este modo, un cliente no podr "bypasear" el servidor proxy para comunicarse con un servidor real utilizando este protocolo.

Funcionamiento

El programa cliente del usuario se comunica con el servidor proxy enviando pedido de conexin con un servidor real. El servidor proxy evala esta requisicin y decide si se permitir la conexin. Si el servidor proxy permite la conexin, enva al servidor real la solicitud recibida desde el cliente. De este modo, un servidor proxy se ve como "Servidor" cuando acepta pedidos de clientes y como "cliente" cuando enva solicitudes a un servidor real. Una vez que establecida la comunicacin entre un cliente y un servidor real, el servidor Proxy acta como un re transmisor pasando comandos y respuestas de un lado a otro. Un punto

Ing. Eduardo A. Aparicio C.

Pgina 14

importante a tener en cuenta en este tipo de conexin es que es totalmente transparente. Un usuario nunca se entera de que existe un "intermediario" en la conexin que ha establecido. La comunicacin entre el programa cliente y el servidor Proxy puede realizarse de dos formas distintas: Custom Client Software: El cliente debe saber como opera el servidor proxy, como contactarlo, como pasar la informacin al servidor real, etc. Se trata de un software cliente standard que ha sido modificado para que cumpla ciertos requerimientos. Custom User Procedures: El usuario utiliza un cliente standard para conectarse con un servidor Proxy y usa diferentes procedimientos (comandos del servidor proxy) para pasar informacin acerca del servidor real al cual quiere conectarse. El servidor proxy realiza la conexin con el servidor real

Tipos de servidores proxy


Servidor Proxy de Aplicacin: Es un servidor que conoce sobre una aplicacin en particular y provee servicios proxy para ella. Entiende e interpreta comandos de un protocolo en particular. Con este tipo de servidores es necesario contar con uno de ellos para cada servicio. Recibe tambin el nombre de servidor Dedicado. Servidor Proxy de Circuito: Crea un circuito virtual entre el cliente y el servidor real sin interpretar el protocolo de la aplicacin. Son llamados Proxys Genricos.

Ventajas

Permite a los usuarios acceder a los servicios de Internet ocultando totalmente la red interna. Permite un buen servicio de logs a nivel de cada aplicacin. Debido a que todo el trfico pasa a travs del servidor proxy se puede registrar gran cantidad de informacin con fines de auditoria y seguridad. El servidor proxy de Circuito provee soporte para un conjunto grande de protocolos.

Desventajas

A menudo se requiere la modificacin del software cliente. Hay software que esta disponible solo para ciertas plataformas: Por Ej: gateway es un package proxy para ftp y telnet de Sun que corre solo sobre Sun. La disponibilidad de estos tipos de paquetes a menudo no es inmediata. En el caso de servidores proxy de aplicacin se requiere un servidor proxy para cada servicio. Algunos servicios no son viables para trabajar con servidores proxy (Ej: talk). El uso de servidores proxy introduce algn retardo en las comunicaciones. Los servidores proxy de circuitos no brindan control especfico sobre las aplicaciones.

Posicin del servidor proxy rpc y los servidores de seguridad corporativa


Al implementar RPC a travs de http en el entorno de la empresa, hay varias estrategias de implementacin disponibles para ubicar el servidor proxy RPC y los servidores de seguridad. La estrategia de implantacin recomendada para su entorno de mensajera es implementar un servidor de seguridad avanzado, como Microsoft Internet Security and Acceleration (ISA) Server 2000 con el Service Pack 1 y Feature Pack 1 o superior, en la red perimetral. A continuacin, ubique el servidor proxy RPC en la red corporativa y utilice la arquitectura de servidores de aplicaciones para l usuario y servidores de servicios de fondo de Exchange. Si se utiliza ISA Server en la red perimetral para enrutar solicitudes de RPC a travs de http y se ubica el servidor de aplicaciones para el usuario de Exchange en la red corporativa, basta con abrir el puerto 443 del servidor de seguridad interno para que los clientes de Microsoft Office Outlook 2003 puedan establecer la comunicacin con Exchange. En la siguiente ilustracin se muestra este escenario de implementacin.

Ing. Eduardo A. Aparicio C.

Pgina 15

Implementacin de rpc a travs de http utilizando ISA Server como servidor proxy inverso en la red perimetral

Cuando se ubica en la red perimetral, el servidor ISA enruta las solicitudes RPC a travs de http hacia el servidor de aplicaciones para usuario de Exchange que acta como servidor proxy RPC. El servidor proxy RPC se comunica entonces a travs de puertos especificados con otros servidores que utilizan RPC a travs de http. Aunque no es la opcin recomendada, es posible ubicar el servidor de aplicaciones para el usuario final de Exchange Server 2003 que acta como servidor proxy RPC en la red perimetral. Para obtener informacin detallada sobre la ubicacin de un servidor de aplicaciones para el usuario de Exchange en una red perimetral, consulte el tema "Escenarios para la implantacin de una topologa de aplicaciones para el usuario y servidores de servicios de fondo" de Topologa de aplicaciones y servicios de fondo para Exchange Server 2003 y Exchange 2000 (http://go.microsoft.com/fwlink/?LinkId=34216). En este escenario, configure los servidores de Exchange como en la escenario 1. Sin embargo, necesitar asegurarse de abrir los puertos que requiere RPC a travs de http en el servidor de seguridad interno, adems de los que ya se necesitan para un servidor de aplicaciones para el usuario de Exchange. Los puertos siguientes son los requeridos para RPC a travs de http. TCP 6001 (Servicio Almacn de informacin de Microsoft Exchange) TCP 6002 (servicio de referencia del componente Proxy del servicio de directorio (DSProxy)) TCP 6004 (servicio proxy del componente Proxy del servicio de directorio (DSProxy)) Para obtener una lista completa de los dems puertos necesarios en los servidores de aplicaciones para el usuario y en los servidores de servicios de fondo de Exchange, consulte "Consideraciones para la implementacin de una topologa de servidores de aplicaciones para el usuario y servidores de servicios de fondo" de Topologa de aplicaciones y servicios de fondo para Exchange Server 2003 y Exchange 2000 (http://go.microsoft.com/fwlink/?LinkId=34216). En la siguiente ilustracin se muestra este escenario de implementacin.

Implementacin de rpc a travs de http en el servidor de aplicaciones para el usuario de Exchange en la red perimetral

Ing. Eduardo A. Aparicio C.

Pgina 16

Si tiene pensado utilizar un nico servidor como servidor de buzn de Exchange y servidor proxy RPC o si tiene pensado utilizar un nico servidor como servidor de buzn de Exchange, servidor proxy RPC y servidor de catlogo global, y no tiene un servidor de aplicaciones para el usuario de Exchange independiente, consulte uno de los temas siguientes:

Cmo implementar RPC a travs de http por primera vez en Exchange Server 2003 SP1, sin Cmo implementar RPC a travs de http por primera vez en Exchange Server 2003, sin servidor
de aplicaciones para el usuario. servidor de aplicaciones para el usuario

Cmo implementar RPC a travs de http por primera vez en Exchange Server 2003, sin

servidores de aplicaciones para el usuario, servidor de servicios de fondo en un servidor de catlogo global

En la siguiente ilustracin se muestra este escenario de implementacin.

Implementacin de un nico servidor de Exchange

En este escenario, es necesario configurar adems el servidor para que utilice los puertos especificados para RPC a travs de http. Los puertos siguientes son los requeridos para RPC a travs de http: TCP 6001 (Servicio Almacn de informacin de Microsoft Exchange) TCP 6002 (servicio de referencia de DSProxy) TCP 6004 (servicio proxy de DSProxy)

Ing. Eduardo A. Aparicio C.

Pgina 17

Puede utilizar un servidor distinto del servidor de aplicaciones para el usuario de Exchange para que se encargue del descifrado del Nivel de sockets seguros (SSL) para las conexiones de clientes. En este escenario, es necesario definir un valor del Registro especial para permitir que se produzca un descifrado de SSL en un equipo distinto del servidor de aplicaciones para el usuario. Para obtener informacin, consulte Cmo configurar el servidor proxy RPC para que permita la descarga de SSL en un servidor independiente. En la siguiente ilustracin se muestra este escenario de implementacin.

Implementacin de rpc a travs de http utilizando ISA Server como servidor proxy inverso en la red perimetral con descarga de SSL

Definicin de proxy web


Un proxy web es utilizado para interceptar la navegacin de pginas web por motivos de seguridad, anonimato, rendimiento, etc. Un proxy web se puede acceder por una direccin IP, gratuito o de pago, que es agregada a un navegador (tambin existen programas proxy para evitar el proceso de configuracin). Cuando alguien utiliza el navegador, todo lo que se haga en el mismo pasa primero por el proxy primero (el servidor proxy). O sea, si se pide una pgina web el proxy remoto se encarga de buscarla y enviarla a nuestra computadora. En este paso intermedio el proxy puede servir para: Navegacin annima: si el proxy est configurado de esta manera, todo aquel que navegue a travs de ese proxy lo har de forma annima, las pginas destino no podrn saber la direccin IP (la identificacin) de la computadora que navega; slo vern la direccin IP del proxy. Si un proxy no est configurado para ser annimo se dice que es de navegacin transparente. Navegacin segura: un proxy se encarga de filtrar o alertar sobre aquellas pginas web inseguras o filtran el contenido para indeseado (como contenido adulto). Navegacin ms rpida: ya sea porque el proxy tiene una mejor conexin a internet y enva al navegador ms rpido los datos, o porque el proxy funciona como cach, guardando las pginas ms visitadas (o las visitadas recientemente). Control del trfico: existen programas espas y otros malwares que configuran la computadora para que todo el trfico web pase primero por un proxy. Este proxy se encarga de espiar el trfico, pudiendo sacar todo tipo de informacin del usuario. Si los datos (como claves y tarjetas de crdito) no estn cifrados, cualquiera puede leerlos. Este tipo de proxy tambin puede enviar publicidad a las computadoras infectadas (publicidad que no exite en las pginas web originales).

Ing. Eduardo A. Aparicio C.

Pgina 18

Proxy de team foundation server y control de cdigo fuente

El proxy de team foundation server est diseado para mejorar el rendimiento de la red haciendo copias en la memoria cach de los archivos de control de cdigo fuente en una ubicacin remota, local para el desarrollador que necesita los archivo pero fuera de la ubicacin del control de cdigo fuente principal. Mediante el almacn de copias en la ubicacin remota, normalmente conectada a la ubicacin de origen a travs de un vnculo ms lento que la red de rea local, el servidor proxy evita que cada usuario descargue archivos en su rea de trabajo con la conexin ms lenta. En su lugar, el proxy de team foundation server generalmente cumple las solicitudes de cliente devolviendo los archivos desde la cach local con una conexin local ms rpida. Cuando una archivo no se encuentra en la cach local, ste se descarga desde el proxy a la cach local desde Team Foundation Server, antes de que se devuelvan los archivos al cliente.

Operaciones bsicas
El funcionamiento del proxy de team foundation server se puede ver desde el cliente y desde el servidor. Al igual que todos los proxy de Internet, configure el cliente de team foundation para utilizar el proxy, de modo que el proxy de team foundation server controle la administracin de los archivos. Como usuario del cliente de team foundation, permita que el proxy controle la descarga de archivos. Para obtener ms informacin, vea Cmo: Configurar el control de cdigo fuente de team foundation para utilizar el servidor proxy. La primera tarea del administrador es configurar el proxy de team foundation server en el servidor. Para obtener ms informacin sobre la instalacin del proxy de team foundation server, vea la gua de instalacin de team foundation que se encuentra en lnea en http://go.microsoft.com/fwlink/? linkid=40042 o bien el archivo TFSInstall.chm incluido con el producto. A continuacin, puede configurar el servidor proxy a fin de habilitar el almacenamiento en cach del archivo editando el archivo Proxy.config. Para obtener ms informacin, vea Cmo: Habilitar el almacenamiento en cach de control de cdigo fuente para un proxy de team foundation server. El lmite mximo se establece en la cantidad de espacio de almacenamiento que el proxy de team foundation server puede utilizar para guardar los archivos en cach. Cuando se alcanza el lmite, los archivos antiguos de la cach se eliminan para liberar espacio de almacenamiento de modo que se pueda utilizar para almacenar nuevos archivos solicitados. El liberador de espacio quita los archivos teniendo en cuenta la ltima vez que se obtuvo acceso a ellos. Se eliminan primero los archivos a los que no se haya tenido acceso durante ms tiempo.

Ing. Eduardo A. Aparicio C.

Pgina 19

Tambin se puede cambiar la configuracin de la memoria cach de las maneras siguientes: Especificar una carpeta raz diferente para la cach. Cambiar el lmite en el que los archivos antiguos se quitan de la cach. Cambiar la cantidad de espacio que se dejar libre al quitar archivos antiguos. Para obtener ms informacin, vea Cmo: Cambiar la configuracin de la memoria cach para un proxy de team foundation server.

Mantenimiento
Es importante supervisar y administrar peridicamente el rendimiento de la cach del proxy de team foundation server. Por ejemplo, debe examinar los contadores de rendimiento siguientes: Tamao actual de la cach Total de visitas a la cach - recuento y porcentaje Total de solicitudes de descarga Total de archivos en la cach Total de errores en la cach - recuento y porcentaje Estos contadores de rendimiento estn registrados como parte de la instalacin del proxy. Los contadores de rendimiento del proxy tienen varias instancias, lo que significa que existe un conjunto de contadores para cada nivel de aplicacin que haya configurado en el archivo Proxy.config. La recopilacin de estos datos permite entender mejor el rendimiento y la actividad del proxy de team foundation server mientras se ejecuta. Para obtener ms informacin, vea Cmo: Examinar el rendimiento de la memoria cach para un proxy de team foundation server.

Seguridad
El proxy de control de team foundation server utiliza un esquema de vale autenticado previamente para determinar si el usuario que lo solicita est autorizado a ver el contenido del archivo solicitado. En este esquema, el cliente del usuario se pone en contacto con el servidor del control de cdigo fuente maestro y, si es usuario est autorizado, se le proporciona al cliente un vale firmado digitalmente que contiene los detalles del archivo solicitado. El cliente entonces presenta el vale al servidor proxy. Este uso de las firmas de clave privada y pblica permite al proxy

Ing. Eduardo A. Aparicio C.

Pgina 20

asegurarse de que el vale proviene del servidor y que el usuario, por tanto, est autorizado para ver el archivo. El proxy busca en la cach si puede ofrecer la solicitud y si no, pide el archivo al servidor y lo incluye a la cach.

Arquitectura de seguridad de team foundation server

Para analizar y planear la seguridad de team foundation server, debe tener en cuenta el nivel de aplicacin de team foundation, el nivel de datos de team foundation, el nivel de cliente de team foundation, team foundation build, el servidor proxy de team foundation server y las interacciones entre todos ellos. Tendr que saber qu servicios web, bases de datos y modelos de objetos se utilizan. Tambin tendr que saber qu puertos y protocolos de red se utilizan de forma predeterminada y qu puertos se pueden personalizar. Adems de sus propios servicios, team foundation server depende de otros servicios para funcionar. Para obtener ms informacin sobre las dependencias de team foundation server, vea

Conceptos de seguridad de team foundation server Modelo de objetos


Team foundation server incluye un modelo de objetos que habilita la comunicacin entre el nivel del cliente de team foundation y el nivel de la aplicacin de team foundation. Este modelo de objetos tambin permite que los integradores de software y otros proveedores personalicen y amplen la funcionalidad de team foundation server.

Modelo de objetos de team foundation server

El modelo de objetos de team foundation server es un conjunto de API administradas que incluyen las interfaces siguientes: Servicios comunes de team foundation Servicio de registro Servicio de seguridad Servicio de vinculacin Servicio de eventos Servicio de clasificacin Modelo de objetos de control de versiones Modelo de objetos de seguimiento de elementos de trabajo El modelo de objetos de team foundation server se documenta pblicamente en la documentacin de extensibilidad de team foundation server en el Visual Studio SDK.

Servicios web y bases de datos


Team foundation server incluye un conjunto de servicios web y bases de datos. Estos servicios y bases de datos se instalan y configuran de forma independiente en el nivel de la aplicacin, nivel de los datos y nivel del cliente de team foundation. Las figuras siguientes muestran brevemente servicios web, aplicaciones y bases de datos en team foundation server y en equipos cliente.

Ing. Eduardo A. Aparicio C.

Pgina 21

Nivel de aplicacin

El nivel de aplicacin de team foundation contiene los servicios web Asp.Net siguientes que corresponden al servidor proxy o a los modelos de objetos respectivos en el nivel de cliente. En general, estos servicios web no estn diseados para que los integradores de otros proveedores programen con ellos, a excepcin del servicio web MSBuild, que est documentado en la documentacin de extensibilidad de team foundation server en el visual studio SDK.

Servicios comunes de team foundation Servicio web de registro Servicio web de seguridad Servicio web de vinculacin

Ing. Eduardo A. Aparicio C.

Pgina 22

Servicio web de eventos Servicio web de clasificacin Servicio web de control de versiones Servicio web de seguimiento de elementos de trabajo Servicio web de team foundation build

Nivel de los datos

El nivel de datos de team foundation est compuesto de los almacenes operativos siguientes dentro de SQL Server 2005. Esto incluye datos, procedimientos almacenados y otra lgica asociada. En general, estos almacenes operativos no estn diseados para que los integradores de otros proveedores los utilicen para programar. Seguimiento de elementos de trabajo Control de versiones Servicios comunes de team foundation Team foundation build Almacn de datos de informes

Nivel de cliente

El nivel de cliente utiliza los mismos servicios web mostrados en el nivel de aplicacin para comunicar con el nivel de aplicacin de team foundation, a travs del modelo de objetos de team foundation server. Adems del modelo de objetos de team foundation server, el nivel de cliente de team foundation est formado por los componentes de visual studio industry partners (VSIP), la integracin con Microsoft Office, las interfaces de lnea de comandos y una estructura de directivas de proteccin para la integracin con team foundation server y la integracin personalizada. Para obtener ms informacin sobre cmo ampliar y personalizar el nivel del cliente, consulte la documentacin de extensibilidad en visual studio SDK.

Puertos y protocolos de red


De forma predeterminada, team foundation server est configurado para utilizar puertos y protocolos de red concretos. El diagrama siguiente muestra el trfico de red de team foundation server en una implementacin de ejemplo.

Configuracin de la red predeterminada


Ing. Eduardo A. Aparicio C. Pgina 23

De forma predeterminada, la comunicacin entre el nivel de aplicacin de team foundation, el nivel de datos de team foundation, los servidores de compilacin y el servidor proxy de team foundation server utilizan los puertos y protocolos de la lista siguiente.

Servicio y nivel
Nivel de aplicacin: servicios web

Protocolo
http

Puerto
8080 Este puerto se genera de forma aleatoria durante la instalacin de Windows sharepoint services. 80 9191

Nivel de aplicacin: Administracin de http Windows sharepoint services Nivel de aplicacin: Windows sharepoint http services y Sql reporting services Servidor de compilacin: Acceso remoto .Net desde el servidor de nivel de la aplicacin Remoting de team foundation Nivel de datos Nivel de datos

Tcp de Ms 1443 Sql Udp de Ms 1444 Sql 8081 8080 80 8080

Servidor proxy de team foundation server: http Cliente a servidor proxy Servidor proxy de team foundation server: http Servidor proxy en el nivel de aplicacin Nivel de cliente: Reporting services Nivel de cliente: Servicios web http http

Configuracin de la red personalizable

Puede optar por modificar team foundation server para que utilice https y SSL (secure socket layer) en lugar de http para los servicios web y Microsoft SQL Reporting Services. La comunicacin entre el nivel de la aplicacin, de los datos y del cliente cambiara como se describe en la tabla siguiente.

Servicio y nivel
Nivel de aplicacin: servicios web con SSL

Protocol o
https

Puerto
Configurado administrador Configurado administrador 443 443 Configurado administrador por el por por el el

Nivel de aplicacin: Administracin de windows https sharepoint services Nivel de aplicacin: Windows sharepoint services y https Sql reporting services Nivel de cliente: Reporting services Nivel de cliente: Servicios web https https

Implementacin de software cliente/servidor (protocolos binarios)


Ing. Eduardo A. Aparicio C. Pgina 24

En esta prctica vamos a realizar el diseo y la implementacin de un proxy Socksv5 y unas funciones de librera que permitan construir clientes compatibles con este servicio. Para comenzar, partimos del cdigo fuente de sockets implementado en la prctica anterior1, junto al material adicional resumen de Socksv5 (pdf) y RFCs 1928-1929.

Implementacin del cliente Requisitos


Conseguir conexiones tcp y obtencin de servicios a travs del proxy. Uso de RFC 1929 para autenticacin Usuario/Contrasea. Se crearn las siguiente funciones int socks5tcp_connect (int sockstream_handle, struct sockaddr* dst, size_t dstlen) Esta funcin se encarga de establecer la negociacin con el servidor proxy, Los parmetros son idnticos a la llamada connect de la interfaz socket. Si todo fue bien, la funcin devuelve el valor acostumbrado: 0. En caso contrario, devolver: 1 si existi un error en la llamada a connect (por lo que se consultar la variable global errno); y 2 en otro caso, actualizando la variable global socks5_errno a uno de los siguientes valores: S5_ESRVFAIL Error del servidor SOCKSv5 (general) S5_EPERM El servidor SOCKS rechaz la conexin (sin permisos) S5_EUNREACH El servidor SOCKS no alcanz el destino S5_ECONNREFUSED El servidor destino rechaz la conexin S5_ENOSERV Servidor SOCKS no encontrado En Sun OS / Solaris, se aaden las directivas de enlazado -lsocket lnsl, en la llamada a gcc para generar ejecutables de comunicaciones. Struct sockaddr * socks5_getSOCKSserv (). Esta funcin sirve como soporte a la anterior, proporcionando la informacin necesaria para conectar con el servidor proxy, en su valor de retorno. Estos datos aparecen en el directorio home del usuario que ejecutar el proceso: ~/.socks5c.conf. En caso de error, la funcin devuelve NULL. Para obtener el valor de la variable de entorno home usar la funcin getenv (consulta el manual).

Implementacin del servidor Requisitos


Aceptar conexiones de clientes autorizados (RFC 1929) y establecer la comunicacin real con el servicio deseado. Actuar como pasarela en la comunicacin entre extremos (cliente y servicio). El servidor proxy tiene un doble papel: por un lado, acta como servidor de cara a los clientes socksificados, aceptando conexiones en el puerto 1080. Con ellos establece la negociacin de seguridad. Por otro, acta como cliente ante el servicio real, haciendo de pasarela entre los datos que se intercambian ambos extremos. La implementacin del servidor proxy debe estar bien estructurada, ya que el seguimiento de la comunicacin, as como la deteccin de errores, pueden convertirse en labores complicadas. Se recomienda al alumno que encapsule en distintas funciones las tareas crticas. La autorizacin se hace en base a dos criterios: 1. Direccin ip del cliente: Solo se autoriza el ip del cliente si existe el fichero correspondiente a la direccin dentro del directorio ~/. socks5s.conf/ 2. Usuario/Contrasea: En el fichero correspondiente a dicha ip, debe existir una lnea con el par usuario: passwd, coincidente con los datos enviados por el cliente.

Ing. Eduardo A. Aparicio C.

Pgina 25

Una sugerencia para implementar una pasarela entre dos sockets (el que est abierto con el cliente y el que se mantiene con el servidor), es utilizar la llamada al sistema select.

Criterios de evaluacin

Adems de los ya conocidos (estilo, robustez del cdigo ante errores), se valorarn las ampliaciones propuestas: UDP, select y en particular, la atencin del proxy a mltiples clientes. Las funciones cliente y los nuevos cdigos de error, se implementarn en socks5api.c, incorporando sus prototipos desde socks5api.h. Demostrar la utilidad de esta librera a travs de la implementacin de un cliente simple de http que haga uso de sus servicios. Truco: Las consultas se hacen mediante sockets tcp y un comando que se construye as: sprintf (buf,"GET %s http/1.0\n\n",pagina);

Tcp wrapper Introduccin


Para todo administrador de sistemas, tener mquinas conectadas a una red pblica como es Internet, conlleva una serie de responsabilidades implcitas. Una de las ms importantes es salvaguardar la integridad de dichas mquinas, as como proteger los datos de sus usuarios ante eventuales intrusos. Todos, hemos ledo o visto en TV. noticias acerca de hackers asaltando sistemas, tal vez pensemos que so slo les ocurre a otros o que slo pasa en Amrica. La realidad es otra, cualquiera de nosotros somos susceptibles de ser objetivo de un ataque. Para contrarrestar en parte los peligros antes mencionados, existen diferentes alternativas, las cuales no son excluyentes, lo cual quiere decir que se pueden combinar de forma que encontremos un buen ratio entre eficacia y funcionalidad para nuestros usuarios. Vamos a explicar en este documento una herramienta que nos va a permitir que nuestras mquinas Unix rechacen conexiones Udp y Tcp segn el origen de las mismas. La herramienta en concreto se llama tcp wrapper y algunas de sus mejores virtudes son: Es gratis, Muy fcil de instalar y manejar, Hiperconfigurable, Genera mltiples logs.

Introduccin a inetd (El super servidor de internet)

Antes de explicar como trabaja la herramienta tcp wrapper, es necesario comprender la forma tradicional que los sistemas Unix tienen para procesar las peticiones de determinados servicios. Como ya todos sabemos los servidores en Internet tienen unos puertos lgicos (software) que nos permiten desde una estacin remota, lanzar un cliente para establecer una conexin con dicho servicio. Ejemplo: desde nuestra estacin de trabajo, lanzamos un cliente pop que se conecta con el servidor en el puerto 110 para poder enviar o recibir correo. Ahora entra en escena INETD, el super servidor de Internet, que es un gestor de servicios, de forma que escucha en la red posibles solicitudes de servicios para dependiendo de a que puerto va avisar al programa o daemon correspondiente. Pongamos un ejemplo, INETD es el seor que est en la puerta de nuestra oficina atendiendo a las personas que vienen a visitarnos, y dependiendo del servicio que demanden, avisa al trabajador adecuado (daemon) para que lo atienda. El funcionamiento es perfecto, pero necesitamos que segn que personas (conexiones) vengan a visitarnos, poder rechazarlas de una forma eficaz y elegante. En este contexto, es donde va a trabajar el programa al que dedicamos este documento, tcp wrapper nos va a permitir rechazar las conexiones dependiendo de su origen y/o de su ident.

Los wrapper tcp y el comando xinetd


El control del acceso a los servicios de red es una de las tareas de seguridad ms importantes que un administrador de servidores debe enfrentar. Afortunadamente, bajo Red Hat Enterprise Linux,

Ing. Eduardo A. Aparicio C.

Pgina 26

hay un gran nmero de herramientas que hacen justamente estas tareas. Por ejemplo, un cortafuego basado en iptables dejan afuera los paquetes de red que no son bienvenidos dentro de la pila de red del kernel. Para los servicios de red que lo utilizan, los tcp wrappers aaden una capa adicional de proteccin mediante la definicin de cules hosts tienen permitido conectarse a los servicios de red "wrapped". Uno de los servicios de red wrapped es el super servicio xinetd. Este servicio se le llama super servicio porque controla la conexin a un subconjunto de servicios de red y refina an ms el control de acceso. El diagrama es una ilustracin bsica de cmo estas herramientas funcionan para proteger los servicios de red.

Control de acceso a los servicios de red Wrapper tcp


El paquete tcp wrapper (tcp_wrapper) est instalado por defecto y proporciona control de acceso basado en host a los servicios de red. El componente ms importante dentro del paquete es la biblioteca /usr/lib/libwrap.a. En trminos generales, un servicio tcp wrapped es uno que ha sido compilado con la biblioteca libwrap.a. Cuando un intento de conexin es hecho a un servicio wrapped tcp, el servicio primero referencia los archivos de acceso a host (/etc/hosts.allow y /etc/hosts.deny) para determinar si el cliente tiene permitido conectarse. En la mayora de los casos, luego utiliza el demonio syslog (syslogd) para escribir el nombre del host solicitante y el servicio solicitado a /var/log/secure o /var/log/messages. Si a un cliente se le permite conectarse, los wrapper tcp liberan el control de la conexin al servicio solicitado y no interfieren ms con la comunicacin entre el cliente y el servidor. Adems del control de acceso y registro, los wrapper tcp pueden activar comandos para interactuar con el cliente antes de negar o liberar el control de la conexin al servicio solicitado. Puesto que los wrapper tcp son una utilidad de gran valor a las herramientas de seguridad de cualquier administrador de servidor, la mayora de los servicios de red dentro de Red Hat Enterprise Linux estn enlazados con la biblioteca libwrap.a. Algunas de tales aplicaciones incluyen /usr/sbin/sshd, /usr/sbin/sendmail, y /usr/sbin/xinetd.

Ing. Eduardo A. Aparicio C.

Pgina 27

Para determinar si un binario de servicio de red est enlazado con la librera libwrap.a, escriba el comando siguiente como usuario root: strings -f <binary-name> | grep hosts_access Reemplace <binary-name> con el nombre del binario de servicio de red. Si aparece un indicador de comandos, entonces el servicio de red no est enlazado con libwrap.a.

Ventajas de los wrapper tcp

Los wrapper tcp ofrecen las siguientes ventajas bsicas comparadas con las otras tcnicas de control de servicios de red: Transparencia tanto para el host cliente y el servicio de red wrapped; El cliente que se est conectando as como tambin el servicio de red wrapped no estn al tanto de que estn en uso los wrapper tcp. Los usuarios legtimos son registrados y conectados al servicio solicitado mientras que las conexiones de clientes prohibidos fallan. Administracin centralizada de mltiples protocolos; Los wrapper tcp operan separadamente de los servicios de red que ellos protegen, permitiendo a muchas aplicaciones de servidor compartir un conjunto comn de archivos de configuracin para una administracin ms sencilla.

Archivos de configuracin de wrapper tcp


Para determinar si una mquina cliente tiene permitido conectarse a un servicio, los wrapper tcp referencian los siguientes dos archivos, los cuales se conocen comnmente como archivos de acceso a host: /etc/hosts.allow /etc/hosts.deny Cuando una solicitud de un cliente es recibida por un servicio wrapped tcp, sigue los pasos siguientes:

1. Referencias a /etc/hosts.allow; El servicio wrapped tcp analiza secuencialmente el archivo


/etc/hosts.allow y aplica la primera regla especificada para ese servicio. Si encuentra una regla que coincide, permite la conexin. Si no, se va al prximo paso. 2. Referencias /etc/hosts.deny; El servicio wrapped tcp analiza secuencialmente el archivo /etc/hosts.deny. Si encuentra una regla que coincide, rechaza la conexin. Si no, se concede acceso al servicio. Lo siguiente son puntos muy importantes a considerar cuando se usen wrapper tcp para proteger servicios de red:

Puesto que las reglas de acceso en hosts.allow son aplicadas primero, ellas toman precedencia

sobre las reglas en hosts.deny. Por lo tanto, si se permite el acceso a un servicio en hosts.allow, una regla negando el acceso al mismo servicio en hosts.deny es ignorada. Las reglas en cada archivo son ledas de arriba hacia abajo y la primera regla que coincida para un servicio dado es la nica aplicada. Por lo tanto el orden de las reglas es extremadamente importante. Si no se encuentra ninguna regla para el servicio en ninguno de los archivos, o si no existe ninguno de los archivos, se concede el acceso al servicio. Los servicios wrapped tcp no hacen cach de las reglas desde los archivos acceso de host, por lo tanto cualquier cambio a hosts.allow o a hosts.deny tomarn efecto de inmediato sin tener que reiniciar el servicio de red. Aviso

Ing. Eduardo A. Aparicio C.

Pgina 28

Si la ltima lnea de un archivo de acceso a host no es un carcter de nueva lnea (creado al presionar la tecla [Intro]), la ltima regla en el archivo fallar y se registrar un error bien sea a /var/log/messages o a /var/log/secure. Este es tambin el caso para reglas que se expanden en mltiples lneas sin usar la barra oblicua. El ejemplo siguiente ilustra la porcin relevante del mensaje registrado por una falla de una regla debido a alguna de estas circunstancias: warning: /etc/hosts.allow, line 20: missing newline or line too long

Formatear reglas de acceso

Los formatos para /etc/hosts.allow y /etc/hosts.deny son idnticos. Cualquier lnea en blanco que comience con un smbolo de numeral o almohadilla (#) ser ignorada, y cada regla debe estar en su propia lnea. Las reglas se tienen que formatear de la siguiente manera: <Daemon list>: <client list> [: <option>: <option>: ...]

<daemon list>; Una lista separada por comas de los nombres de procesos (no de los nombres

de servicios) o el comodn ALL (consulte Seccin 17.2.1.1). La lista de demonios tambin acepta operadores (consulte la seccin 17.2.1.4) para permitir mayor flexibilidad. <client list>; Una lista separada por comas de nombres de host, direcciones IP, patrones especiales (consulte la seccin 17.2.1.2), o comodines especiales (consulte la seccin 17.2.1.1) la cual identifica los hosts afectados por la regla. La lista de clientes tambin acepta operadores listados en la seccin 17.2.1.4 para permitir mayor flexibilidad. <option>; Una accin opcional o una lista separada con puntos y comas de acciones realizadas cuando la regla es activada. Los campos de opciones soportan expansiones (consulte la seccin 17.2.2.4), lanzan comandos desde el shell, otorgan o prohiben el acceso y alteran el comportamiento de la conexin (consulte la seccin 17.2.2). A continuacin una muestra bsica de una regla de acceso: vsftpd : .example.com Esta regla instruye a los wrapper tcp a que estn atentos por conexiones al demonio ftp (vsftpd) desde cualquier host en el dominio example.com. Si esta regla aparece en hosts.allow, la conexin ser aceptada. Si esta regla aparece en hosts.deny, la conexin ser rechazada. El prximo ejemplo de regla de acceso es un poco ms complejo y utiliza dos campos de opciones: sshd : .example.com \ : spawn /bin/echo `/bin/date` access denied>>/var/log/sshd.log \ : deny Note que cada campo de opcin est precedido por una barra oblicua invertida (\). Use la barra para prevenir que falle la regla debido al largo de la misma. Esta regla de ejemplo indica que si una conexin al demonio SSH (sshd) se intenta desde un host en el dominio example.com, ejecute el comando echo (lo cual registrar el intento a un archivo especial) y rechace la conexin. Puesto que se usa la directiva opcional deny, esta lnea rechazar el acceso an si aparece en el archivo hosts.allow.

Comodines
Ing. Eduardo A. Aparicio C. Pgina 29

Los comodines permiten a los wrapper tcp coincidir ms fcilmente grupos de demonios o hosts. Son usados con mayor frecuencia en el campo de lista de cliente de las reglas de acceso. Se pueden utilizar los siguientes comodines: ALL; Hace corresponder todo. Se puede usar para la lista de demonios o en la lista de clientes. LOCAL; Hace corresponder todos los nombres de mquinas que no contengan un punto (.), tal como localhost. KNOWN; Hace corresponder todas las mquinas cuyos nombres y direcciones son conocidos o donde el usuario es conocido. UNKNOWN; Hace corresponder todas las mquinas cuyos nombres y direcciones sean desconocidas o en el caso en el que se desconozca el usuario. PARANOID; Hace corresponder todas las mquinas cuyo nombre no se corresponda con la direccin.

Atencin
Los comodines KNOWN, UNKNOWN y PARANOID tienen que usarse con cuidado porque si se utilizan de una manera incorrecta los usuarios que s que tengan acceso a un determinado servicio pueden perderlo.

Patrones

Los patrones se pueden utilizar en el campo de lista de cliente de las reglas de acceso para especificar de forma ms precisa grupos de host clientes. La siguiente es una lista de los patrones ms comnmente aceptados para una entrada de lista de cliente:

Nombre de host comenzando con un punto (.); Al colocar un punto al comienzo de un nombre

de host, se hace coincidir todos los hosts compartiendo los componentes listados del nombre. El ejemplo siguiente aplicara a cualquier host dentro del dominio example.com: ALL : .example.com

Direccin ip que termina con un punto (.); Al colocar un punto al final de una direccin ip hace

corresponder todos los hosts compartiendo el grupo numrico inicial de una direccin ip. El ejemplo siguiente aplicar a cualquier host dentro de la red 192.168.x.x: ALL: 192.168.

Par direccin ip/mscara; Las expresiones de mscaras de red tambin pueden ser usadas
como un patrn de control de acceso a un grupo particular de direcciones ip. El ejemplo siguiente aplicara a cualquier host con una direccin de 192.168.0.0 hasta 192.168.1.255: ALL : 192.168.0.0/255.255.254.0

Importante
Cuando se est trabajando en el espacio de direcciones de IPv4, no se soporta el largo del par direccin/prefijo (prefixlen). Slo las reglas IPv6 pueden utilizar este formato.

Ing. Eduardo A. Aparicio C.

Pgina 30

Par [Direccin IPv6]/prefixlen; Los pares [net]/prefixlen tambin pueden ser usadas como un
patrn de control de acceso a un grupo particular de direcciones IPv6. El ejemplo siguiente aplicara a cualquier host con una direccin de 3ffe:505:2:1:: hasta 3ffe:505:2:1:ffff:ffff:ffff:ffff: ALL : [3ffe:505:2:1::]/64

El asterisco (*); Los asterscos pueden ser usados para coincidir grupos completos de nombres

de host o direcciones IP, siempre y cuando no se mezclen en la lista de cliente conteniendo otros tipos de patrones. El ejemplo siguiente aplicara a cualquier host dentro del dominio example.com: ALL : *.example.com

La barra oblicua (/); Si una lista de cliente con una barra, es tratado como un nombre de

archivo. Esto en muy til si es necesario reglas especificando un gran nmero de hosts. El ejemplo siguiente se refiere a wrapper tcp en el archivo /etc/telnet.hosts para todas las conexiones de Telnet: in.telnetd : /etc/telnet.hosts

Portmap y wrapper tcp

Cuando se crean reglas de control de acceso para portmap, no utilice nombres de host pues la implementacin de wrapper tcp de portmap no soporta la bsqueda por host. Por esta razn, slo utilice direcciones ip o la palabra clave ALL cuando especifique hosts en hosts.allow o en hosts.deny. Adems, cambios a las reglas de control de acceso portmap pueden que no tomen efecto de inmediato si no se reinicia el servicio portmap. Los servicios ampliamente usados, tales como NIS y NFS, dependen de portmap para funcionar, por lo tanto este consciente de estas limitaciones.

Operadores

Actualmente, las reglas de control de acceso aceptan un operador, EXCEPT. Se puede usar tanto en la lista de demonios como en la lista de cliente de una regla. El operador EXCEPT permite excepciones especficas a coincidencias ms amplias dentro de la misma regla. En el ejemplo siguiente desde un archivo hosts.allow, todos los hosts de example.com pueden conectarse a todos los servicios excepto cracker.example.com: ALL: .example.com EXCEPT cracker.example.com En el otro ejemplo desde un archivo hosts.allow, clientes desde la red 192.168.0.x pueden usar todos los servicios excepto para FTP: ALL EXCEPT vsftpd: 192.168.0.

Campos de opciones

Adems de las reglas bsicas para permitir o prohibir el acceso, la implementacin de Red Hat Enterprise Linux de wrapper tcp soporta extensiones al lenguaje de control de acceso a travs de los campos de opciones. Mediante el uso de campos de opciones dentro de las reglas de acceso

Ing. Eduardo A. Aparicio C.

Pgina 31

al host, los administradores pueden llevar a cabo una gran variedad de tareas tales como alterar el comportamiento del registro, consolidar el control de acceso y lanzar comandos del shell.

Registro

Los campos de opciones les permiten a los administradores cambiar fcilmente la facilidad de conexin y el nivel de prioridad para una regla usando la directiva severity. En el ejemplo siguiente, las conexiones al demonio SSH desde cualquier host en el dominio example.com son registrados a la facilidad por defecto authpriv syslog (debido a que no se especifica un valor de facilidad) con una prioridad de emerg: sshd : .example.com : severity emerg Es tambin posible especificar una facilidad utilizando la opcin severity. El ejemplo siguiente registra cualquier intento de conexin SSH por cualquier hosts desde el dominio example.com a la facilidad local0 con una prioridad de alert: sshd : .example.com : severity local0.alert

Control de acceso

Los campos de opciones tambin les permiten a los administradores explcitamente otorgar o prohibir el acceso de mquinas en una sola regla, aadiendo la directiva allow o deny al final de la opcin. Por ejemplo, las dos reglas siguientes permiten conexiones SSH desde client-1.example.com, pero prohben conexiones desde client-2.example.com: sshd : client-1.example.com : allow sshd : client-2.example.com : deny Al permitir el control de acceso por regla, el campo de opciones permite a los administradores consolidar todas las reglas de acceso en un slo archivo: bien sea hosts.allow o hosts.deny. Algunos consideran que esta es una forma ms fcil de organizar reglas de acceso.

Comandos de la shell

Los campos de opciones permiten a las reglas de acceso lanzar comandos de la shell a travs de las directivas siguientes:

Spawn; Lanza un comando de la shell como un proceso hijo. Esta directiva de opcin puede

realizar tareas como el uso de /usr/sbin/safe_finger para obtener ms informacin sobre el cliente solicitante o la creacin de archivos de registro especiales usando el comando echo. En el ejemplo siguiente, los clientes intentando accesar servicios Telnet desde el dominio example.com son registrados discretamente a un archivo especial:

in.telnetd : .example.com \ : spawn /bin/echo `/bin/date` from %h>>/var/log/telnet.log \ : allow

Ing. Eduardo A. Aparicio C.

Pgina 32

Twist; Reemplaza el servicio solicitado con el comando especificado. Esta directriz se utiliza a

menudo para colocar trampas para intrusos (tambin llamados "potes de miel"). Tambin se puede utilizar para enviar mensajes a los clientes que se estn conectando. La directriz twist debe estar al final de la lnea de la regla. En el ejemplo siguiente, los clientes intentando accesar servicios FTP desde el dominio example.com se les enva un mensaje a travs del comando echo:

vsftpd : .example.com \ : twist /bin/echo "421 Bad hacker, go away!" Para ms informacin sobre las opciones de comando de la shell, consulte la pgina del manual de hosts_options.

Expansiones

Las expansiones, cuando se utilizan en conjunto con las directrices spawn y twist, proporcionan informacin sobre el cliente, servidor y los procesos relacionados. Abajo se encuentra una lista de las expansiones soportadas: %a, Suministra la direccin IP del cliente. %A, Suministra la direccin IP del servidor. %c, Proporciona informacin variada sobre el cliente, como el nombre de usuario y el de la mquina o el nombre del usuario y la direccin ip. %d, Proporciona el nombre del proceso demonio. %h, Suministra el nombre de la mquina del cliente (o la direcccin ip, si el nombre de la mquina no est disponible). %H, Suministra el nombre de la mquina del servidor (o la direccin ip si el nombre de la mquina no est disponible). %n, Proporciona el nombre de la mquina del cliente. Si no est disponible aparecer unknown. Si el nombre de la mquina y la direccin de la mquina no se corresponden, aparecer paranoid. %N, Proporciona el nombre de la mquina del servidor. Si no est disponible aparecer unknown. Si el nombre de la mquina y su direccin no coinciden, aparecer paranoid. %p, Suministra el ID del proceso demonio. %s, Suministra informacin varia del servidor como el proceso demonio y la mquina o la direccin IP del servidor. %u, Proporciona el nombre de usuario del cliente. Si no est disponible aparecer unknown. El ejemplo siguiente usa una expansin en conjunto con el comando spawn para identificar el host cliente en un archivo de registro personalizado. Cuando se intentan conexiones al demonio SSH (sshd) desde un host en el dominio example.com, ejecute el comando echo para registrar el intento, incluyendo el nombre del host cliente (usando la expansin %h), a un archivo especial: sshd : .example.com \ : spawn /bin/echo `/bin/date` access denied to %h>>/var/log/sshd.log \ : deny De forma similar, las expansiones se pueden utilizar para personalizar mensajes de vuelta al cliente. En el ejemplo siguiente, los clientes intentando accesar servicios FTP desde el dominio example.com son informados que se les ha prohibido acceder al servidor: vsftpd : .example.com \ : twist /bin/echo "421 %h has been banned from this server!"

Ing. Eduardo A. Aparicio C.

Pgina 33

Para una explicacin completa de las expansiones disponibles, as como tambin opciones de control de acceso adicionales, revise la seccin 5 de la pgina man para hosts_access (man 5 hosts_access) y la pgina man de hosts_options.

xinetd

El demonio xinetd es un super servicio wrapped tcp que controla el acceso a un subconjunto de servicios de red populares incluyendo ftp, imap y telnet. Tambin proporciona opciones de configuracin especficas al servicio para el control de acceso, registro mejorado, re direccionamiento y control de utilizacin de recursos. Cuando un host cliente intenta conectarse a un servicio de red controlado por xinetd, el sper servicio recibe la peticin y verifica por cualquier regla de control de acceso wrapper tcp. Si se permite el acceso, xinetd verifica que la conexin sea permitida bajo sus propias reglas para ese servicio y que el servicio no est consumiendo ms de la cantidad de recursos o si est rompiendo alguna regla definida. Luego comienza una instancia del servicio solicitado y pasa el control de la conexin al mismo. Una vez establecida la conexin, xinetd no interfiere ms con la comunicacin entre el host cliente y el servidor.

Archivos de configuracin xinetd


Los archivos de configuracin para xinetd son los siguientes: /etc/xinetd.conf El archivo de configuracin global de xinetd. /etc/xinetd.d/ El directorio que contiene todos los archivos especficos al servicio.

El archivo /etc/xinetd.conf

El archivo /etc/xinetd.conf contiene parmetros de configuracin generales los cuales afectan cada servicio bajo el control de xinetd. Se lee una vez cuando el servicio xinetd es iniciado, por esto, para que los cambios de la configuracin tomen efecto, el administrador debe reiniciar el servicio xinetd. Abajo se muestra un ejemplo del archivo /etc/xinetd.conf: defaults { instances log_type log_on_success log_on_failure cps } includedir /etc/xinetd.d

= 60 = SYSLOG authpriv = HOST PID = HOST = 25 30

Estas lneas controlan los siguientes aspectos de xinetd: Instances; Configura el mximo nmero de peticiones que xinetd puede manejar simultneamente. log_type; Configura xinetd para usar la facilidad de registro authpriv, el cual escribe las entradas de registro al archivo /var/log/secure. Al agregar una directiva tal como FILE /var/log/xinetdlog aqu, crear un archivo de registro personalizado llamado xinetdlog en el directorio /var/log/. log_on_success; Configura xinetd a registrar si la conexin es exitosa. Por defecto, la direccin IP del host remoto y el ID del proceso del servidor procesando la peticin son grabados. log_on_failure; Configura xinetd para registrar si hay una falla de conexin o si la conexin no es permitida. Cps; Configura xinetd para no permitir ms de 25 conexiones por segundo a cualquier servicio dado. Si se alcanza este lmite, el servicio es retirado por 30 segundos.

Ing. Eduardo A. Aparicio C.

Pgina 34

includedir /etc/xinetd.d/; Incluye las opciones declaradas en los archivos de configuracin

especficos del servicio localizados en el directorio /etc/xinetd.d/. Consulte la seccin 17.4.2 para ms informacin sobre este directorio.

El directorio /etc/xinetd.d/

El directorio /etc/xinetd.d/ contiene los archivos de configuracin para cada servicio manejado por xinetd y los nombres de los archivos que se correlacionan con el servicio. Como sucede con xinetd.conf, este archivo slo es ledo cuando el servicio xinetd es arrancado. Para que los cambios tengan efecto, el administrador debe reiniciar el servicio xinetd. El formato de los archivos en el directorio /etc/xinetd.d/ usan las mismas convenciones que /etc/xinetd.conf. La razn principal por la que la configuracin para cada servicio es almacenada en un archivo separado es hacer ms fcil la personalizacin y que sea menos probable afectar otros servicios. Para tener una idea de cmo estos archivos estn estructurados, considere el archivo /etc/xinetd.d/telnet: service telnet { flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = yes } Estas lneas controlan varios aspectos del servicio telnet: service; Define el nombre del servicio, usualmente uno listado en el archivo /etc/services. Flags; Configura cualquier nmero de atributos para la conexin. REUSE instruye xinetd a reutilizar el socket para una conexin Telnet. socket_type; Configura el socket de red a escribir a stream. Wait; Define si el servicio es de un slo hilo (yes) o de mltiples hilos (no). User; Define bajo qu ID de usuario se ejecutar el proceso. Server; Define el binario ejecutable a lanzar. log_on_failure; Define los parmetros de registro para log_on_failure adems de aquellos ya definidos en xinetd.conf. disable; Define si el servicio est activo o no.

Modificar archivos de configuracin xinetd Opciones de registro


Las siguientes opciones de registro estn disponibles para /etc/xinetd.conf y los archivos de configuracin especficos al servicio en el directorio /etc/xinetd.d/. Abajo se muestra una lista de algunas de las opciones de registro usadas ms comnmente: ATTEMPT; Indica que se intent realizar una conexin pero que sta fall (log_on_failure). DURATION; Indica el tiempo que un sistema remoto usa un servicio (log_on_success). EXIT; Indica el estado de salida o la seal de trmino del servicio (log_on_success). HOST; Indica la direccin IP de la mquina remota (log_on_failure y log_on_success). PID; Indica el ID del proceso del servidor que recibe la peticin (log_on_success).

Ing. Eduardo A. Aparicio C.

Pgina 35

USERID; Registra el usuario remoto que est usando el mtodo definido en RFC 1413 para
todos los servicios de multi procesos (log_on_failure y log_on_success). Para una lista completa de las opciones de registro, consulte la pgina de manual de xinetd.conf.

Opciones de control de acceso

Los usuarios de servicios xinetd pueden seleccionar usar reglas de acceso a hosts wrapped tcp, proporcionar control de acceso a travs de los archivos de configuracin xinetd, o una mezcla de ambos. El control de acceso xinetd es diferente del mtodo usado por los wrappers tcp. Mientras que los wrapper tcp colocan toda la configuracin del acceso dentro de dos archivos, /etc/hosts.allow y /etc/hosts.deny, el control de acceso de xinetd se encuentra en el archivo de configuracin de cada servicio dentro del directorio /etc/xinetd.d. Las opciones de acceso a host siguientes son soportadas por xinetd: only_from; Slo permite que las mquinas especficas usen el servicio. no_access; Impide que estas mquinas usen el servicio. access_times; Especifica el intervalo de tiempo en el que un determinado servicio puede ser usado. El rango de tiempo debe especificarse en formato de 24 horas, hh: mm-hh:mm. Las opciones only_from y no_access pueden usar una lista de direcciones ip o nombres de hosts, o pueden especificar una red completa. Como los wrapper tcp, combinando el control del acceso xinetd con una configuracin de conexin apropiada puede mejorar la seguridad mediante el bloqueo de peticiones de hosts vetados mientras que graba cada intento de conexin. Por ejemplo, el siguiente archivo /etc/xinetd.d/telnet puede ser usado para bloquear el acceso a Telnet desde un un grupo de red particular y restringir el rango de tiempo general que inclusive los usuarios permitidos pueden conectarse: service telnet { disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID no_access = 10.0.1.0/24 log_on_success += PID HOST EXIT access_times = 09:45-16:15 } En este ejemplo, cuando un sistema cliente desde la red 10.0.1.0/24, tal como 10.0.1.2, intenta accesar el servicio Telnet, recibir un mensaje indicando lo siguiente: Connection closed by foreign host. Adems, sus intentos de conexin son registrados en /var/log/secure como sigue: May 15 17:38:49 boo xinetd[16252]: START: telnet pid=16256 from=10.0.1.2 May 15 17:38:49 boo xinetd[16256]: FAIL: telnet address from=10.0.1.2 May 15 17:38:49 boo xinetd[16252]: EXIT: telnet status=0 pid=16256

Ing. Eduardo A. Aparicio C.

Pgina 36

Cuando est usando wrapper tcp en conjunto con controles de acceso xinetd, es importante entender la relacin entre los dos mecanismos de control de acceso. A continuacin se muestra el orden de las operaciones seguido por xinetd cuando un cliente solicita una conexin:

1. El demonio xinetd accesa las reglas de acceso a hosts wrapper tcp a travs de una llamada a la

librera libwrap.a. Si alguna regla de rechazo coincide con el host cliente, la conexin se rechaza. Si una regla de aceptacin coincide con el host cliente, la conexin es pasada al xinetd. solicitado. Si una regla de rechazo coincide con el host cliente la conexin es rechazada. De lo contrario, xinetd inicia una instancia del servicio solicitado y pasa el control de la conexin al mismo.

2. El demonio xinetd verifica sus propias reglas de acceso para el servicio xinetd y el servicio

Vincular y redirigir opciones

Los ficheros de configuracin de servicios para el comando xinetd tambin soportan la vinculacin del servicio a una direccin ip y el desvo de las peticiones entrantes para dicho servicio a otra direccin ip, nombre de la mquina o puerto. La vinculacin es controlada con la opcin bind que se encuentra en el archivo de configuracin especfico del servicio, y une especficamente el servicio a una direccin ip del sistema. Una vez configurada, la opcin bind slo permite peticiones para la direccin ip apropiada para accesar el servicio. De esta forma se pueden vincular servicios diferentes a interfaces de red diferentes basados en la necesidad. Esto es til sobre todo para los sistemas con mltiples adaptadores de red o con mltiples direcciones ip. En tales sistemas, los servicios inseguros como Telnet, se pueden configurar de modo que solo escuche a la interfaz conectada a una red privada, y no a la interfaz conectada a Internet. La opcin redirect acepta la direccin ip o el nombre de la mquina seguido del nmero de puerto. Dice al servicio que desve todas las peticiones para dicho servicio a una localizacin y nmero de puerto especficos. Esta caracterstica se usa para establecer otro nmero de puerto en el mismo sistema, desviar la peticin a otra direccin ip en la misma mquina, cambiar la peticin a otro sistema y puerto completamente diferentes o con la combinacin de cualquiera de estas opciones. De esta manera, un usuario que est conectado a un determinado servicio en un sistema puede ser redirigido a otro sistema sin ninguna interrupcin. El demonio xinetd lleva a cabo este desvo lanzando un proceso que mantenga la conexin entre la mquina cliente que est mandando la peticin y la mquina que est dando en ese momento el servicio, transfiriendo los datos de un sistema a otro. El mayor beneficio de estas dos opciones se obtiene cuando se usan juntas. Vinculando un servicio a una direccin ip determinada en un sistema y luego desviando las peticiones de dicho servicio a una segunda mquina que solo puede ver la primera mquina, se puede usar un sistema interno que ofrezca servicios para una red completamente diferente. Alternativamente, estas opciones se pueden usar para limitar la exposicin de un servicio determinado a una direccin ip conocida, as como desviar todas las peticiones a ese servicio a otra mquina configurada especficamente para ese objetivo. Por ejemplo, considere un sistema que se usa como firewall con la caracterstica siguiente para su servicio Telnet: service telnet { socket_type wait

= stream = no

Ing. Eduardo A. Aparicio C.

Pgina 37

server log_on_success log_on_failure bind redirect }

= /usr/sbin/in.telnetd += DURATION USERID += USERID = 123.123.123.123 = 10.0.1.13 23

Las opciones bind y redirect en este archivo aseguran que el servicio Telnet en la mquina est enlazado con la direccin ip externa (123.123.123.123), la que se encarga de Internet. Adems, todas las peticiones del servicio Telnet enviadas a 123.123.123.123 son redirigidas a travs de una segunda tarjeta de red a una direccin IP interna (10.0.1.13) a la que solo tienen acceso el firewall y los sistemas internos. El firewall manda luego la comunicacin entre los dos sistemas y el sistema que se est conectando piensa que est conectado a 123.123.123.123 mientras que, de hecho, est conectado a otra mquina. Esta caracterstica es til para los usuarios con conexiones de banda ancha y con una nica direccin IP fija. Cuando se usa la Traduccin de las direcciones de la red (Network Address Translation NAT), los sistemas detrs de la mquina gateway, que estn usando direcciones ip internas, no estn disponibles desde afuera del sistema gateway. Sin embargo, cuando determinados servicios controlados por xinetd son configurados con las opciones bind y redirect, la mquina gateway puede funcionar como un proxy entre los sistemas externos y una mquina interna particular configurada para proporcionar el servicio. Adems, las opciones de control de acceso xinetd y de conexin estn tambin disponibles para proteccin adicional.

Opciones de administracin de recursos

El demonio xinetd puede aadir un nivel bsico de proteccin de un ataque Denial of Service (DoS). Abajo se encuentra una lista de las directivas que pueden ayudar en limitar la efectividad de tales ataques:

per_source; Define el nmero mximo de instancias para un servicio por direccin ip. Acepta

slo enteros como argumentos y puede ser usado en xinetd.conf y los archivos de configuracin especficos al servicio xinetd.d/. cps; Define el mximo nmero de conexiones por segundo. Esta directiva toma dos argumentos enteros separados por un espacio en blanco. El primero es el nmero mximo de conexiones permitidas por segundo. El segundo es el nmero de segundos xinetd que debe esperar antes de reactivar el servicio. Slo acepta enteros como argumentos y puede ser usado en ambos xinetd.conf y los archivos de configuracin especficos al servicio en el directorio xinetd.d/. max_load; Indica el umbral de uso del cpu para un servicio. Acepta un argumento en forma de nmero de punto flotante.

Instalacin

Una vez descomprimido tecleamos make tipo de Unix (Linux, Sun Os, etc.) Esto nos crear 5 ejecutables los cuales reseamos a continuacin: tcpdchk y tcpdmatch que sirven para probar las reglas definidas en /etc/hosts.allow y /etc/hosts.deny. safe_finger es un sustituto seguro del finger tradicional y es capaz de enviar un mensaje a nuestros posibles atacantes. try-from testea host and username de forma que podemos ver como responde tcpd ante diferentes hosts remotos e idents. tcpd es el verdadero protagonista que protege y envuelve a las aplicaciones que utilizan sus opciones. El siguiente paso es modificar el fichero de configuracin de inetd (/etc/inetd.conf) para decirle qu servicios queremos proteger bajo tcpd.

Ing. Eduardo A. Aparicio C.

Pgina 38

Veamos una entrada clsica en inetd.conf para el daemon in.fingerd finger stream tcp nowait nobody /usr/etc/in.fingerd in.fingerd y a continuacin como retocarla para su correcto funcionamiento finger stream tcp nowait nobody /usr/etc/tcpd in.fingerd Este paso debemos repetirlo por cada servicio que queramos proteger, tambin debemos cargar inetd con su nueva configuracin, dependiendo de nuestro tipo de Unix bastar con eead:~# ps ax|grep inetd 61? S 0:00 /usr/sbin/inetd y despus mandarle una seal kill -HUP al nmero de pid en concreto eead:~# kill -HUP 61 Ejemplos de configuracin para /etc/hosts.allow /etc/hosts.deny Veamos unas reglas sencillas en nuestro /etc/hosts.allow y /etc/hosts.deny y despus seguiremos con detenimiento el fichero de log /var/log/messages (puede cambiar segn vuestro tipo de Unix) Aqu deniego las conexiones a todo el mundo. (/etc/hosts.deny) # hosts. deny This file describes the names of the hosts which are # *not* allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # # Version: @(#)/etc/hosts.deny 1.00 05/28/93 # # Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org # # ALL: ALL Y aqu defino de forma explcita quines puedes utilizar nuestros servicios (etc/hosts.allow) Se puede apreciar que slo las conexiones provenientes de nuestra propia clase C, la universidad de Zaragoza y CSIC son permitidas, tamben veremos como ftp es permitido a todo el mundo. hosts. allow This file describes the names of the hosts which are # allowed to use the local INET services, as decided by # the '/usr/sbin/tcpd' server. # # Version: @ (#)/etc/hosts.allow 1.00 05/28/93 # # Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org # # # End of hosts. allow. ALL: LOCAL, 155.210. , .unizar.es, .csic.es, wu.ftpd: ALL Observemos como el syslog le enva a nuestro fichero de log informacin sobre las conexiones que han sido denegadas: Nov 8 14:42:33 eead in.telnetd [97]: refused connect from 195.76.253.166 Nov 8 14:42:34 eead in.telnetd [98]: refused connect from 195.76.253.166 Nov 8 14:42:34 eead in.telnetd [99]: refused connect from 195.76.253.166 Nov 8 14:41:48 eead in.telnetd [142]: refused connect from 195.76.253.166

Ing. Eduardo A. Aparicio C.

Pgina 39

Nov 19 15:41:34 eead in.telnetd [4622]: refused connect from 128.249.251.140 Nov 19 15:41:49 eead in.telnetd [4623]: refused connect from 128.249.251.140 Nov 19 15:42:12 eead in.telnetd [4624]: refused connect from 128.249.251.140 Nov 19 15:44:19 eead in.fingerd [4629]: refused connect from 128.249.251.140 Nov 20 15:45:21 eead ipop3d [4634]: refused connect from 128.249.251.140 Nov 20 16:41:26 eead in.ntalkd [4817]: refused connect from 128.249.251.140

Limitaciones y cmo solucionarlos

Tcp wrapper no trabaja con servicios RPC bajo tcp, podemos combatir este vaco utilizando portmapper o rpcbind que son sustitutos seguros de rcp.portmap tradicional. Tcp wrapper no acostumbra a trabajar con servicios ejecutados como stand alone, exceptuando algunos casos especiales, por ejemplo (ltimas versiones de sendmail compiladas con soporte tcp wrapper)

Condiciones de uso

Tcp wrapper ha sido desarrollado por Wietse Venema wietse@wzv.win.tue.nl y es de dominio pblico. Podemos redistribuirlo siempre que hagamos mencin del Copyright. Para ms informacin podemos leer el fichero DISCLAIMER que viene con todas las distribuciones.

Consideraciones finales

Este documento no quiere en ningn caso competir ni sustituir la excelente documentacin original, el objetivo es dar a conocer a nuestra comunidad de la herramienta tcp wrapper y dar una visin general de la misma. Para cubrir los aspectos no tratados aqu o para configuraciones ms avanzadas , rogamos leer los ficheros Readme y las pginas man que vienen con el paquete.

Pluggable Authentication Modules (PAM)


Los programas que permiten a los usuarios accesar un sistema verifican la identidad de cada usuario a travs de un proceso llamado autentificacin. Histricamente, cada programa tiene su forma particular de realizar la autentificacin. Bajo Red Hat Enterprise Linux, muchos de tales programas son configurados para usar un proceso de autenticacin centralizado llamado Pluggable Authentication Modules (PAM). PAM utiliza una arquitectura conectable y modular, que otorga al administrador del sistema de una gran flexibilidad en establecer las polticas de autenticacin para el sistema. En la mayora de los casos, el archivo de configuracin por defecto PAM para una aplicacin tipo PAM es suficiente. Sin embargo, algunas veces es necesario modificar el archivo de configuracin. Debido a que un error en la configuracin de PAM puede comprometer la seguridad del sistema, es importante que comprenda la estructura del estos archivos antes de hacer cualquier modificacin (consulte seccin 16.3 para ms informacin).

Las ventajas de PAM


PAM ofrece las ventajas siguientes: Proporciona un esquema de autenticacin comn que se puede usar con una gran variedad de aplicaciones. Permite gran flexibilidad y control de la autentificacin tanto para los administradores del sistema como para los desarrolladores de la aplicacin. Permite a los desarrolladores de aplicaciones desarrollar programas sin tener que crear sus propios esquemas de autenticacin

Archivos de configuracin PAM


El directorio /etc/pam.d/ contiene los archivos de configuracin de PAM para cada aplicacin tipo PAM. En versiones antiguas de PAM se utilizaba /etc/pam.conf, pero este archivo ya no se utiliza y solamente es usado si el directorio /etc/pam.d/ no existe.

Ing. Eduardo A. Aparicio C.

Pgina 40

Archivos de servicios PAM

Cada aplicacin tipo PAM o servicios tiene un archivo dentro del directorio /etc/pam.d/. Cada uno de estos archivos lleva el nombre del servicio para el cual controla el acceso. Depende del programa tipo PAM definir el nombre de su servicio e instalar su archivo de configuracin en el directorio /etc/pam.d/. Por ejemplo, el programa login define su nombre de servicio como login e instala el archivo de configuracin PAM /etc/pam.d/login.

Formato del archivo de configuracin PAM


Cada archivo de configuracin PAM contiene un grupo de directivas formateadas como sigue: <module interface> <control flag> <module name> <module arguments> En las siguientes secciones se explican cada uno de estos elementos.

Interfaz de mdulo

Existen cuatro tipos de mdulos PAM usados para controlar el acceso a los servicios. Estos tipos establecen una correlacin entre los diferentes aspectos del proceso de autorizacin: Auth; Esta interfaz de mdulo autentifican el uso.Por ejemplo, solicita y verifica la validez de una contrasea. Los mdulos con esta interfaz tambin pueden establecer credenciales, tales como membrecas de grupo o tickets Kerberos. Account; Esta interfaz de mdulo verifica que sea permitido el acceso. Por ejemplo, puede verificar que la cuenta no haya caducado o que el usuario tenga permiso de iniciar sesiones a una hora del da particular. Password; Este mdulo se usa para establecer y verificar contraseas. Sesin; Esta interfaz de mdulo configura y administra las sesiones de usuarios. Los mdulos con esta interfaz tambin pueden realizar tareas adicionales que son requeridas para permitir acceso, como el montaje de directorios principales de usuarios y hacer el buzn de correo del usuario disponible. En un archivo de configuracin PAM, la interfaz del mdulo es el primer campo a definir. Por ejemplo, una lnea tpica de una configuracin sera: auth required pam_unix.so

Esto provoca que PAM observe el componente pam_unix.so del mdulo auth.

Apilar interfaces de mdulos

Las directivas de interfaces de mdulos pueden ser apiladas o colocadas una sobre otra para que se puedan usar mltiples mdulos para un mismo propsito. Por esta razn, el orden de una pila de mdulos es muy importante en el procedimiento de autenticacin. El hecho de apilarlos hace que sea ms fcil para que el administrador exija diversas condiciones antes de permitir la autentificacin del usuario. Por ejemplo, rlogin normalmente usa cinco mdulos auth, como se puede ver en el archivo de configuracin de PAM: auth auth auth auth auth required pam_nologin.so required pam_securetty.so required pam_env.so sufficient pam_rhosts_auth.so required pam_stack.so service=system-auth

Ing. Eduardo A. Aparicio C.

Pgina 41

Antes de que a alguien se le permita llevar a cabo el rlogin, PAM verifica que el archivo /etc/nologin no exista, que no est intentando iniciar una sesin en modo remoto como root sobre una conexin de red y que se pueda cargar cualquier variable de entorno. Entonces si se lleva a cabo una autenticacin rhosts exitosa, se permita la conexin. Si falla la autenticacin rhosts entonces se lleva a cabo una autenticacin de contrasea estndar.

Indicadores de control

Todos los mdulos PAM generan un resultado de xito o fracaso cuando se les llama. Los indicadores de control le dicen a PAM qu hacer con el resultado. Como los mdulos pueden apilarse en un determinado orden, los indicadores de control le dan la posibilidad de fijar la importancia de un mdulo con respecto al objetivo final del proceso de autenticacin para el servicio. Hay cuatro indicadores de control definidos: Required; El resultado del mdulo debe ser exitoso para que la autenticacin contine. Si un mdulo required falla, el usuario no es notificado hasta que los resultados en todos los mdulos referenciando esa interfaz sean completados. Requisite; El resultado del mdulo debe ser exitoso para que la autenticacin contine. Sin embargo, si el resultado de un mdulo requisite falla, el usuario es notificado inmediatamente con un mensaje reflejando el primer mdulo required o requisite fracasado. Sufficient: El resultado del mdulo es ignorado si falla. Pero si el resultado del mdulo con el indicador sufficient es exitoso y ningn mdulo con indicador required ha fallado, entonces no se requiere ningn otro resultado y el usuario es autenticado para el servicio. Optional: Se ignora el resultado del mdulo. Un mdulo con una bandera optional slo es necesario para la autenticacin exitosa cuando no hay otros mdulos referenciando la interfaz. Ahora est disponible para PAM una sintaxis ms nueva de indicadores de control que permiten un control ms preciso. Por favor revise los documentos de PAM localizados en el directorio /usr/share/doc/pam-<version-number>/ para informacin sobre esta nueva sintaxis (donde <version-number> es el nmero de versin de PAM).

Nombre del mdulo

El nombre del mdulo le proporciona a PAM el nombre del mdulo que contiene la interfaz del mdulo especificada. Bajo las versiones anteriores de Red Hat Enterprise Linux, se proporcionaba la ruta completa al mdulo dentro del archivo de configuracin PAM, tal como /lib/security/pam_stack.so. Sin embargo, desde el advenimiento de sistemas multilib, que almacenan mdulos PAM de 64-bits dentro del directorio /lib64/security/, el nombre del directorio es omitido debido a que las aplicaciones son enlazadas a la versin apropiada de libpam, que puede ubicar la versin correcta del mdulo.

Argumentos de mdulo

PAM utiliza argumentos para transmitir informacin a un mdulo conectable durante la autenticacin para algunos mdulos. Por ejemplo, el mdulo pam_userdb.so usa secretos almacenados en una base de datos Berkeley DB file para autenticar a los usuarios. La base de datos Berkeley es una base de datos open source incorporado en muchas aplicaciones. El mdulo toma un argumento db para que la base de datos Berkeley conozca que base de datos usar para el servicio solicitado. Una lnea tpica pam_userdb.so dentro de un archivo PAM es similar a: auth required pam_userdb.so db=<path-to-file>

Ing. Eduardo A. Aparicio C.

Pgina 42

En el ejemplo anterior, sustituya <path-to-file> con la ruta completa al archivo de base de datos Berkeley. Se ignoran los argumentos invlidos y no afectan en ningn modo el xito o fracaso del mdulo PAM. Sin embargo, la mayora de los mdulos reportarn un error al archivo /var/log/messages.

Muestras de archivos de configuracin PAM


A continuacin una muestra de archivo de configuracin de la aplicacin PAM: #%PAM-1.0 auth required pam_securetty.so auth required pam_unix.so shadow nullok auth required pam_nologin.so account required pam_unix.so password required pam_cracklib.so retry=3 password required pam_unix.so shadow nullok use_authtok session required pam_unix.so La primera lnea es un comentario como lo es toda lnea que inicie con el carcter (#). Las lneas dos, tres y cuatro apilan tres mdulos a usar para autentificaciones de inicio de sesin. auth required pam_securetty.so

Este mdulo se asegura de que si el usuario est tratando de conectarse como root, el tty en el cual el usuario se est conectando est listado en el archivo /etc/securetty, si ese archivo existe. auth required pam_unix.so shadow nullok

Este mdulo le solicita al usuario por una contrasea y luego verifica la contrasea usando la informacin almacenada en /etc/passwd y, si existe, en /etc/shadow. El mdulo pam_unix.so detecta automticamente y utiliza contraseas shadow para autenticar usuarios. El argumento nullok instruye al mdulo pam_unix.so a que permita una contrasea en blanco. auth required pam_nologin.so

Este es el paso final de la autenticacin. Verifica si el archivo /etc/nologin existe. Si nologin existe y el usuario no es root, la autenticacin falla. account required pam_unix.so Este mdulo realiza cualquier verificacin de cuenta necesaria. Por ejemplo, si las contraseas shadow han sido activadas, el componente de la cuenta del mdulo pam_unix.so verificar para ver si la cuenta ha expirado o si el usuario no ha cambiado la contrasea dentro del perodo de gracia otorgado. password required pam_cracklib.so retry=3 La lnea especifica que si el programa cambia la contrasea del usuario, ste debera usar el componente password del mdulo pam_unix.so para realizarlo. Esto suceder tan slo si la porcin auth del mdulo pam_unix.so ha determinado que la contrasea necesita ser cambiada.

Ing. Eduardo A. Aparicio C.

Pgina 43

El argumento shadow le dice al mdulo que cree contraseas shadow cuando se actualiza la contrasea del usuario. El argumento nullok indica al mdulo que permita al usuario cambiar su contrasea desde una contrasea en blanco, de lo contrario una contrasea vaca o en blanco es tratada como un bloqueo de cuenta. El argumento final de esta lnea, use_authtok, proporciona un buen ejemplo de la importancia del orden al apilar mdulos PAM. Este argumento advierte al mdulo a no solicitar al usuario una nueva contrasea. En su lugar se acepta cualquier contrasea que fu registrada por un mdulo de Si la contrasea ha expirado, el componente de la contrasea del mdulo pam_cracklib.so le pide por una nueva contrasea. Luego evala la nueva contrasea para ver si puede ser fcilmente determinado por un programa que descubre las contraseas basadas en diccionario. Si esto falla la primera vez, le da al usuario dos oportunidades ms de crear una contrasea ms robusta debido al argumento retry=3. password required pam_unix.so shadow nullok use_authtok Esta contrasea anterior. De este modo, todas las nuevas contraseas deben pasar el test de pam_cracklib.so para contraseas seguras antes de ser aceptado. session required pam_unix.so La ltima lnea especifica que el componente de la sesin del mdulo pam_unix.so gestionar la sesin. Este mdulo registra el nombre de usuario y el tipo de servicio a /var/log/messages al inicio y al final de cada sesin. Puede ser complementado apilndolo con otros mdulos de sesin si necesita ms funcionalidad. El prximo ejemplo de archivo de configuracin ilustra el apilamiento del mdulo auth para el programa rlogin. #%PAM-1.0 auth required auth required auth required auth sufficient auth required

pam_nologin.so pam_securetty.so pam_env.so pam_rhosts_auth.so pam_stack.so service=system-auth

Primero, pam_nologin.so verifica para ver si /etc/nologin existe. Si lo hace, nadie puede conectarse excepto root. auth required pam_securetty.so

El mdulo pam_securetty.so previene al usuario root de conectarse en terminales inseguros. Esto desactiva efectivamente a todos los intentos de root rlogin debido a las limitaciones de seguridad de la aplicacin. auth required pam_env.so

El mdulo carga las variables de entorno especificadas en /etc/security/pam_env.conf. auth sufficient pam_rhosts_auth.so

Ing. Eduardo A. Aparicio C.

Pgina 44

El mdulo pam_rhosts_auth.so autentifica al usuario usando .rhosts en el directorio principal del usuario. Si tiene xito, PAM considera inmediatamente la autenticacin como exitosa. Si falla pam_rhosts_auth.so en autenticar al usuario, el intento de autenticacin es ignorado. auth required pam_stack.so service=system-auth

Si el mdulo pam_rhosts_auth.so falla en autenticar al usuario, el mdulo pam_stack.so realiza la autenticacin de contraseas normal. El argumento service=system-auth indica que el usuario debe pasar a travs de la configuracin PAM para la autenticacin del sistema como se encuentra en /etc/pam.d/system-auth.

Creacin de mdulos PAM


Se puede aadir nuevos mdulos PAM en cualquier momento para que las aplicaciones que soporten PAM los usen. Por ejemplo, si un desarrollador inventa un mtodo de creacin de contrasea de una sola vez, y escribe un mdulo PAM que lo soporte, los programas tipo PAM pueden inmediatamente usar el nuevo mdulo y el mtodo de contrasea sin recompilar. Esto permite a los desarrolladores y administradores de sistemas mezclar y coincidir, as como tambin evaluar, mtodos de autenticacin para programas diferentes sin recompilarlos. Se incluye la documentacin sobre la escritura de mdulos en el directorio /usr/share/doc/pam<version-number>/ (donde <version-number> es el nmero de versin para PAM).

PAM y el cach de credenciales administrativas


Varias herramientas grficas administrativas bajo Red Hat Enterprise Linux otorgan a los usuarios privilegios especiales por hasta 5 minutos a travs del mdulo pam_timestamp.so. Es importante entender cmo funciona este mecanismo puesto que un usuario que deja su terminal mientras pam_timestamp.so est en efecto, deja la mquina abierta a la manipulacin por cualquiera con acceso fsico a la consola. Bajo el esquema de estampillas de PAM, cuando se ejecuta la aplicacin administrativa grfica esta le pide al usuario por la contrasea de root. Una vez autenticado, el mdulo pam_timestamp.so crea un archivo de estampilla de tiempo (timestamp) dentro del directorio /var/run/sudo/ por defecto. Si el archivo timestamp ya existe, otros programas grficos administrativos no le pedirn contrasea. En vez de esto, el mdulo pam_timestamp.so refrescar el archivo timestamp reservando unos cinco minutos extra de acceso administrativo para el usuario. La existencia de un archivo timestamp se denota por un icono de autenticacin en el rea de notificacin del panel. Abajo se muestra una ilustracin del icono de autenticacin:

El icono de autenticacin Eliminar el archivo timestamp


Es recomendable que antes de dejar desatendida una consola donde est activo un timestamp PAM, se destruya el archivo timestamp. Para hacerlo desde un ambiente grfico, pulse en el icono de autenticacin en el panel. Cuando aparezca una ventana de dilogo, pulse en el botn Olvidar

autorizacin

Ing. Eduardo A. Aparicio C.

Pgina 45

Dilogo del icono de autenticacin

Si est conectndose a un sistema remtamente usando ssh, utilice el comando /sbin/pam_timestamp_check -k root para destruir el archivo timestamp. Para informacin sobre cmo destruir el archivo timestamp usando pam_timestamp_check, refirase a la pgina man de pam_timestamp_check.

Directivas pam_timestamp comunes

El mdulo pam_timestamp.so acepta muchas directivas. Abajo estn las opciones usadas ms comnmente: timestamp_timeout; Especifica el nmero de segundos durante el que el archivo timestamp es vlido (en segundos). El valor por defecto es 300 segundos (cinco minutos). Timestampdir; Especifica el directorio en el cual se almacena el archivo de estampilla de tiempo. El valor por defecto es /var/run/sudo. Para ms informacin sobre el control del mdulo pam_timestamp.so, refirase a la seccin 16.8.1.

PAM y propiedad del dispositivo


Red Hat Enterprise Linux permite al primer usuario que se conecte en una consola fsica de la mquina la habilidad de manipular algunos dispositivos y realizar algunas tareas normalmente reservadas para el usuario root. Esto es controlado por un mdulo PAM llamado pam_console.so.

Propiedad del dispositivo

Cuando un usuario se registra en una mquina bajo Red Hat Enterprise Linux, el mdulo pam_console.so es llamado por login o los programas de inicio de sesin grfica, gdm y kdm. Si este usuario es el primero en conectarse en la consola fsica llamado usuario de consola el mdulo concede la propiedad de una variedad de dispositivos que normalmente posee root. El usuario de la consola posee estos dispositivos hasta que la ltima sesin local para ese usuario finaliza. Una vez que el usuario se ha desconectado, la propiedad de los dispositivos vuelve a root. Los dispositivos afectados incluyen, pero no son limitados, las tarjetas de sonido, las unidades de disco y las unidades de CD-ROM. Esto permite que el usuario local manipule estos dispositivos sin llegar a tener acceso root, de manera que se simplifican las tareas comunes para el usuario de la consola. Modificando el archivo /etc/security/console.perms, el administrador puede editar la lista de dispositivos controlados por pam_console.so. Atencin

Ing. Eduardo A. Aparicio C.

Pgina 46

Si el archivo de configuracin del gestor de ventanas gdm, kdm, o xdm ha sido alterado para permitir a los usuarios remotos conectarse y la mquina est configurada para ejecutarse en el nivel de ejecucion 5, se recomienda cambiar las directivas <console> y <xconsole> dentro de /etc/security/console.perms a los valores siguientes: <console>=tty [0-9] [0-9]* vc/ [0-9] [0-9]*:0\. [0-9]:0 <xconsole>=:0\. [0-9]:0 Al hacer esto se previene que los usuarios remotos ganen acceso a los dispositivos y a las aplicaciones restringidas en la mquina. Si el archivo de configuracin del gestor de ventanas gdm, kdm, o xdm ha sido alterado para permitir que los usuarios remotos se conecten y la mquina est configurada para ejecutarse en cualquier nivel de ejecucin de mltiples usuarios excepto 5, se recomienda eliminar la directiva <xconsole> completamente y cambiar la directiva <console> al valor siguiente: <console>=tty[0-9][0-9]* vc/[0-9][0-9]*

Acceso de la aplicacin

Tambin se le permite al usuario de la consola (console user) el acceso a ciertos programas con un archivo que contenga el nombre del comando en el directorio /etc/security/console.apps/. Un grupo notable de aplicaciones a las que tiene acceso el usuario de la consola son tres programas que cierran o abren el sistema. Estos son: /sbin/halt /sbin/reboot /sbin/poweroff Debido a que estas son aplicaciones tipo PAM, ellas llaman al mdulo pam_console.so como un requerimiento para el uso. Para ms informacin, refirase a la seccin 16.8.1.

Recursos adicionales
Los siguientes recursos explican los mtodos para el uso y configuracin de PAM. Adems de estos recursos, lea los archivos de configuracin de PAM en el sistema para entender mejor como estn estructurados.

Documentacin instalada

Las pginas man relacionadas con PAM Hay un nmero de pginas man para las diferentes

aplicaciones y archivos de configuracin relacionados con PAM. : La lista siguiente muestra algunas de las pginas man ms importantes. Archivos de configuracin man pam; Buena informacin de introduccin a PAM, incluyendo la estructura y el propsito de los archivos de configuracin PAM. Observe que aunque esta pgina man habla sobre el archivo /etc/pam.conf, los archivos de configuracin reales para PAM bajo Red Hat Enterprise Linux estn en el directorio /etc/pam.d/. man pam_console; Describe el propsito del mdulo pam_console.so. Tambin describe la sintaxis adecuada para una entrada en el archivo de configuracin PAM. man console.apps; Describe el formato y las opciones disponibles dentro de /etc/security/console.apps, el archivo de configuracin que define cules aplicaciones estn accesibles para el usuario de la consola asignado por PAM.

Ing. Eduardo A. Aparicio C.

Pgina 47

/etc/security/console.perms, el archivo de configuracin para los permisos del usuario de la consola asignado por PAM. man pam_timestamp; Describe el mdulo pam_timestamp.so. /usr/share/doc/pam-<version-number>; Contiene un Manual para administrador de sistemas, un Manual del escritor del mdulo y el Manual para los desarrolladores de aplicaciones, as como tambin una copia del estndar PAM, DCE-RFC 86.0 (reemplace <version-number> con el nmero de la versin de PAM). /usr/share/doc/pam-<version-number>/txts/README.pam_timestamp; Contiene informacin sobre el mdulo PAM pam_timestamp.so (reemplace <version-number> con el nmero de la versin de PAM).

man console.perms; Describe el formato y las opciones disponibles dentro de

Introduccin

Servidor proxy squid

Squid es el software para servidor Proxy ms popular y extendido entre los sistemas operativos basados sobre Linux. Es muy confiable, robusto y verstil. Al ser software libre, esta disponible su cdigo fuente, est libre del pago de costosas licencias por uso o con restriccin a un uso con determinado nmero de usuarios. Squid ha sido desarrollado durante muchos aos y se le considera muy completo y robusto. Aunque orientado a principalmente a http y ftp es compatible con otros protocolos como Internet Gopher. Implementa varias modalidades de cifrado como tls, ssl, y https.

Caractersticas

Squid posee las siguientes caractersticas: Proxy y cach de http, ftp, y otras url Squid proporciona un servicio de proxy que soporta peticiones http, https y ftp a equipos que necesitan acceder a Internet y a su vez provee la funcionalidad de cach especializado en el cual almacena de forma local las pginas consultadas recientemente por los usuarios. De esta forma, incrementa la rapidez de acceso a los servidores de informacin Web y FTP que se encuentra fuera de la red interna. Entre otras cosas, Squid puede hacer proxy y cache con los protocolos http, ftp, gopher y wais, proxy de SSL, cache transparente, WWCP, aceleracin http, cache de consultas DNS y otras muchas ms como filtracin de contenido y control de acceso por IP y por usuario. Regularmente Squid no se instala de manera predeterminada a menos que especifique o contrario durante la instalacin del sistema operativo, sin embargo viene incluido en casi todas las distribuciones actuales. El procedimiento de instalacin es exactamente el mismo que con cualquier otro software. Si utiliza Fedora Core o White Box Enterprise Linux 3.0, ejecute lo siguiente y se instalar todo lo necesario junto con sus dependencias: $yum -y install squid

Instalacin del proxy squid para autenticar usuarios contra un servidor controlador de dominio w2k, Nt o W2003 Server
Gua rpida para poner a funcionar squid autenticando contra plataformas windows, usando smb_auth. 1) Instalacin de Squid desde los Cds del propio sistema, esto colocar el fichero de configuracin en el directorio /etc/squid/squid.conf 2) Configuracin del fichero squid.conf segn nuestras necesidades 3) Comprobacin de la existencia del fichero smb_auth, sino, conseguirlo e instalarlo. Modificar el Makefile a nuestro gusto. 4) Creacin del fichero proxyauth, con el nico contenido de la palabra allow en el (Sin retorno de carro) y colocacin de este en el directorio NETLOGON del W2K. 5) Copia de los ficheros nmblookup y smbclient en el directorio /usr/local/samba/bin

Ing. Eduardo A. Aparicio C.

Pgina 48

6)

Creacin de enlaces simblicos en /usr/local/samba/ de los ficheros /usr/local/samba/bin/nmblookup y smbclient 7) Tenemos que crear tres ficheros en /etc/squid/, estos son, (Este paso solo es necesario si vas a gestionar listas de acceso) - sitios.acl: Contiene un listado de sitios a los que se puede permitir o denegar el acceso a distintos grupos de usuarios. - everywhereusers.acl: Contiene un Listado de usuarios que cuando se autentiquen pertenecern al grupo everywhereusers - sitiosusers.acl: Contiene un listado de usuarios que cuando se autentiquen pertenecern al grupo sitiosusers 8) Para autenticar usuarios contra un servidor w2k Authenticate_program /usr/sbin/smb_auth W <dominio> 9) Tenemos que ejecutar squid -z, para que se nos cree el sistema de ficheros donde se guardar la cache en var/log/squid.

Trabajando con las acls

Tambin conocidas como listas de acceso. Ejemplos comunes: acl sitios dst "/etc/squid/sitios.acl" acl everywhereusers proxy_auth /etc/squid/everywhereusers acl sitiosusers proxy_auth /etc/squid/sitiosusers La primera de estas tres listas de acceso, crea una ACL que contiene una relacin de sitios de destino, listados en el fichero /etc/squid/sitios.acl, de tal manera que podremos permitir o denegra a ciertos usuarios el acceso a estos sitios. Tambin se podran haber listado todos uno detrs de otro y separados por un espacio. La segunda ACL, indica que cuando se autentifique un usuario, como cualquiera de los que haya en el fichero everywhereusers.acl, este, pertenecer al grupo everywhereusers. La tercera, lo que indica es que cuando un usuario se autentifique como cualquiera de los contenidos en sitiosusers.acl, este pertenecer a la ACL sitiosusers Ahora estableceremos los diferentes permisos para estas ACLs. http_ access allow sitios sitiosusers http_ access allow everywhereusers http_access deny all La primera de estas directivas, indica, que se permite el acceso a las URLs contenidas en /etc/squid/sitios.acl a todos los usuarios identificados en la ACL correspondiente como sitiosusers, esto es de momento tan solo a Luis. La segunda, indica que se le va a permitir el acceso a todos los contenidos sin restriccin, a todos los usuarios que estn listados en la ACL everywhereusers. La tercera indica que si un usuario no pertenece a ninguno de estos grupos, se le denegar el acceso al proxy.

Proxy para ssl

Squid tambin es compatible con SSL (Secure Socket Layer) con lo que tambin acelera las transacciones cifradas, y es capaz de ser configurado con amplios controles de acceso sobre las peticiones de usuarios.

Jerarquas de cach
Ing. Eduardo A. Aparicio C. Pgina 49

Squid puede formar parte de una jerarqua de caches. Diversos proxy trabajan conjuntamente sirviendo las peticiones de las pginas. Un navegador solicita siempre las pginas a un slo proxy, si este no tiene la pgina en la cach hace peticiones a sus hermanos, que si tampoco las tienen las hacen a su/s padre/s.Estas peticiones se pueden hacer mediante dos protocolos: http e icmp.

Icp, htcp, carp, cach digests

Squid sigue los protocolos Icp, htcp, carp y cach digests que tienen como objetivo permitir a un proxy "preguntarle" a otros proxy cach si poseen almacenado un recurso determinado.

Cach transparente

Squid puede ser configurado para ser usado como proxy transparente de manera que las conexiones son enrutadas dentro del proxy sin configuracin por parte del cliente, y habitualmente sin que el propio cliente conozca de su existencia. De modo predefinido Squid utiliza el puerto 3128 para atender peticiones, sin embargo se puede especificar que lo haga en cualquier otro puerto disponible o bien que lo haga en varios puertos disponibles a la vez.

Wccp

A partir de la versin 2.3 Squid implementa WCCP (Web Cache Control Protocol). Permite interceptar y redirigir el trafico que recibe un router hacia uno o ms proxy cach, haciendo control de la conectividad de los mismos. Adems permite que uno de los proxy cach designado pueda determinar como distribuir el trfico redirigido a lo largo de todo el array de proxy cach.

Control de acceso

Ofrece la posibilidad de establecer reglas de control de acceso. Esto permite establecer polticas de acceso en forma centralizada, simplificando la administracin de una red.

Aceleracin de servidores http

Cuando un usuario hace peticin hacia un objeto en Internet, este es almacenado en el cach, si otro usuario hace peticin hacia el mismo objeto, y este no ha sufrido modificacin alguna desde que lo accedi el usuario anterior, Squid mostrar el que ya se encuentra en el cach en lugar de volver a descargarlo desde Internet. Esta funcin permite navegar rpidamente cuando los objetos ya estn en el cach y adems optimiza enormemente la utilizacin del ancho de banda.

Snmp

Squid permite activar el protocolo snmp, este proporciona un mtodo simple de administracin de red, que permite supervisar, analizar y comunicar informacin de estado entre una gran variedad de mquinas, pudiendo detectar problemas y proporcionar mensajes de estados.

Cach de resolucin DNS

Squid est compuesto tambin por el programa dnsserver, que se encarga de la bsqueda de nombres de dominio. Cuando Squid se ejecuta, produce un nmero configurable de procesos dnsserver, y cada uno de ellos realiza su propia bsqueda en DNS. De este modo, se reduce la cantidad de tiempo que la cach debe esperar a estas bsquedas DNS.

Proxy web

El proxy cach es una manera de guardar los objetos solicitados de Internet (por ejemplo, datos como pginas web) disponibles va protocolos http, ftp y gopher en un sistema ms cercano al lugar donde se piden. Los navegadores web pueden usar la cach local Squid como un servidor proxy http, reduciendo el tiempo de acceso as como el consumo de ancho de banda. Esto es muchas veces til para los proveedores de servicios de Internet para incrementar la velocidad de sus consumidores y para las redes de rea local que comparten la conexin a Internet. Debido a que tambin es un proxy (es decir, se comporta como un cliente en lugar del cliente real), puede proporcionar un cierto grado de anonimato y seguridad. Sin embargo, tambin puede

Ing. Eduardo A. Aparicio C.

Pgina 50

introducir problemas significativos de privacidad ya que puede registrar mucha informacin, incluyendo las URL solicitadas junto con otra informacin adicional como la fecha de la peticin, versin del navegador y del sistema operativo, etc. Un programa cliente (por ejemplo, un explorador) o bien tiene que especificar explcitamente el servidor proxy que quiere utilizar (tpico para consumidores de ISP) o bien podra estar usando un proxy sin ninguna configuracin extra. A este hecho se le denomina cach transparente, en el cual todas las peticiones http son interceptadas por squid y todas las respuestas guardadas en cach. Esto ltimo es tpico en redes corporativas dentro de una red de acceso local y normalmente incluye los problemas de privacidad mencionados previamente. Squid tiene algunas caractersticas que pueden facilitar establecer conexiones annimas. Caractersticas tales como eliminar o modificar campos determinados de la cabecera de peticiones http de los clientes. Esta poltica de eliminacin y alteracin de cabeceras se establece en la configuracin de Squid. El usuario que solicita pginas a travs de una red que utiliza Squid de forma transparente, normalmente no es consciente de este proceso o del registro de informacin relacionada con el proceso.

Compatibilidad

Squid puede ejecutarse en los siguientes Sistemas Operativos: Aix, Bsdi, Digital Unix, FreeBSD, Hp-ux, Irix, Linux, Mac OS X, Netbsd, Nextstep, Openbsd, Sco Unix, Sun Os/Solaris, Windows nt.

Acerca de squid

Squid es un Servidor Intermediario (Proxy) de alto desempeo que se ha venido desarrollando desde hace varios aos y es hoy en da un muy popular y ampliamente utilizado entre los sistemas operativos como GNU/Linux y derivados de Unix. Es muy confiable, robusto y verstil y se distribuye bajo los trminos de la licencia pblica General GNU (GNU/GPL). Siendo sustento lgico libre, est disponible el cdigo fuente para quien as lo requiera. Entre otras cosas, Squid puede funcionar como Servidor Intermediario (Proxy) y cach de contenido de Red para los protocolos http, ftp, gopher y wais, Proxy de ssl, cach transparente, wwcp, aceleracin http, cach de consultas DNS y otras muchas ms como filtracin de contenido y control de acceso por IP y por usuario. Squid consiste de un programa principal como servidor, un programa para bsqueda en servidores DNS, programas opcionales para reescribir solicitudes y realizar autenticacin y algunas herramientas para administracin y herramientas para clientes. Al iniciar Squid da origen a un nmero configurable (5, de modo predefinido a travs del parmetro dns_children) de procesos de bsqueda en servidores DNS, cada uno de los cuales realiza una bsqueda nica en servidores DNS, reduciendo la cantidad de tiempo de espera para las bsquedas en servidores DNS. Nota especial: Squid no debe ser utilizado como Servidor Intermediario (Proxy) para protocolos como SMTP, POP3, TELNET, SSH, IRC, etc. Si se requiere intermediar para cualquier protocolo distinto a http, https, ftp, gopher y wais se requerir implementar obligatoriamente un enmascaramiento de IP o NAT (Network Address Translation) o bien hacer uso de un servidor socks como Dante (http://www.inet.no/dante/). URL: http://www.squid-cache.org/

Algoritmos de cach utilizados por squid

A travs de un parmetro (cache_replacement_policy) Squid incluye soporte para los siguientes algoritmos para el cach:

Lru
Ing. Eduardo A. Aparicio C. Pgina 51

Acrnimo de Least Recently Used, que traduce como Menos Recientemente Utilizado. En este algoritmo los objetos que no han sido accedidos en mucho tiempo son eliminados primero, manteniendo siempre en el cach a los objetos ms recientemente solicitados. sta poltica es la utilizada por Squid de modo predefinido.

Lfuda

Acrnimo de Least Frequently Used with Dynamic Aging, que se traduce como Menos Frecuentemente Utilizado con Envejecimiento Dinmico. En este algoritmo los objetos ms solicitados permanecen en el cach sin importar su tamao optimizando la eficiencia (hit rate) por octetos (Bytes) a expensas de la eficiencia misma, de modo que un objeto grande que se solicite con mayor frecuencia impedir que se pueda hacer cach de objetos pequeos que se soliciten con menor frecuencia.

Gdsf

Acrnimo de GreedyDual Size Frequency, que se traduce como Frecuencia de tamao GreedyDual (codicioso dual), que es el algoritmo sobre el cual se basa GDSF. Optimiza la eficiencia (hit rate) por objeto manteniendo en el cach los objetos pequeos ms frecuentemente solicitados de modo que hay mejores posibilidades de lograr respuesta a una solicitud (hit). Tiene una eficiencia por octetos (Bytes) menor que el algoritmo LFUDA debido a que descarta del cach objetos grandes que sean solicitado con frecuencia.

Sustento lgico necesario

Para poder llevar al cabo los procedimientos descritos en este manual y documentos relacionados, usted necesitar tener instalado al menos lo siguiente: Al menos squid-2.5.STABLE6 httpd2.0.x (Apache), como auxiliar de cach con aceleracin. Todos los parches de seguridad disponibles para la versin del sistema operativo que est utilizando. No es conveniente utilizar un sistema con posibles vulnerabilidades como Servidor Intermediario. Debe tomarse en consideracin que, de ser posible, se debe utilizar siempre las versiones estables ms recientes de todo sustento lgico que vaya a ser instalado para realizar los procedimientos descritos en este manual, a fin de contar con los parches de seguridad necesarios. Ninguna versin de Squid anterior a la 2.5.STABLE6 se considera como apropiada debido a fallas de seguridad de gran importancia. Squid no se instala de manera predeterminada a menos que especifique lo contrario durante la instalacin del sistema operativo, sin embargo viene incluido en casi todas las distribuciones actuales. El procedimiento de instalacin es exactamente el mismo que con cualquier otro sustento lgico.

Instalacin a travs de yum

Si cuenta con un sistema con CentOS o White Box Enterprise Linux 3 o versiones posteriores, utilice lo siguiente y se instalar todo lo necesario junto con sus dependencias: yum -y install squid httpd

Instalacin a travs de up2date

Si cuenta con un sistema con Red Hat Enterprise Linux 3 o versiones posteriores, utilice lo siguiente y se instalar todo lo necesario junto con sus dependencias: up2date -i squid httpd

Otros componentes necesarios


Ing. Eduardo A. Aparicio C. Pgina 52

El mandato iptables se utilizar para generar las reglas necesarias para el guin de Enmascaramiento de IP. Se instala de modo predefinido en todas las distribuciones actuales que utilicen ncleo (kernel) versiones 2.4 y 2.6. Es importante tener actualizado el ncleo del sistema operativo por diversas cuestiones de seguridad. No es recomendable utilizar versiones del kernel anteriores a la 2.4.21. Actualice el ncleo a la versin ms reciente disponible para su distribucin. Si cuenta con un sistema con CentOS o White Box Enterprise Linux 3 o versiones posteriores, utilice lo siguiente para actualizar el ncleo del sistema operativo e iptables, si acaso fuera necesario: yum -y update kernel iptables Si cuenta con un sistema con Red Hat Enterprise Linux 3 o versiones posteriores, utilice lo siguiente para actualizar el ncleo del sistema operativo, e iptables si acaso fuera necesario: up2date -u kernel iptables

Antes de continuar

Tenga en cuenta que este manual ha sido comprobado varias veces y ha funcionado en todos los casos y si algo no funciona solo significa que usted no lo ley a detalle y no sigui correctamente las indicaciones. Evite dejar espacios vacos en lugares indebidos. El siguiente es un ejemplo de como no se debe habilitar un parmetro. Mal # Opcin incorrectamente habilitada http_port 3128 El siguiente es un ejemplo de como si se debe habilitar un parmetro. Bien # Opcin correctamente habilitada http_port 3128

Configuracin bsica

Squid utiliza el fichero de configuracin localizado en /etc/squid/squid.conf, y podr trabajar sobre este utilizando su editor de texto simple preferido. Existen un gran nmero de parmetros, de los cuales recomendamos configurar los siguientes: http_port cache_dir Al menos una Lista de Control de Acceso Al menos una Regla de Control de Acceso httpd_accel_host httpd_accel_port httpd_accel_with_proxy

Parmetro http_port Que puerto utilizar para Squid?

De acuerdo a las asignaciones hechas por IANA y continuadas por la ICANN desde el 21 de marzo de 2001, los Puertos Registrados (rango desde 1024 hasta 49151) recomendados para Servidores Intermediarios (Proxys) pueden ser el 3128 y 8080 a travs de tcp. De modo predefinido Squid utilizar el puerto 3128 para atender peticiones, sin embargo se puede especificar que lo haga en cualquier otro puerto disponible o bien que lo haga en varios puertos disponibles a la vez. En el caso de un Servidor Intermediario (Proxy) Transparente, regularmente se utilizar el puerto 80 o el 8000 y se valdr del re-direccionamiento de peticiones de modo tal que no habr necesidad alguna de modificar la configuracin de los clientes http para utilizar el Servidor Intermediario (Proxy). Bastar con utilizar como puerta de enlace al servidor. Es importante recordar que los Servidores http, como Apache, tambin utilizan dicho puerto, por lo

Ing. Eduardo A. Aparicio C.

Pgina 53

que ser necesario volver a configurar el servidor http para utilizar otro puerto disponible, o bien desinstalar o desactivar el servidor http. Hoy en da puede no ser del todo prctico el utilizar un Servidor Intermediario (Proxy) Transparente, a menos que se trate de un servicio de Caf Internet u oficina pequea, siendo que uno de los principales problemas con los que lidian los administradores es el mal uso y/o abuso del acceso a Internet por parte del personal. Es por esto que puede resultar ms conveniente configurar un Servidor Intermediario (Proxy) con restricciones por clave de acceso, lo cual no puede hacerse con un Servidor Intermediario (Proxy) Transparente, debido a que se requiere un dilogo de nombre de usuario y clave de acceso. Regularmente algunos programas utilizados comnmente por los usuarios suelen traer de modo predefinido el puerto 8080 (servicio de cacheo www) para utilizarse al configurar que Servidor Intermediario (Proxy) utilizar. Si queremos aprovechar esto en nuestro favor y ahorrarnos el tener que dar explicaciones innecesarias al usuario, podemos especificar que Squid escuche peticiones en dicho puerto tambin. Siendo as localice la seccin de definicin de http_port, y especifique: # You may specify multiple socket addresses on multiple lines. # # Default: http_port 3128 http_port 3128 http_port 8080 Si desea incrementar la seguridad, puede vincularse el servicio a una IP que solo se pueda acceder desde la red local. Considerando que el servidor utilizado posee una IP 192.168.1.254, puede hacerse lo siguiente: # # You may specify multiple socket addresses on multiple lines. # # Default: http_port 3128 http_port 192.168.1.254:3128 http_port 192.168.1.254:8080

Parmetro cache_mem

El parmetro cache_mem establece la cantidad ideal de memoria para lo siguiente: Objetos en trnsito. Objetos frecuentemente utilizados (Hot). Objetos negativamente almacenados en el cach. Los datos de estos objetos se almacenan en bloques de 4 Kb. El parmetro cache_mem especifica un lmite mximo en el tamao total de bloques acomodados, donde los objetos en trnsito tienen mayor prioridad. Sin embargo los objetos Hot y aquellos negativamente almacenados en el cach podrn utilizar la memoria no utilizada hasta que esta sea requerida. De ser necesario, si un objeto en trnsito es mayor a la cantidad de memoria especificada, Squid exceder lo que sea necesario para satisfacer la peticin. De modo predefinido se establecen 8 MB. Puede especificarse una cantidad mayor si as se considera necesario, dependiendo esto de los hbitos de los usuarios o necesidades establecidas por el administrador. Si se posee un servidor con al menos 128 MB de RAM, establezca 16 MB como valor para este parmetro: cache_mem 16 MB

Parmetro cache_dir

Cuanto desea almacenar de internet en el disco duro? Este parmetro se utiliza para establecer que tamao se desea que tenga el cach en el disco duro para Squid. Para entender esto un poco mejor, responda a esta pregunta: Cuanto desea almacenar de Internet en el disco duro? De modo predefinido Squid utilizar un cach de 100 MB, de modo tal que encontrar la siguiente lnea: cache_dir ufs /var/spool/squid 100 16 256

Ing. Eduardo A. Aparicio C.

Pgina 54

Se puede incrementar el tamao del cach hasta donde lo desee el administrador. Mientras ms grande sea el cach, ms objetos se almacenarn en ste y por lo tanto se utilizar menos el ancho de banda. La siguiente lnea establece un cach de 700 MB: cache_dir ufs /var/spool/squid 700 16 256 Los nmeros 16 y 256 significan que el directorio del cach contendr 16 directorios subordinados con 256 niveles cada uno. No modifique esto nmeros, no hay necesidad de hacerlo. Es muy importante considerar que si se especifica un determinado tamao de cach y ste excede al espacio real disponible en el disco duro, Squid se bloquear inevitablemente. Sea cauteloso con el tamao de cach especificado.

Parmetro ftp_user

Al acceder a un servidor FTP de manera annima, de modo predefinido Squid enviar como clave de acceso Squid@. Si se desea que el acceso annimo a los servidores FTP sea ms informativo, o bien si se desea acceder a servidores FTP que validan la autenticidad de la direccin de correo especificada como clave de acceso, puede especificarse la direccin de correo electrnico que uno considere pertinente. ftp_user proxy@su-dominio.net

Controles de acceso

Es necesario establecer Listas de Control de Acceso que definan una red o bien ciertas mquinas en particular. A cada lista se le asignar una Regla de Control de Acceso que permitir o denegar el acceso a Squid. Procedamos a entender como definir unas y otras.

Listas de control de acceso

Regularmente una lista de control de acceso se establece con la siguiente sintaxis: acl [nombre de la lista] src [lo que compone a la lista] Si se desea establecer una lista de control de acceso que abarque a toda la red local, basta definir la IP correspondiente a la red y la mscara de la sub-red. Por ejemplo, si se tiene una red donde las mquinas tienen direcciones IP 192.168.1.n con mscara de sub-red 255.255.255.0, podemos utilizar lo siguiente: acl miredlocal src 192.168.1.0/255.255.255.0 Tambin puede definirse una Lista de Control de Acceso especificando un fichero localizado en cualquier parte del disco duro, y la cual contiene una lista de direcciones IP. Ejemplo: acl permitidos src "/etc/squid/permitidos" El fichero /etc/squid/permitidos contendra algo como siguiente: 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.15 192.168.1.16 192.168.1.20 192.168.1.40 Lo anterior estara definiendo que la lista de control de acceso denominada permitidos estara compuesta por las direcciones IP incluidas en el fichero /etc/squid/permitidos.

Reglas de control de acceso

Ing. Eduardo A. Aparicio C.

Pgina 55

Estas definen si se permite o no el acceso hacia Squid. Se aplican a las Listas de Control de Acceso. Deben colocarse en la seccin de reglas de control de acceso definidas por el administrador, es decir, a partir de donde se localiza la siguiente leyenda: # # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # La sintaxis bsica es la siguiente: http_access [deny o allow] [lista de control de acceso] En el siguiente ejemplo consideramos una regla que establece acceso permitido a Squid a la Lista de Control de Acceso denominada permitido: http_access allow permitidos Tambin pueden definirse reglas valindose de la expresin!, la cual significa no. Pueden definirse, por ejemplo, dos listas de control de acceso, una denominada lista1 y otra denominada lista2, en la misma regla de control de acceso, en donde se asigna una expresin a una de estas. La siguiente establece que se permite el acceso a Squid a lo que comprenda lista1 excepto aquello que comprenda lista2: http_access allow lista1! lista2 Este tipo de reglas son tiles cuando se tiene un gran grupo de IP dentro de un rango de red al que se debe permitir acceso, y otro grupo dentro de la misma red al que se debe denegar el acceso.

Aplicando listas y reglas de control de acceso

Una vez comprendido el funcionamiento de la Lista y la Regla de Control de Acceso, procederemos a determinar cuales utilizar para nuestra configuracin. Caso 1 Considerando como ejemplo que se dispone de una red 192.168.1.0/255.255.255.0, si se desea definir toda la red local, utilizaremos la siguiente lnea en la seccin de Listas de Control de Acceso: acl todalared src 192.168.1.0/255.255.255.0 Habiendo hecho lo anterior, la seccin de listas de control de acceso debe quedar ms o menos del siguiente modo:

Listas de control de acceso: definicin de una red local completa


# # Recommended minimum configuration: acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl todalared src 192.168.1.0/255.255.255.0

A continuacin procedemos a aplicar la regla de control de acceso: http_access allow todalared Habiendo hecho lo anterior, la zona de reglas de control de acceso debera quedar ms o menos de este modo: Reglas de control de acceso: Acceso a una Lista de Control de Acceso. # # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # http_access allow localhost http_access allow todalared

Ing. Eduardo A. Aparicio C.

Pgina 56

http_access deny all La regla http_access allow todalared permite el acceso a Squid a la Lista de Control de Acceso denominada todalared, la cual est conformada por 192.168.1.0/255.255.255.0. Esto significa que cualquier mquina desde 192.168.1.1 hasta 192.168.1.254 podr acceder a Squid. Caso 2. Si solo se desea permitir el acceso a Squid a ciertas direcciones IP de la red local, deberemos crear un fichero que contenga dicha lista. Genere el fichero /etc/squid/listas/redlocal, dentro del cual se incluirn solo aquellas direcciones IP que desea confirmen la Lista de Control de acceso. Ejemplo: 192.168.1.1 192.168.1.2 192.168.1.3 192.168.1.15 192.168.1.16 192.168.1.20 192.168.1.40 Denominaremos a esta lista de control de acceso como redlocal: acl redlocal src "/etc/squid/listas/redlocal" Habiendo hecho lo anterior, la seccin de listas de control de acceso debe quedar ms o menos del siguiente modo: Listas de control de acceso: definicin de una red local completa # # Recomendamos minima configuracion: acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object acl localhost src 127.0.0.1/255.255.255.255 acl redlocal src "/etc/squid/listas/redlocal" A continuacin procedemos a aplicar la regla de control de acceso: http_access allow redlocal Habiendo hecho lo anterior, la zona de reglas de control de acceso debera quedar ms o menos de este modo: Reglas de control de acceso acceso a una lista de control de acceso # # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # http_access allow localhost http_access allow redlocal http_access deny all La regla http_access allow redlocal permite el acceso a Squid a la Lista de Control de Acceso denominada redlocal, la cual est conformada por las direcciones IP especificadas en el fichero /etc/squid/listas/redlocal. Esto significa que cualquier mquina no incluida en /etc/squid/listas/redlocal no tendr acceso a Squid.

Parmetro chache_mgr

De modo predefinido, si algo ocurre con el cach, como por ejemplo que muera el procesos, se enviar un mensaje de aviso a la cuenta webmaster del servidor. Puede especificarse una distinta si acaso se considera conveniente. cache_mgr joseperez@midominio.net

Parmetro cache_peer (caches padres y hermanos)


Ing. Eduardo A. Aparicio C. Pgina 57

El parmetro cache_peer se utiliza para especificar otros Servidores Intermediarios (Proxies) con cach en una jerarqua como padres o como hermanos. Es decir, definir si hay un Servidor Intermediario (Proxy) adelante o en paralelo. La sintaxis bsica es la siguiente: cache_peer servidor tipo http_port icp_port opciones Ejemplo: Si su cach va a estar trabajando detrs de otro servidor cache, es decir un cach padre, y considerando que el cach padre tiene una IP 192.168.1.1, escuchando peticiones http en el puerto 8080 y peticiones ICP en puerto 3130 (puerto utilizado de modo predefinido por Squid) especificando que no se almacenen en cach los objetos que ya estn presentes en el cach del Servidor Intermediario (Proxy) padre, utilice la siguiente lnea: cache_peer 192.168.1.1 parent 8080 3130 proxy-only Cuando se trabaja en redes muy grandes donde existen varios Servidores Intermediarios (Proxy) haciendo cach de contenido de Internet, es una buena idea hacer trabajar todos los cach entre si. Configurar caches vecinos como sibling (hermanos) tiene como beneficio el que se consultarn estos caches localizados en la red local antes de acceder hacia Internet y consumir ancho de banda para acceder hacia un objeto que ya podra estar presente en otro cach vecino. Ejemplo: Si su cach va a estar trabajando en paralelo junto con otros caches, es decir caches hermanos, y considerando los caches tienen IP 10.1.0.1, 10.2.0.1 y 10.3.0.1, todos escuchando peticiones http en el puerto 8080 y peticiones ICP en puerto 3130, especificando que no se almacenen en cach los objetos que ya estn presentes en los caches hermanos, utilice las siguientes lneas: cache_peer 10.1.0.1 sibling 8080 3130 proxy-only cache_peer 10.2.0.1 sibling 8080 3130 proxy-only cache_peer 10.3.0.1 sibling 8080 3130 proxy-only Pueden hacerse combinaciones que de manera tal que se podran tener caches padres y hermanos trabajando en conjunto en una red local. Ejemplo: cache_peer 10.0.0.1 parent 8080 3130 proxy-only cache_peer 10.1.0.1 sibling 8080 3130 proxy-only cache_peer 10.2.0.1 sibling 8080 3130 proxy-only cache_peer 10.3.0.1 sibling 8080 3130 proxy-only

Cach con aceleracin

Cuando un usuario hace peticin hacia un objeto en Internet, este es almacenado en el cach de Squid. Si otro usuario hace peticin hacia el mismo objeto, y este no ha sufrido modificacin alguna desde que lo accedi el usuario anterior, Squid mostrar el que ya se encuentra en el cach en lugar de volver a descargarlo desde Internet. Esta funcin permite navegar rpidamente cuando los objetos ya estn en el cach de Squid y adems optimiza enormemente la utilizacin del ancho de banda. La configuracin de Squid como Servidor Intermediario (Proxy) Transparente solo requiere complementarse utilizando una regla de iptables que se encargar de re-direccionar peticiones hacindolas pasar por el puerto 8080. La regla de iptables necesaria se describe ms adelante en este documento. Proxy Acelerado: Opciones para Servidor Intermediario (Proxy) en modo convencional. En la seccin HTTPD-ACCELERATOR OPTIONS deben habilitarse los siguientes parmetros: httpd_accel_host virtual httpd_accel_port 0 httpd_accel_with_proxy on Proxy Acelerado: Opciones para Servidor Intermediario (Proxy) Transparente. Si se trata de un Servidor Intermediario (Proxy) transparente, deben utilizarse las siguientes opciones, considerando que se har uso del cach de un servidor http (Apache) como auxiliar: # Debe especificarse la IP de cualquier servidor http en la # red local o bien el valor virtual

Ing. Eduardo A. Aparicio C.

Pgina 58

httpd_accel_host 192.168.1.254 httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on Proxy Acelerado: Opciones para Servidor Intermediario (Proxy) Transparente para redes con Internet Exlorer 5.5 y versiones anteriores. Si va a utilizar Internet Explorer 5.5 y versiones anteriores con un servidor Intermediario (Proxy) transparente, es importante recuerde que dichas versiones tiene un psimo soporte con los Servidores Intermediarios (Proxies) transparentes imposibilitando por completo la capacidad de refrescar contenido. Si se utiliza el parmetro ie_refresh con valor on puede hacer que se verifique en los servidores de origen para nuevo contenido para todas las peticiones IMS-REFRESH provenientes de Internet Explorer 5.5 y versiones anteriores. # Debe especificarse el ip de cualquier servidor http en la # red local httpd_accel_host 192.168.1.254 httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on ie_refresh on Lo ms conveniente es actualizar hacia Internet Explorer 6.x o definitivamente optar por otras alternativas. Mozilla es en un conjunto de aplicaciones para Internet, o bien Firefox, que es probablemente el mejor navegador que existe en el mercado. Firefox es un navegador muy ligero y que cumple con los estndares, y est disponible para Windows, Linux, Mac OS X y otros sistemas operativos.

Establecer el idioma de los mensajes mostrados por squid hacia el usuario


Squid incluye traduccin a distintos idiomas de las distintas pginas de error e informativas que son desplegadas en un momento dado durante su operacin. Dichas traducciones se pueden encontrar en /usr/share/squid/errors/. Para poder hacer uso de las pginas de error traducidas al espaol, es necesario cambiar un enlace simblico localizado en /etc/squid/errors para que apunte hacia /usr/share/squid/errors/Spanish en lugar de hacerlo hacia /usr/share/squid/errors/English. Elimine primero el enlace simblico actual: rm -f /etc/squid/errors Coloque un nuevo enlace simblico apuntando correspondientes a los errores traducidos al espaol. ln -s /usr/share/squid/errors/Spanish /etc/squid/errors hacia el directorio con los ficheros

Nota Este enlace simblico debe verificarse, y regenerarse de ser necesario, cada vez que sea actualizado Squid ya sea a travs de yum, up2date o manualmente con el mandato rpm. Iniciando, reiniciando y aadiendo el servicio al arranque del sistema. Una vez terminada la configuracin, ejecute el siguiente mandato para iniciar por primera vez Squid: service squid start Si necesita reiniciar para probar cambios hechos en la configuracin, utilice lo siguiente: service squid restart Si desea que Squid inicie de manera automtica la prxima vez que inicie el sistema, utilice lo siguiente: chkconfig squid on Lo anterior habilitar a Squid en todos los niveles de corrida.

Ing. Eduardo A. Aparicio C.

Pgina 59

Depuracin de errores

Cualquier error al inicio de Squid solo significa que hubo errores de sintaxis, errores de dedo o bien se estn citando incorrectamente las rutas hacia los ficheros de las Listas de Control de Acceso. Puede realizar diagnstico de problemas indicndole a Squid que vuelva a leer configuracin, lo cual devolver los errores que existan en el fichero /etc/squid/squid.conf.service squid reload Cuando se trata de errores graves que no permiten iniciar el servicio, puede examinarse el contenido del fichero /var/log/squid/squid.out con el mandato less, more o cualquier otro visor de texto: less /var/log/squid/squid.out

Ajustes para el muro corta fuegos

Si se tiene poca experiencia con guiones de cortafuegos a travs de iptables, sugerimos utilizar Firestarter. ste permite configurar fcilmente tanto el enmascaramiento de IP como el muro corta-fuegos. Si se tiene un poco ms de experiencia, recomendamos utilizar Shorewall para el mismo fin puesto que se trata de una herramienta ms robusta y completa. Firestarter: http://www.fs-security.com/ Shorewall: http://www.shorewall.net/

Redireccionamiento de peticiones a travs de iptables y Firestarter

En un momento dado se requerir tener salida transparente hacia Internet para ciertos servicios, pero al mismo tiempo se necesitar re-direccionar peticiones hacia servicio http para pasar a travs del el puerto donde escucha peticiones Squid (8080), de modo que no haya salida alguna hacia alguna hacia servidores http en el exterior sin que sta pase antes por Squid. No se puede hacer Servidor Intermediario (Proxy) Transparente para los protocolos https, ftp, gopher ni wais, por lo que dichos protocolos tendrn que ser filtrados a travs del NAT. El redireccionamiento lo hacemos a travs de iptables. Considerando para este ejemplo que la red local se accede a travs de una interfaz eth0 el siguiente esquema ejemplifica un redireccionamiento: /sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080. Lo anterior, que requiere un guin de cortafuegos funcional en un sistema con dos interfaces de red, hace que cualquier peticin hacia el puerto 80 (servicio http) hecha desde la red local hacia el exterior, se redireccionar hacia el puerto 8080 del servidor. Utilizando Firestarter, la regla anteriormente descrita se aade en el fichero /etc/firestarter/user-post.

Redireccionamiento de peticiones a travs de redirect en shorewall

La accin REDIRECT en Shorewall permite redirigir peticiones hacia protocolo http para hacerlas pasar a travs de Squid. En el siguiente ejemplo las peticiones hechas desde la zona que corresponde a la red local sern redirigidas hacia el puerto 8080 del cortafuego, en donde est configurado Squid configurado como Servidores Intermediario (proxy) transparente.

Ventajas

Cmo compartir una conexin a internet

Si tiene una red de rea local, dos o ms equipos conectados en red, y uno de ellos con acceso a Internet (mediante mdem o cable, etc.), puede resultarle til hacer que los dems equipos de la red tambin tengan acceso a la web. Puede hacerlo instalando un software que funcione como proxy, es decir, uno que brinde acceso mediante el proxy, redirigiendo la informacin. Sin embargo, cuanto mayor sea la cantidad de usuarios, menor ser el ancho de banda disponible para cada uno de ellos ya que los usuarios comparten el ancho de banda del proxy entre ellos. Por ejemplo, si 8 personas estn conectadas a un mdem de 56.000 baudios, slo tendrn 7.000 baudios disponibles cada uno, es decir, una cifra muy reducida: no tiene sentido que 8 personas naveguen por Internet al mismo tiempo con un mdem. Existe una amplia gama de software que permite llevar a cabo esta funcin. El ms conocido de ellos es Wingate, que se puede usar como servidor (en el equipo conectado a Internet) y como

Ing. Eduardo A. Aparicio C.

Pgina 60

cliente (en todos los equipos de la red local que desee conectar a la web). Es un programa compartido, es decir, un software que no es gratuito, cuya versin no registrada permite compartir una conexin con slo un equipo en la red por vez. Por lo tanto, dicha versin es suficiente para una red de rea local compuesta solamente por dos equipos, pero para conectar ms ordenadores a Internet deber comprar la licencia para el usuario.

Configuracin del servidor

El servidor ser el equipo de la red de rea local conectado a Internet. Para poder usar Wingate como servidor, debe asegurarse de que el protocolo tcp/ip est correctamente instalado en el equipo que se usar como servidor. Si est conectado a Internet mediante un mdem, los siguientes dos protocolos debern aparecer en la ventana panel de control/red:

Tcp/ip -> Tarjeta compatible con NE2000 (o el nombre de la tarjeta de red conectada a la Lan) Tcp/ip -> Tarjeta de acceso remoto
Debe asegurarse de que la direccin IP de la tarjeta compatible con NE2000 sea 192.168.0.1 (puede ser diferente pero sta es la direccin que normalmente se le suministra al proxy). Las propiedades del protocolo TCP/IP de la tarjeta de acceso remoto son suministradas por su proveedor de servicios de Internet (ISP, Internet Service provider), por lo que no tiene sentido modificarlas. Si el equipo est conectado a Internet a travs de una tarjeta de red (cable u otro dispositivo), los dos protocolos que se muestran a continuacin debern aparecer en la ventana panel de control/red:

Tcp/ip -> Tarjeta compatible con NE2000 (o el nombre de la tarjeta de red conectada a la Lan) Tcp/ip -> Tarjeta compatible con NE2000 (o el nombre de la tarjeta de red conectada a Internet)

Ser necesario modificar la direccin IP en las propiedades TCP/IP de la tarjeta "conectada a la red de rea local". El prximo paso consiste en instalar Wingate como servidor en este equipo (las ltimas versiones, 3.0 y posteriores, solicitan que seleccione entre cliente y servidor, mientras que las versiones anteriores slo se instalaban en el servidor). Cuando Wingate est instalado, funciona como un servicio, es decir, no es una aplicacin normal que puede ver como una tarea cuando presiona simultneamente Ctrl+Alt+Supr. Para configurarlo, debe usar la utilidad "GateKeeper" suministrada con Wingate. Esta utilidad le permite configurar el acceso para usuarios que usarn el proxy. En consecuencia, podr definir los permisos para cada uno (es decir, los servicios a los que el usuario tendr acceso) y ver aqullos que estn conectados en tiempo real. Existen tres fichas de configuracin en la interfaz de Gatekeeper: Los permisos de cada usuario (ficha Usuarios). Los servicios que se estn ejecutando (ficha Servicios), es decir, aqullos a los que los usuarios tendrn derecho de acceso. La configuracin avanzada de Wingate (ficha Sistema).

Ing. Eduardo A. Aparicio C.

Pgina 61

Wingate le permite agregar usuarios que pueden "pasar" por el proxy (evitando accesos externos a la red de rea local). Tambin puede agregar servicios (icq, ftp, www, etc.) a su gusto, especificando los puertos asociados con cada uno de ellos. Wingate puede generar un archivo de registro de eventos que le permita ver las acciones de cada usuario conectado a travs del proxy. Asimismo, este programa est equipado con un sistema de memoria cach que permite conservar las pginas visitadas con frecuencia para evitar que los usuarios de la red de rea local conectados a Internet tengan que recargar la misma informacin varias veces.

Configurtacion de cliente

Los clientes son los equipos que se conectarn al servidor. Para permitirles el acceso a la red, con versiones de Wingate anteriores a la 3.0, debe configurar cada aplicacin para especificar que la conexin se realiza a travs del proxy. Para las versiones 3.0 y posteriores, es posible instalar Wingate como un cliente en cada uno de los equipos para no tener que configurar todas las aplicaciones, aunque ello tambin es posible. Todas las aplicaciones recientes vinculadas con Internet (navegadores, clientes de ftp, icq, etc.) tienen una opcin de "servidor proxy" que equivocadamente se conoce como firewall; esta opcin puede parecerse a esto:

En el campo de direccin, debe ingresar la direccin del equipo en el que Wingate est siendo utilizando como servidor (es decir, generalmente 192.168.0.1) como tambin el puerto asociado con la aplicacin.

Configuracin del navegador de internet

Para configurar su navegador, slo debe ir a preferencias (opciones, configuracin...) y buscar la opcin "conectar mediante un servidor proxy". En el primer campo, ingrese la direccin del proxy (192.168.0.1) y en el segundo, el puerto (80). Algunos navegadores solicitan las direcciones del proxy para cada servicio. Los dos principales son http and ftp, y deber completar el campo correspondiente a cada uno de ellos como se describe anteriormente.

Ing. Eduardo A. Aparicio C.

Pgina 62

Configuracin de un ftp

Por lo general, los programas como CuteFTP, WS_FTP, etc., tienen una opcin en las preferencias que permite especificar la direccin de un servidor proxy; en este caso, debe ingresar la direccin del equipo en el que se ejecuta Wingate (192.168.0.1) y luego ingresar el puerto 21. Asimismo, puede ingresar una contrasea si ha restringido el acceso a Wingate mediante la asignacin de contraseas a los usuarios de la red de rea local. Este proceso brindar a los equipos de la red acceso a los sitios del FTP del puerto 21. Para poder acceder a ellos en otros puertos, deber usar los clientes FTP que admitan el servicio SOCKS. ste es un servicio que permite abrir puertos en forma dinmica en el proxy y es la nica manera de usar las aplicaciones cuyo puerto sea variable (FTP en puertos que no sean 21, IRC, etc.)

Configuracin de un cliente de mensajeria

La mensajera o el correo electrnico es el servicio ms utilizado en Internet, por lo que es esencial que pueda utilizarlo cuando comparte una conexin en una red de rea local. El servicio de correo electrnico incluye dos funciones principales:

Envo de mensajes por correo electrnico Recepcin de mensajes por correo electrnico
Para el correo electrnico saliente, en su software de mensajera, slo debe especificar la direccin del proxy en el campo reservado para la direccin de correo saliente (ya sea smtp o pop3). Wingate enva este mensaje a su casilla. Para el correo electrnico entrante, Wingate debe saber dnde puede encontrar su correo electrnico. En las opciones, en el campo donde generalmente ingresa su nombre de usuario, escriba su nombre de usuario seguido de un nmero o un signo y luego la direccin de su servidor de mensajera, lo que resultar en, por ejemplo, su_nombre#servidor.pop.com y, a continuacin, su contrasea habitual en el campo proporcionado a tal efecto.

Internet protocolo IP (todos los mensajes sin respuesta) La funcin del protocolo ip

El protocolo ip es parte de la capa de Internet del conjunto de protocolos tcp/ip. Es uno de los protocolos de Internet ms importantes ya que permite el desarrollo y transporte de datagramas de ip (paquetes de datos), aunque sin garantizar su "entrega". En realidad, el protocolo ip procesa datagramas de ip de manera independiente al definir su representacin, ruta y envo. El protocolo ip determina el destinatario del mensaje mediante 3 campos:

El campo de direccin ip: Direccin del equipo; El campo de mscara de subred: una mscara de subred le permite al protocolo ip establecer la El campo de pasarela predeterminada: le permite al protocolo de Internet saber a qu equipo
enviar un datagrama, si el equipo de destino no se encuentra en la red de rea local. parte de la direccin ip que se relaciona con la red;

Datagramas

Los datos circulan en Internet en forma de datagramas (tambin conocidos como paquetes). Los datagramas son datos encapsulados, es decir, datos a los que se les agrega un encabezado que contiene informacin sobre su transporte (como la direccin ip de destino). Los routers analizan (y eventualmente modifican) los datos contenidos en un datagrama para que puedan transitar. A continuacin se indica cmo se ve un datagrama:

Ing. Eduardo A. Aparicio C.

Pgina 63

Longitud del Versin Tipo de servicio encabezado (4 bits) (8 bits) (4 bits) Identificacin (16 bits) Tiempo de vida Protocolo (8 bits) (8 bits) Direccin ip de origen (32 bits) Direccin ip de destino (32 bits) Datos

Longitud total (16 bits) Indicador (3 bits) Margen del fragmento (13 bits)

Suma de comprobacin del encabezado (16 bits)

A continuacin se indican los significados de los diferentes campos: Versin (4 bits): es la versin del protocolo ip que se est utilizando (actualmente se utiliza la versin 4 IPv4) para verificar la validez del datagrama. Est codificado en 4 bits.

Longitud del encabezado o IHL por Internet Header Length (Longitud del encabezado de
Internet) (4 bits): es la cantidad de palabras de 32 bits que componen el encabezado (Importante: el valor mnimo es 5). Este campo est codificado en 4 bits.

Tipo de servicio (8 bits): indica la forma en la que se debe procesar el datagrama. Longitud total (16 bits): indica el tamao total del datagrama en bytes. El tamao de este

campo es de 2 bytes, por lo tanto el tamao total del datagrama no puede exceder los 65536 bytes. Si se lo utiliza junto con el tamao del encabezado, este campo permite determinar dnde se encuentran los datos. Identificacin, indicadores y margen del fragmento son campos que permiten la fragmentacin de datagramas. Esto se explica a continuacin. TTL o Tiempo de vida (8 bits): este campo especifica el nmero mximo de routers por los que puede pasar un datagrama. Por lo tanto, este campo disminuye con cada paso por un router y cuando alcanza el valor crtico de 0, el router destruye el datagrama. Esto evita que la red se sobrecargue de datagramas perdidos.

Protocolo (8 bits): este campo, en notacin decimal, permite saber de qu protocolo proviene el
datagrama:

ICMP 1 IGMP: 2 TCP: 6 UDP: 17

Suma de comprobacin del encabezado (16 bits): este campo contiene un valor codificado

en 16 bits que permite controlar la integridad del encabezado para establecer si se ha modificado durante la transmisin. La suma de comprobacin es la suma de todas las palabras de 16 bits del encabezado (se excluye el campo suma de comprobacin). Esto se realiza de tal modo que cuando se suman los campos de encabezado (suma de comprobacin inclusive), se obtenga un nmero con todos los bits en 1. Direccin ip de origen (32 bits): Este campo representa la direccin IP del equipo remitente y permite que el destinatario responda.

Direccin IP de destino (32 bits): direccin IP del destinatario del mensaje.

Fragmentacin del datagrama de IP

Como se ha visto anteriormente, el tamao mximo de un datagrama es de 65536 bytes. Sin embargo, este valor nunca es alcanzado porque las redes no tienen suficiente capacidad para

Ing. Eduardo A. Aparicio C.

Pgina 64

enviar paquetes tan grandes. Adems, las redes en Internet utilizan diferentes tecnologas por lo tanto el tamao mximo de un datagrama vara segn el tipo de red. El tamao mximo de una trama se denomina MTU (Unidad de transmisin mxima). El datagrama se fragmentar si es ms grande que la MTU de la red. Tipo de red Arpanet Ethernet FDDI MTU (en bytes) 1000 1500 4470

La fragmentacin del datagrama se lleva a cabo a nivel de router, es decir, durante la transicin de una red con una MTU grande a una red con una MTU ms pequea. Si el datagrama es demasiado grande para pasar por la red, el router lo fragmentar, es decir, lo dividir en fragmentos ms pequeos que la MTU de la red, de manera tal que el tamao del fragmento sea un mltiplo de 8 bytes.

El router enviar estos fragmentos de manera independiente y los volver a encapsular (agregar un encabezado a cada fragmento) para tener en cuenta el nuevo tamao del fragmento. Adems, el router agrega informacin para que el equipo receptor pueda rearmar los fragmentos en el orden correcto. Sin embargo, no hay nada que indique que los fragmentos llegarn en el orden correcto, ya que se enrutan de manera independiente. Para tener en cuenta la fragmentacin, cada datagrama cuenta con diversos campos que permiten su rearmado: campo Margen del fragmento (13 bits): campo que brinda la posicin del comienzo del fragmento en el datagrama inicial. La unidad de medida para este campo es 8 bytes (el primer fragmento tiene un valor cero); campo Identificacin (16 bits): nmero asignado a cada fragmento para permitir el rearmado; campo Longitud total (16 bits): esto se vuelve a calcular para cada fragmento; campo Indicador (3 bits): est compuesto de tres bits: El primero no se utiliza. El segundo (denominado DF: No fragmentar) indica si se puede fragmentar el datagrama o no. Si el datagrama tiene este bit en uno y el router no puede enrutarlo sin fragmentarlo, el datagrama se rechaza con un mensaje de error. El tercero (denominado MF: Ms fragmentos) indica si el datagrama es un fragmento de datos (1). Si el indicador se encuentra en cero, esto indica que el fragmento es el ltimo (entonces el router ya debe contar con todos los fragmentos anteriores) o que el datagrama no se ha fragmentado.

Enrutamiento IP

El enrutamiento IP es una parte integral de la capa de Internet del conjunto tcp/ip. El enrutamiento consiste en asegurar el enrutamiento de un datagrama de IP a travs de la red por la ruta ms corta. A esta funcin la llevan a cabo los equipos denominados routers, es decir, equipos que conectan al menos dos redes.

Qu es url?
Ing. Eduardo A. Aparicio C. Pgina 65

URL (Localizador uniforme de recursos) es un formato de asignacin de nombres universal, utilizado para indicar un recurso en Internet. Es una cadena de caracteres ASCII imprimible que se divide en cinco partes: El nombre del protocolo: es decir, el lenguaje utilizado para comunicarse en la red. El protocolo ms usado es el protocolo http (Protocolo de transferencia de hipertexto), que posibilita el intercambio de pginas web en formato html. Sin embargo, pueden utilizarse muchos otros protocolos (FTP, News, Mailto, Gopher, etc.); Inicio de sesin y contrasea: permite especificar los parmetros de acceso de un servidor seguro. Esta opcin no es recomendable ya que la contrasea es visible en la url; El nombre del servidor: es un nombre de dominio del equipo que aloja el recurso solicitado. Es importante tener en cuenta que es posible utilizar la direccin IP del servidor, pero esto hace que la url sea menos legible; El nmero del puerto: es un nmero relacionado con un servicio que le permite al servidor conocer el tipo de recurso solicitado. El puerto predeterminado relacionado con este protocolo es el puerto 80. Por lo tanto, cuando el servicio web del servidor est asociado al puerto nmero 80, el nmero de puerto es opcional; La ruta de acceso al recurso: esta ltima parte le permite al servidor conocer dnde se encuentra el recurso, esto es, generalmente, el sitio (directorio) y nombre del archivo solicitado. Por lo tanto, una URL tiene la siguiente estructura: Protocolo Contrasea (opcional) Nombre del servidor http:// Puerto Ruta (opcional si es 80) /glossair/glossair.php3

usuario: contrasea@ www.cmofunciona.net :80

Por ejemplo, los siguientes protocolos pueden utilizarse con URL: http, para navegar por pginas web; ftp, para navegar por sitios FTP; telnet, para conectarse a un terminal remoto; mailto, para enviar un correo electrnico; wais; gopher. El nombre del archivo en URL puede estar seguido de un signo de interrogacin y despus de datos en formato ASCII. Estos son datos adicionales enviados como parmetros para una aplicacin del servidor (por ejemplo, una secuencia de comandos CGI). La URL entonces tendr el aspecto de una cadena de caracteres como esta: http://www.cmofunciona.net/forum/?cat=1&page=2

Codificacin de una url

Si se tiene en cuenta que la URL es un medio para enviar informacin por Internet (para enviar datos con una secuencia de comandos CGI, por ejemplo), debe poder enviar caracteres especiales. Sin embargo, las URL no pueden contener caracteres especiales. Adems, ciertos caracteres estn reservados porque poseen un significado (la barra permite especificar subdirectorios, los caracteres & y? se utilizan para enviar datos a travs de formularios, etc.). Finalmente, las URL pueden incluirse en un documento HTML, con lo cual resulta difcil insertar caracteres como < o en la URL. Por ello la codificacin es necesaria! La codificacin consiste en reemplazar caracteres especiales por el carcter % (que tambin se est convirtiendo en un carcter especial) seguido del cdigo ASCII del carcter que se va a codificar en notacin hexadecimal. A continuacin se indica una lista de caracteres que requieren codificacin especial: Carcter Tabulacin Codificacin URL %09

Ing. Eduardo A. Aparicio C.

Pgina 66

Espacio " # % & ( ) + , . / : ; < =

%20 %22 %23 %25 %26 %28 %29 %2B %2C %2E %2F %3 %3B %3C %3D

> ? @ [ \ ] ^ ' { | } ~

%3E %3F %40 %5B %5C %5D %5E %60 %7B %7C %7D %7E

La url
Las siglas URL corresponden a las palabras inglesas Universal Resource Locator, que en espaol viene a significar algo as como "Localizador Universal de Recursos". La url es el modo que tiene la web de identificar cualquier tipo de archivo o recurso en cualquier parte del mundo. El formato de una URL bsica (concretamente, de la URL de esta misma pgina) es el siguiente: http://www.psicobyte.com/html/taller/url.html Que, dividido en sus partes elementales, es ms o menos esto: http:// www. psicobyte com html taller url.html protocolo host dominio dominio de primer nivel directorio subdirectorio recurso Vemoslo parte a parte:

Protocolo

Es donde le indicamos a la mquina qu protocolo vamos a usar. Un protocolo es, bsicamente, un lenguaje que utilizan las mquinas conectadas para comunicarse entre ellas. Con esto le indicamos a la mquina a la que nos conectamos el protocolo que debe usar. Dependiendo de

Ing. Eduardo A. Aparicio C.

Pgina 67

este, probablemente tengamos que usar un programa distinto. Cada protocolo utiliza un puerto (una especie de "entrada" a la mquina) por defecto, y es a ese al que, en principio nos conectar al indicarle ese protocolo en la url. Los protocolos ms importantes son los siguientes: El protocolo http (hyper text transfer protocol) es el que usa la web, su puerto por defecto http:// es el 80. ftp: // (File Transfer Protocol) Se usa para transferir archivos. Su puerto por defecto es el 21. El antiguo (y ya casi extinguido) sistema gopher se usaba, antes de que existiera la web, gopher:// para localizar documentos en Internet. Tiene reservado el puerto 70. Abre una sesin de Telnet. Telnet es un protocolo mediante el cual se puede trabajar en telnet: una mquina remota como si estuvieras en ella. Su puerto por defecto es el 23. mailto: Se usa para indicar una direccin de correo electrnico news: Indica que se refiere a la direccin de un servidor o grupo de News. En realidad, el protocolo que ms usars (y con mucha diferencia) es el http. El resto los usars muy poco, o incluso nunca.

Host

La palabra Host hace referencia a cualquier clase de mquina conectada a la red y, por extensin, a su nombre. Suele ser un ordenador de alguna clase aunque, a menudo, se trata de una parte de un ordenador que se comporta como si fuera un ordenador de una red. Por ejemplo, "www.psicobyte.com" puede hacer referencia a un ordenador, llamado "www", que se encuentra en una red llamada "psicobyte.com" y "mail.psicobyte.com" sera un ordenador llamado "mail" que se encuentra en la misma red. En los principios de internet esto era realmente as, aunque lo ms probable hoy da es que ambos se traten de un mismo ordenador que adopta distintos nombres para distintas ocupaciones, por una simple cuestin de organizacin y comodidad.

Dominio

Se llama dominio al nombre que tiene en Internet un ordenador o red de ellos. Una red puede contener a su vez a otras redes dentro de ella (esto es lo que hace que se llame a Internet "La red de redes"). Si este fuera el caso, podramos encontrarnos con nombres como "subred.red.granred.com" que nos indicaran, de izquierda a derecha, qu red se encuentra dentro de la siguiente. Tal como hemos visto antes, a veces solo son redes virtuales, que en realidad no existen y se asignan por razones de organizacin.

Dominio de primer nivel

Todos los nombres de dominio, independientemente de si se refieren a una mquina o a una red de ellas, acaban con el llamado "domino de primer nivel". Este es el nombre que indica, en principio, cul es la ocupacin de la red (como son los casos, por ejemplo, de .com para empresas o actividades comerciales y .org para organizaciones si nimo de lucro) o a qu pas pertenecen las autoridades que han otorgado ese nombre (por ejemplo, .es para Espaa, .mx para Mjico o .de para Alemania). Fjate bien que he dicho "en principio". Esto es debido a que los nombres de dominio (en el caso de los genricos, com, org, etc.) tienen un sentido puramente orientativo y se otorgan por simple peticin. Cualquier persona puede comprar un dominio del tipo .com y luego darle el uso que prefiera. Adems, los nombres se otorgan por riguroso orden de solicitud. Si yo hubiese pedido el dominio "cocacola.com" antes que esta empresa, el dominio sera mo. Cuando naci Internet se decidi que nadie debera tener ms derecho que otro sobre ningn nombre de dominio. Esto solo es cierto para los nombres de dominio genricos. La poltica que siga cada pas con sus nombres depende exclusivamente de sus autoridades nacionales.

Ing. Eduardo A. Aparicio C.

Pgina 68

En el caso de Espaa, por ejemplo, las empresas, partidos polticos u otras organizaciones, tienen toda la preferencia sobre sus propios nombres, y nadie puede registrar un nombre que pertenezca a otra empresa. Por otro lado, los ciudadanos particulares no tienen derecho a registrar ningn nombre de dominio. Si quieres conocer todos los dominios de primer nivel, tanto genricos como nacionales, tienes a tu disposicin la siguiente Tabla de nombres de dominio.

Directorio y subdirectorio

Con todos los datos anteriores ya hemos definido a qu mquina en concreto de toda la Red nos referimos. Ahora ha llegado el momento de localizar el archivo concreto, dentro de esa mquina, que queremos ver. Para ello operamos como en cualquier ordenador de casa: Indicando el directorio en el que se encuentra y, si es necesario, la ruta completa de subdirectorios. Esto no es nada extrao, todo el que haya usado un ordenador (y t, si ests leyendo esto, es que ests manejando uno) conoce esa estructura de directorios. Quizs sea interesante aadir que, si encuentras un directorio cuyo nombre comience con el signo ~ (por ejemplo, host.com/~psicobyte/) eso significa, tradicionalmente, que ese es el directorio personal del usuario de ese ordenador que tiene por login (el nombre que usa para acceder) lo que sigue al signo (en el caso anterior, ~psicobyte es el directorio del usuario del sistema que tiene psicobyte como login).

Recurso

Se llama recurso a cualquier cosa que puedas encontrar en un ordenador. Recurso es una pgina Web, una imagen o un programa para descargar. Pero tambin es un recurso el resultado de ejecutar un programa en un ordenador remoto o la imagen de una webcam. La mayora de recursos que se pueden encontrar en la web son, evidentemente, pginas web. Es la hora de hacer algunas precisiones: Toda la parte de la url que hace referencia a la mquina, desde lo que he llamado host hasta lo que he denominado como dominio de primer nivel, es completamente indiferente a si lo escribes en maysculas o en minsculas. Es decir, que no importa si escribes el nombre www.misite.com, www.MiSite.com o WWW.MISITE.COM. Todos son el mismo nombre. Pero, por otro lado, todo lo que corresponde a la ruta de directorios y nombre de archivo dentro de un ordenador, depende del sistema operativo en el que trabaje ese ordenador, y la mayora de ellos distingue entre maysculas y minsculas. De modo que host.com/directorio/, host.com/Directorio/ y host.com/DIRECTORIO/ son, normalmente, nombres totalmente distintos. Algunas veces, puedes encontrarte que no existe ningn nombre de dominio, y que este aparece sustituido por una cadena de nmeros. Por ejemplo http://64.224.173.51/html/taller/url.html hace referencia a esta misma pgina. Esto es lo que se llama direccin IP (de Internet Protocol), y es la direccin que realmente usan las mquinas para localizar a otra en Internet. Lo que ocurre cuando tu indicas una URL en tu navegador es que tu ordenador hace una solicitud DNS (Domain Name System) a un ordenador especialmente habilitado para ello, y este le retorna la IP (esto puede ser un poco ms complejo: Si ese ordenador no conoce la direccin que le solicitas, se la pedir a otro, etc.). Es, en realidad, es la IP lo que usa tu ordenador para localizar esa mquina en Internet. Como registrar un nombre de dominio cuesta dinero, hay personas que prefieren indicar directamente la ip de sus mquinas, y as ahorrarse ese gasto. Todos los ordenadores de Internet tienen una IP. Pero algunos no tienen nombre de dominio. Lo que no puede ocurrir es el caso contrario, que tenga nombre de dominio pero no tenga IP. Ese ordenador sera inalcanzable.

Ing. Eduardo A. Aparicio C.

Pgina 69

A veces puedes encontrarte con que, detrs del nombre del recurso, te encuentres una cadena con signos & y = intercalados (algo parecido a host.com/recurso.html&nombre=dato). Eso es debido a que la direccin a la que te diriges no es realmente una pgina web, si no que se trata del resultado de la ejecucin de un programa al que se le pasan esos parmetros. Tambin puedes encontrarte algo parecido a lo anterior, pero usando el signo almohadilla # (Por ejemplo, algo as como host.com/recurso.html#nombre). Antes hemos visto que cada protocolo tiene un puerto asignado por defecto, y que es ah donde tu navegador ir a buscar el recurso solicitado. Pero, a veces, ese protocolo usa otro puerto distinto. Cmo indicamos en la url qu puerto debe usar? Pues poniendo, justo detrs del dominio (antes de indicar el directorio, evidentemente), el signo: seguido del nmero de puerto del siguiente modo: http://host.com:1250/directorio/archivo (con este ejemplo, le estaramos diciendo al programa que el protocolo http, en lugar de correr en el puerto 80 como suele hacer, se encuentra en el puerto 1250). Algunos protocolos, como el FTP, necesitan usualmente un nombre y una clave para ser usados. En estos casos, se anteponen a la url separados el uno del otro por el smbolo: (dos puntos), y separados de la url por el signo @ (arroba) de este modo: http://nombre:clave@host.com/recurso.html Y con esto ya sabes casi todo lo que hay que saber (y probablemente un poco ms de lo necesario) sobre las url. Solo me queda un ltimo comentario: algunas personas dicen el url, mientras que otras, entre ellos yo, decimos la url Cual es la diferencia? Ninguna. Es mera costumbre. Dos conceptos estrechamente relacionados con el de URL son URN (Uniform Resource Name) y URI (Uniform Resource Identifier). URN es un sistema ms amplio y preciso que URL pero, pese a que se espera que en el futuro sea el principal, an no se usa realmente en la red. URI es la suma de URL y URN.

El url

Protocolo de direccionamiento de documentos

Interconectar documentos por todo el planeta sobreentiende un medio nico de identificacin en la red Internet. La direccin nica de un documento en www es llamada url -Uniform Resource Locator- y se compone de los siguientes elementos:

El protocolo de intercambio de datos entre el cliente y el servidor. (http) La direccin Internet del servidor que difunde los documentos. Esta direccin es nica en toda la

red, es la direccin TCP/IP de la mquina. Tiene la forma de una serie de nmeros como 134.158.69.113; al ser estos nmeros difciles de memorizar, un anuario (DNS) resuelve generalmente la relacin entre direccin numrica y nombre simblico de la mquina/nombre del mbito (ejemplo: 134.158.48.1 es la direccin de la mquina sioux.in2p3.fr en la que sioux representa el nombre de la mquina y .in2p3.fr el nombre del mbito);

El rbol de directorios (el camino) que conduce al documento; El nombre del documento que tendr siempre la extensin .html o .htm.
Menos frecuentemente esta direccin podr completarse con otros elementos: El puerto; Informacin de autentificacin (username y password); Argumentos que se pasarn a un programa en la llamada de un enlace ejecutable. La sintaxis mnima utilizada para representar el URL de un documento es el siguiente protocolo: //nombre_del_servidor/

Ing. Eduardo A. Aparicio C.

Pgina 70

Cuando no se especifica un nombre de fichero se acudir al fichero predeterminado del servidor, habitualmente la home page. La sintaxis que se encuentra habitualmente es: protocolo: //nombre_del_servidor/directorio/subdirectorio/nombre_del _documento La sintaxis completa es protocolo: //username;password@nombre_del_servidor:puerto/directorio/subdirectorio//nombre_del _documento?argumentos Se observar tambin en ciertas direcciones la presencia del signo tilde (~) delante del nombre de un directorio. Se trata de home pages personales, posibilidad ofrecida a los usuarios que tienen una cuenta en la mquina servidor. Ejemplos de URL: http://www.fnac.fr http://www.ra.net/routing.arbiter/NFSNET/NFS.transition.html http://www.in2p3.fr/~dupont/jean.dupont.html

Url de referencia segura Beneficios


Permite el acceso local y remoto. Ofrece una manera relativamente rpida de configurar la autenticacin (siempre que el personal de la biblioteca tenga experiencia en la configuracin de una pgina Web de autenticacin). Algunos servidores proxy (como EZProxy) y sistemas ILS (como SirsiDynix o Innovative Interfaces) tambin pueden configurarse para controlar el acceso, por ejemplo para restringir el acceso de usuarios on sanciones de la biblioteca.

Cmo funciona?

En este mtodo, su biblioteca brinda acceso a la coleccin slo despus de que el usuario haya sido identificado como vlido. A los usuarios primero se les solicita informacin (como el cdigo de barras de una biblioteca). Una vez que se verifica la informacin, la biblioteca lo deriva a NetLibrary, que reconoce que el usuario proviene de la "URL de referencia" y autentica al usuario.

Cundo usarlo?

Las bibliotecas ms pequeas pueden emplear este mtodo con una pgina Web que verifique la informacin.

Cuentas de netlibrary

Los usuarios no necesitan una cuenta para ver libros electrnicos en lnea u obtener una vista previa de libros de audio electrnicos. En funcin de su mtodo de autenticacin, quizs necesiten tener una cuenta para sacar material. Si se utilizan los mtodos IP, Servidor proxy o URL de referencia segura para la autenticacin, los usuarios necesitarn tener una cuenta de NetLibrary para sacar libros electrnicos, descargar libros de audio electrnicos y usar funciones de personalizacin (listas de libros y notas). Los usuarios pueden crear una cuenta de NetLibrary fcilmente haciendo clic en el vnculo "Crear una cuenta gratuita" que aparece en la esquina superior derecha de http://www.netlibrary.com. Si su biblioteca usa el software NetLibrary Authentication Server, los usuarios no necesitan tener una cuenta de NetLibrary porque el sistema autentica a los usuarios por su ILS y a cada usuario de manera individual.

Opciones de autenticacin y limitaciones que utilizan Proxy Server 2.0 Escenario nico de Servidor Proxy
Ing. Eduardo A. Aparicio C. Pgina 71

Explorador a autenticacin de proxy

Cuando utiliza un proxy nico, cualquiera de los mtodos de autenticacin entre el proxy y los exploradores de cliente se pueden utilizar; esto incluye autenticacin bsica, de Annimo y Desafo/Respuesta de Windows NT (NTLM). Nota: Si se utiliza autenticacin NTLM, el explorador Web debe admitir autenticacin NTLM. Actualmente autenticacin NTLM de versiones de soporte tcnico 3,02 y posterior de Microsoft Internet Explorer.

Autenticacin de explorador a travs de un servidor proxy

Cuando se inserta un servidor proxy en el sistema entre el explorador Web y el servidor de publicacin Web, autenticacin NTLM entre el explorador de cliente y el servidor de publicacin WEB ya no funcionar. Cualquiera de mtodos de autenticacin que dependen de estado implcito de extremo a extremo (tal como NTLM) dejar de funcionar de hecho. La especificacin http 1.1 indica que todos los estados slo son hop-by-hop. El estado de extremo a extremo se puede obtener utilizando un cookies o algn otro smbolo distinto de http. El sntoma ms obvio de este error es exploradores de cliente que reciben un mensaje acerca de error de autenticacin tal como "Acceso denegado". Como los encabezado http para autenticacin de proxy son diferentes de aqullos para autenticacin de servidor Web, es posible habilitar autenticacin bsica al proxy y tambin hacer a autenticacin bsica explorador y un servidor de publicacin Web entre un cliente mientras se conecta a travs de un equipo de Microsoft Proxy Server. Microsoft Internet Explorer admite esta configuracin. En resumen, autenticacin bsica no requiere un estado implcito de extremo a extremo y por lo tanto, se puede utilizar a travs de un servidor proxy. La autenticacin Desafo/Respuesta de Windows NT requiere estado implcito de extremo a extremo y no funcionar a travs de un servidor proxy.

Encaden o se realiz servidor proxy en cascada

Un proxy encadenado se puede configurar para realizar autenticacin en su asociado de proxy indirecto. En tal caso, el proxy indirecto se acta como un explorador de cliente. Porque hay un proxy indirecto entre el cliente y el proxy ascendente, se aplican todas las limitaciones para autenticar con un proxy (anteriormente descrito). La diferencia entre este caso y el caso de proxy nico reside en que el administrador puede decidir habilitar credenciales proxy-to-proxy especficas entre las que se est incluyendo que utilizan NTLM entre los proxy. Esto funciona porque la autenticacin proxy-to-proxy es hop-by-hop. Los clientes de explorador Web siempre se autenticarn con el primer servidor proxy con el que establecen la conexin. Las credenciales del explorador Web de cliente no se pasan a servidor proxy ascendente.

Invierta servidor proxy y autenticacin

No se recomienda autenticacin que se habilita a un proxy inverso. Un proxy inverso debera ser transparente para el cliente de explorador. La autenticacin que se habilita al proxy infringe esta regla de transparencia. Para que el proxy inverso se explique an ms, la publicacin servidor Web parece en el explorador que es. Por tanto, hay slo un conjunto de encabezados de autenticacin para uso al autenticar el explorador al proxy y al servidor de publicacin. Esto significa que el proxy inverso y el servidor de publicacin no pueden mantener identidades diferentes. Como un proxy nico, insertar un proxy inverso har dejar de que autenticacin NTLM entre el explorador de cliente y el servidor Web funciona. Aunque el proxy inverso no es un proxy explcito, sigue funcionando como un proxy y por tanto, interrumpe cualquier estado implcito de extremo a extremo que pudiera haber estado presente antes de que se instalara.

Ing. Eduardo A. Aparicio C.

Pgina 72

Es posible utilizar autenticacin bsica al proxy inverso y al servidor de publicacin pero esto requiere que los equipos utilizan las mismas identidades de cuenta que son los mismos nombres, las contraseas y los territorios. Esto se debe de nuevo a que hay slo un conjunto de encabezados de autenticacin. El proxy inverso adems siempre pasar los encabezados de autenticacin conque se debe preparar al servidor Web de publicacin que reciba estos encabezados. Si el servidor de publicacin no est configurado correctamente para esto, se puede producir el comportamiento inesperado. Este es el mtodo de autenticacin nica que funcionar. Microsoft recomienda que se habilite la autenticacin annima en el servicio www del equipo de proxy inverso sin consideracin de se habilita Control de acceso no en el servicio proxy web.

Proxy directo simultneo y proxy inverso

En una configuracin en la que un equipo proxy nico funciona como un equipo proxy directo y un equipo de proxy inverso y en la que se desea autenticacin de proxy, slo autenticacin bsica funcionar. El servidor de publicacin adems se debe configurar para recibir los encabezados de autenticacin. Este uso dual del equipo como un proxy y un equipo de proxy inverso se entra desafortunadamente en conflicto con la recomendacin de no utilizar autenticacin con proxy inverso como tambin lo permite la autenticacin que se habilita para el proxy para el proxy inverso. Merece que tiene en cuenta que un equipo que funciona como un proxy inverso y un proxy directo puede estar configurado para utilizar correctamente NTLM y autenticacin bsica. En el caso de proxy directo, Internet Explorer favorecer NTLM por encima de Basic. En el caso de proxy inverso, cuando el servidor de publicacin produce el error "Acceso denegado", Internet Explorer actuar la misma manera, Internet Explorer utilizar autenticacin bsica y se realizar aqul correctamente. Lo noto que aunque esto funciona, tambin implica considerable sobrecarga y por tanto no se puede adecuar si se utiliza con frecuencia la ruta de acceso de proxy inverso.

Acerca de la autenticacin del proxy de portal server

La autenticacin del proxy de Portal Server sustituye un ID de usuario del proxy por el ID del usuario especfico. Cuando el usuario inicia una sesin en el servicio de portal, dicho servicio autentica el ID del propio usuario para acceder al servicio de portal. Si algn canal del escritorio de portal est configurado para la autenticacin del proxy, el servicio de portal utiliza el ID de usuario del proxy para autenticar los servicios de canal, y la informacin del usuario aparece en las secciones de canal del escritorio del portal. Si desea establecer la autenticacin del proxy de servicio de portal, debe utilizar la consola de Access Manager para configurar un adaptador de SSO de portal para cada uno de los servicios. Tambin debe proveer a cada cuenta de usuario con los atributos LDAP necesarios para la autenticacin del proxy. En la solucin de evaluacin, debe configurar la autenticacin del proxy para los canales de correo y calendario del escritorio de portal de ejemplo. En las cuentas del proxy, debe utilizar las cuentas de administrador para los servicios: la cuenta "admin" para el servicio de correo y la cuenta "calmaster" para el servicio de calendario. La cuenta de usuario de prueba ya est provista para estos servicios.

Opciones de autenticacin

La autenticacin proporciona a los usuarios acceso seguro a su material de NetLibrary. NetLibrary admite cuatro mtodos de autenticacin. Algunos mtodos permiten que los usuarios sean autenticados automticamente, mientras que otros requieren que el usuario introduzca algunos datos (como el cdigo de barras de la biblioteca). La mayora de las bibliotecas usan una combinacin de mtodos para brindar acceso desde dentro y fuera de la biblioteca.

EZproxy single sign on


Ing. Eduardo A. Aparicio C. Pgina 73

Reconocimiento de direcciones ip (Protocolo de internet) URL de referencia segura Servidor proxy


Si su biblioteca brinda acceso a recursos electrnicos, probablemente ya tenga uno o ms recursos de este tipo.

Consideraciones

Cuando determine qu mtodo(s) funcionar(n) mejor en su biblioteca, debe pensar en la situacin y en las necesidades especficas de su biblioteca: Qu mtodo de autenticacin usa su biblioteca actualmente? Desea brindar acceso a los usuarios de la biblioteca y de ubicaciones remotas? Su biblioteca posee experiencia tcnica para crear pginas web y/o configurar servidores? Desea poder controlar el acceso por criterios tales como ubicacin, cantidad de sanciones vencidas, etc.? Qu opciones de autenticacin funcionan mejor en mi biblioteca? Observe el siguiente cuadro, que lo ayudar a identificar qu mtodo(s) funcionar(n) mejor en su biblioteca. Las opciones pueden combinarse para funcionar dentro y fuera de su biblioteca. En todas las opciones, los usuarios pueden ser autenticados tanto si comienzan la bsqueda en el OPAC de la biblioteca, en NetLibrary.org o en la pgina de recursos electrnicos de su biblioteca.

Ing. Eduardo A. Aparicio C.

Pgina 74

Cmo comprobar que est configurada la autenticacin bsica en el servidor proxy RPC Este tema le ayuda a solucionar los problemas de una conexin no satisfactoria de RPC a travs de http. En este artculo se explica cmo comprobar que el servidor proxy RPC est configurado para que utilice una autenticacin bsica. Si a sus clientes se les piden repetidamente sus credenciales, compruebe que el servidor proxy RPC est configurado para que utilice una autenticacin bsica. Siga los pasos siguientes. Nota: Se recomienda que utilice Autenticacin bsica a travs de Autenticacin de Windows integrada (NTLM) por dos razones. La primera, RPC a travs de http es compatible actualmente slo con NTLM, no es compatible con Kerberos. La segunda, existe un proxy http o un servidor de seguridad entre RPC a travs del cliente http y el proxy RPC, que se inserta a travs del pragma en el encabezado de http, la autenticacin NTLM no funcionar. Para ms informacin, consulte Recomendaciones de implementacin de RPC a travs de http.

Procedimiento

Para comprobar que el servidor proxy RPC virtual est configurado para utilizar la autenticacin bsica Inicie Administrador de Servicios de Internet Information Server (IIS).

Ing. Eduardo A. Aparicio C.

Pgina 75

Expanda computername (equipo local), expanda sitios web, expanda el sitio web en el que est configurada la aplicacin Rpc, haga clic con el botn secundario del ratn en Rpc y, finalmente, haga clic en Propiedades. Haga clic en la ficha Seguridad del directorio y despus en Edicin bajo Autenticacin y control de acceso. Haga clic para desactivar la casilla de verificacin Habilitar acceso annimo, si estuviera seleccionada. Haga clic para seleccionar la casilla de verificacin Autenticacin bsica (la contrasea se enva mediante texto sin cifrar). Recibir el siguiente mensaje: La opcin de autenticacin que ha seleccionado provoca que las contraseas se transmitan a travs de la red sin cifrado de datos. Alguien que intente poner en peligro su sistema de seguridad podra utilizar un analizador de protocolos para examinar las contraseas de los usuarios durante el proceso de autenticacin. Para obtener informacin ms detallada acerca de la autenticacin de usuarios, consulte la Ayuda en pantalla. Esta advertencia no es aplicable a las conexiones https (orSSL). Realmente desea continuar? Nota En este mensaje, la palabra "https (orSSL)" es un error ortogrfico para las palabras "https (o SSL)." Haga clic en S. Haga clic dos veces en Aceptar.

Autenticando squid contra openldap

Dado que ltimamente se esta poniendo de moda hacer uso de un Servidor de Directorios LDAP, para unificar la autenticacin de varios servicios en un sistema Linux, vamos a ver una manera (no es la nica, pero si la que a mi me ha funcionado) de autenticar el proxy Squid, contra OpenLDAP. Evidentemente, antes de nada, instalaremos nuestro Servicio de Directorios y migraremos los usuarios de nuestro sistema.

Qu es LDAP?

El significado de las siglas LDAP, es Lightweight Directory Access Protocol y su traduccin al espaol, es Protocolo de acceso a Directorios Ligeros. Es un servicio de directorios y viene a ser una especie de base de datos, cuya estructuracin se realiza en directorios. Dicha base de datos est optimizada para hacer bsquedas o lecturas, por lo que es un buen candidato a la hora de poner en marcha una agenda, un sistema de autenticacin, un DNS o cualquier otro servicio dnde se van a hacer muchsimas ms consultas que nuevas escrituras o modificaciones. En Linux, poseemos una versin libre de un servicio de directorio como es OpenLDAP, por lo que ser la que utilizaremos en este articulo.

Instalacin de OPENLDAP

Una vez hemos explicado (mnimamente), en que consiste un servicio de directorio ldap, vamos a instalar el que nosotros utilizaremos en este artculo, openldap. Dado que en este mismo web, ya existe documentacin sobre este aspecto, nosotros solo nos ceiremos a la instalacin de OpenLDAP en la distribucin debian. Solo recordar, que si queremos hacer uso de caractersticas especiales en nuestro servidor LDAP, como por ejemplo compatibilidad con OpenSSL, deberemos instalar desde fuentes, compilndolo con soporte para dicha caracterstica. Para instalar el servidor LDAP en eban, teclearemos en una consola el siguiente comando (instalaremos de paso el cliente tambin):

Ing. Eduardo A. Aparicio C.

Pgina 76

apt-get install slapd ldap-utils Al hacer esto, nos preguntar si queremos poner en marcha nuestra base de datos automticamente con la informacin que nosotros le pasemos o mediante un fichero ldif existente.

SLAPD

Le indicamos que lo queremos hacer de forma automtica y entonces nos preguntar que tipo de base de datos LDAP vamos a configurar: domain or host, location o custom. Seleccionaremos "domain or host" y entonces nos preguntar el dominio que deseamos configurar (A modo de ejemplo, seleccionaremos redes-linux.com, dc=redes-linux, dc=com).

Domain

Seguidamente, nos preguntar (dos veces, para verificar que no nos hemos equivocado) por el password de nuestro administrador, en nuestro caso prueba. Una vez le hemos introducido el password, nos preguntar si queremos que se repliquen los posibles cambios a otro servidor, a lo que responderemos No. Y ya esta, ya tenemos una configuracin mnima de nuestro servidor LDAP. Si quisiramos cambiar dicha configuracin, solo debemos editar el fichero /etc/ldap/slapd.conf y reiniciar dicho servidor: /etc/init.d/slapd restart

Migracin de los usuarios del sistema


Para migrar los usuarios de nuestro sistema, haremos uso de una serie de scripts en Perl desarrollados por PDAL Software Pty Ltd. Una vez nos hemos descargado el fichero que contiene estos scripts, lo descomprimimos mediante el comando: tar zxvf MigrationTools.tgz Entramos en el directorio MigrationTools-45 que nos ha creado y editamos el fichero migrate_common.ph. De dicho fichero, debemos editar las variables (los valores que cito, son los que deberan ir si estamos configurando el dominio "redes-linux-com"): $DEFAULT_MAIL_DOMAIN="redes-linux.com"; $DEFAULT_BASE = "dc=redes-linux, dc=com";

Ing. Eduardo A. Aparicio C.

Pgina 77

Una vez hemos editado estos dos parmetros, ya podemos migrar los usuarios de nuestro sistema con el comando: ./migrate_passwd.pl /etc/passwd passwd.ldif Esto, nos generar un fichero passwd.ldif, que contendr todos los usuarios que tenamos en el fichero /etc/passwd, por lo que antes de aadirlo a nuestro servidor LDAP, deberemos eliminar aquellos que no sean usuarios locales (ya que son los nicos que utilizaremos para autenticarnos en el proxy). Una vez hayamos eliminado todas las entradas que hagan referencia a aquellos usuarios que no necesitamos, aadiremos las dems entradas a nuestra base de datos LDAP, mediante el comando: ldapadd -x -D "cn=admin,dc=redes-linux,dc=com" -W -f passwd.ldif Al teclear dicho comando, nos pedir el password del Administrador de la base de datos LDAP. Lo introducimos y ya estarn migrados nuestros usuarios.

Creamos el script de autenticacin


Una vez tenemos lista nuestra base de datos de usuarios, deberemos crear en el servidor Squid (puede ser el mismo ordenador donde esta tambin el servidor LDAP u otro diferente), un script /usr/lib/squid/autenticacion_ldap que contenga: #!/bin/bash #Imaginemos que la IP del servidor LDAP es la 192.168.1.2 #Va todo en una linea, se ha recortado por esttica /usr/lib/squid/ldap_auth -R -b dc=redes-linux, dc=com -D cn=admin, dc=redes-linux, dc=com -w prueba -f uid=%s 192.168.1.2 Y despus de esto, le damos permisos de ejecucin: chmod a+x /usr/lib/squid/autenticacion_ldap

Configuramos squid
Despus de haber migrado los usuarios y de haber editado nuestro script de autenticacin, solo nos faltar configurar Squid, para que coja dicho script como mtodo de autenticacin. Para ello, deberemos aadir en el fichero de configuracin de Squid (/etc/squid.conf), los parmetros: authenticate_program /usr/lib/squid/autenticacion_ldap #Aadimos una acl de tipo password que luego tendremos que aplicar a nuestra red #Por ejemplo, si hemos creado una acl para definir nuestra red de esta forma: #acl mired src 192.168.1.0, deberemos aplicarla asi: #http_access allow mired password acl password proxy_auth REQUIRED Despus de aadir estas opciones, reiniciaremos el servidor Proxy: /etc/init.d/squid restart

Visin general de Autenticacin del Proxy con SSO para los canales de Correo y de Calendario de Portal
La autenticacin del proxy requiere una cuenta de usuario del proxy, que opera como un agente de confianza en nombre de los usuarios. Los usuarios del proxy de Messaging Server y Calendar Server se utilizan para proporcionar autenticacin a los usuarios finales sin necesidad de contraseas para dichos usuarios. Los canales actuales de Messaging Server y Calendar Server utilizan el servicio del adaptador de SSO para que Portal Server realice la autenticacin con sus respectivos servicios de servidor. Al registrar el nombre y la contrasea de usuario del proxy con las plantillas del adaptador de SSO de correo y de calendario de Portal Server, los usuarios no tienen que introducir sus nombres de

Ing. Eduardo A. Aparicio C.

Pgina 78

usuario ni sus contraseas. Para esta funcin, tiene que definir los usuarios del proxy para Messaging Server y Calendar Server. La siguiente figura muestra el uso que el servicio del adaptador de SSO hace de la autenticacin proxy con Calendar Server.

Servicios del adaptador de SSO que utilizan la autenticacin del proxy

En la figura: 1. El usuario inicia sesin en el escritorio de Portal Server. 2. El canal del escritorio de Calendar autentica con Calendar Server. El usuario de proxy autentica en nombre del usuario. 3. El usuario del proxy obtiene la informacin de calendario del usuario en nombre del usuario. 4. El canal del calendario procesa la informacin en formato html y la devuelve al escritorio. La configuracin de la autenticacin del proxy y del servicio del adaptador de SSO slo es necesaria para los canales de portal de correo y de calendario. La autenticacin del proxy y el servicio del adaptador de SSO no sustituyen el nuevo mecanismo de SSO de Identity Server 6.1. Debe habilitar el SSO de Identity Server 6.1 SSO en Messaging Server y Calendar Server para que el inicio de sesin nico funcione correctamente en todo el sistema. La siguiente figura muestra las relaciones entre el SSO de Identity Server 6.1 y el mecanismo de SSO de los canales de Portal Server.

SSO de Identity server y mecanismo de SSO de los canales de portal server

Ing. Eduardo A. Aparicio C.

Pgina 79

En la figura: Las lneas de puntos muestran cmo se produce la comunicacin de SSO de Identity entre el usuario final e Identity Server, Portal Server, Calendar Server y Messaging Server. La comunicacin de SSO de Identity tambin se efecta entre Identity Server, Calendar Server y Messaging Server. La lnea continua muestra cmo se produce la comunicacin del adaptador de SSO y la autenticacin del proxy entre los canales de correo y de calendario con sus respectivos servicios de servidor de Messaging Server y Calendar Server. La siguiente figura muestra un ejemplo del uso del canal de calendario.

Comunicacin de SSO y del canal de calendario de Identity Server

En la figura: 1. El usuario realiza la autenticacin con Identity Server.

2. El usuario accede al escritorio del portal mediante una cookie de Identity Server.

Portal Server valida la cookie con Identity Server. 1. El canal de calendario pide el contenido del calendario. La plantilla de configuracin del adaptador de SSO lee las credenciales del proxy. El usuario del proxy realiza la autenticacin en nombre del usuario. Se devuelve el contenido del escritorio, incluido el canal de calendario ya procesado. El usuario accede a Calendar Server. Calendar Server comprueba la cookie de sesin de Identity con Identity Server. Identity Server comprueba la cookie de sesin y proporciona la informacin de usuario necesaria para iniciar la sesin de Calendar.

Configuracin de la autenticacin del proxy

Para configurar la autenticacin del proxy para los canales de calendario y de correo, debe acceder a las plantillas del adaptador de SSO mediante la consola de Identity Server, as como acceder a los servidores de comunicacin de Sun ONE. La configuracin de la autenticacin del proxy implica: Editar las plantillas del adaptador de SSO;

Ing. Eduardo A. Aparicio C.

Pgina 80

Acceder a Messaging Server para habilitar la autenticacin del proxy para el canal del correo; Acceder a Calendar Server para habilitar la autenticacin del proxy para el canal del calendario; Comprobar que la autenticacin del proxy funciona.

Utilice la consola de Identity Server para editar las plantillas del adaptador de SSO. Tiene que
editar las cadenas que afectan a los canales de calendario y de correo. Uno de los factores distintivos de las cadenas es el protocolo utilizado: El canal del calendario utiliza el protocolo http El canal del correo utiliza el protocolo imap o el protocolo pop

Para editar las plantillas del adaptador de SSO

Para obtener instrucciones precisas sobre la ejecucin de este procedimiento, consulte el captulo 13, Configuring the Communication Channels, de Sun ONE Portal Server 6.2 Administrators Guide (http://docs.sun.com/doc/816-6748-10).

Configurar la autenticacin del Proxy para Messaging Server y Calendar Server en Portal Server
1. Para Messaging Server, cambie al directorio ms_svr_base/sbin. Por ejemplo: 2. Compruebe que el archivo store.admin contiene admin:./configutil -o store.admins 3. Escriba lo siguiente:./configutil -o service.http.allowadminproxy -v yes
4. Reinicie Messaging Server. 5. Para Calendar Server, edite el archivo cal_svr_base/etc/opt/SUNWics5/config/ics.conf: <Elimine los comentarios y modifique el siguiente parmetro:> service.http.allowadminproxy=yes <Compruebe que estos parmetros estn correctamente definidos:> service.admin.calmaster.userid=calmaster service.admin.calmaster.cred=password 6. Reinicie Calendar Server. cd /opt/SUNWmsgsr/sbin

Para comprobar la autenticacin del proxy

Utilice este procedimiento para comprobar que los canales de calendario y de mensajes funcionan correctamente desde el escritorio de Portal Server: 1. Inicie sesin como un usuario vlido en el escritorio del portal. 2. Examine los canales de calendario y de mensajes. Deberan mostrar la informacin adecuada. 3. Personalice el canal del calendario para mejorar la visualizacin. Seleccione Opciones de visualizacin del canal y cambie la visualizacin del calendario de Diario a Semanal.

Firewalls Concepto
Un Firewall es un sistema que impone una poltica de seguridad entre la organizacin de red privada y el Internet. Es un mecanismo para restringir acceso entre la Internet y la red corporativa interna, segn las polticas de red que se hayan definido en funcin de las necesidades de la organizacin responsable de la red.

Ing. Eduardo A. Aparicio C.

Pgina 81

El firewall podr nicamente autorizar el paso del trfico, y el mismo podr ser inmune a la penetracin. La existencia de un firewall en un sitio Internet reduce considerablemente las probabilidades de ataques externos a los sistemas corporativos y redes internas, adems puede servir para evitar que los propios usuarios internos comprometan la seguridad de la red al enviar informacin peligrosa hacia el mundo externo. La idea principal de un firewall es crear un punto de control de la entrada y salida de trfico de una red. Un firewall correctamente configurado es un sistema adecuado para tener una proteccin a una instalacin informtica, pero en ningn caso debe considerarse como suficiente. La Seguridad informtica abarca ms mbitos y ms niveles de trabajo y proteccin.

Arquitecturas de seguridad zona DMZ

Los firewalls pueden ser configurados de diferentes formas, utilizando diferentes componentes, logrando varios niveles de seguridad a diferentes costos de instalacin y mantenimiento. Esta decisin depender de las necesidades y de la evaluacin de costo/beneficio de llevar a cabo tal implementacin. Las tecnologas de filtrado de paquetes y gateways a nivel de circuito y aplicacin son los principales componentes de una solucin firewall. El filtrado de paquete permite controlar de forma eficiente y transparente el trfico de una red. El impacto que produce su introduccin en una arquitectura de red es mnimo, ya que no requiere grandes cambios en la configuracin de los dispositivos de la red. Ofrecen proteccin a nivel de transporte y red. Los gateways a nivel de aplicacin y circuitos amplan la proteccin de los filtros de paquetes ya que tienen conocimiento de los protocolos que trabajan sobre la capa de transporte por lo que pueden implementar mecanismos a un nivel ms detallado. A continuacin se presentan las principales arquitecturas de un enfoque perimetral y algunas variaciones de las mismas:

Arquitectura screening router

En esta configuracin, el firewall consiste de un nico router que realiza la funcin de filtrado de paquetes. Es una de las estrategias ms simples de implementar. El router posee dos interfaces de red, una conectada a la red interna y la otra conectada a la red externa. Intercepta todo el trfico (de entrada y salida) y lo redirige a su destinatario dependiendo de las reglas del filtro.

Ing. Eduardo A. Aparicio C.

Pgina 82

Arquitectura screening router

Los hosts de la red interna se comunican entre s directamente, mientras que la comunicacin entre hosts de la red privada y la red pblica est restringido a aquellos paquetes que sean permitidos por el router (segn el conjunto de reglas de control que reflejan la poltica de seguridad). Es una buena configuracin para una primera lnea de defensa para un firewall, pero para una solucin definitiva. En esta configuracin, la seguridad de toda la red depende por completo de las reglas definidas en el router. Si un atacante logra atravesar este sistema, tendr acceso a toda la red interna. Adems, esta estrategia no permite ocultar las direcciones IP de la red interna y las capacidades de monitoreo y registro no son muy buenas.

Arquitectura dual-homed host

En esta arquitectura el firewall consiste de un nico hosts bastin dual-homed que implementar funciones de filtrado tanto de red como de aplicacin. Este sistema posee dos interfaces de red, donde cada interfaz se conecta lgica y fsicamente a segmentos de red separados y diferentes. Una interfaz de red se conecta a una red externa, no confiable (como Internet), la otra se conecta a la red privada. Un principio clave de seguridad de esta arquitectura es no permitir que el trfico de red desde la red externa sea ruteado directamente a la red interna. El firewall deber, en todos los casos, actuar como un intermediario. Es por esto que en este sistema, la funcin de ruteo est deshabilitada por lo que el host asla las dos redes entre ellas al bloquear todo paquete IP que capture. Los sistemas conectados a cada lado del host no pueden comunicarse directamente sino a travs de ste.

Arquitectura dual-homed host

La forma de proveer servicios por parte del host bastin puede ser realizada de dos formas 1. Si los usuarios de la red local poseen cuentas en el host bastin, las mismas le permiten iniciar sesiones (logearse) para poder utilizar los servicios de Internet. Este aspecto presenta un serio riesgo de seguridad ya que la proteccin depende de que el usuario haya elegido bien su contrasea. Si un usuario externo puede iniciar una sesin, logra tener acceso a la red local completa. 2. La alternativa es que el host ejecute servicios proxy para cada servicio que se desee permitir, de esta forma el usuario se desliga de la responsabilidad de la seguridad de la red.

Ing. Eduardo A. Aparicio C.

Pgina 83

Este host puede proveer un alto nivel de control al permitir que los hosts internos deban comunicarse slo con este host. Es posible que el dual-homed host rechace conexiones en base a los datos que contenga. Aunque se requiere de mucho trabajo para lograr el mximo potencial de esta configuracin. En esta arquitectura, este dispositivo es critico para la seguridad de la red ya que es el nico sistema que puede ser accedido (y atacado) desde Internet, por lo que debe poseer un alto nivel de proteccin a diferencia de un host comn de la red interna. Es por esto que a estos host suele llamrseles bastin. Debe instalarse en este host la mnima cantidad necesaria de software para reducir el riesgo de que sea vulnerado. Esta arquitectura es mucho mas segura que la anterior, pero an si el bastin es traspasado, la red local completa queda sin proteccin.

Arquitectura screened host

La arquitectura Screened Host posee un firewall compuesto por un router para el filtrado de paquetes y un host bastin para el filtrado de conexiones a nivel de circuito y aplicacin. La primer lnea de proteccin corresponde al router con filtrado de paquetes, el host bastin se encuentra conectado a la red interna como un host ms. El router est configurado para dirigir todo el trafico proveniente de la red externa al host bastin por lo que es el nico que puede ser accedido directamente desde fuera de la red local, por esto, el bastin debe estar altamente protegido. As mismo, ste ltimo dirige todo el trfico proveniente de la red interna al router por lo que es el nico que puede establecer una conexin con el exterior. Adicionalmente, el bastin solo permite ciertos tipos de conexiones y protocolos.

Arquitectura screened host

El router de filtrado de paquetes puede ser configurado de diferentes formas Permitir que ciertos hosts internos puedan abrir conexiones a Internet para ciertos servicios; Deshabilitar todas las conexiones desde los hosts internos habilitando solo al host bastin para establecer estas conexiones; Tambin es posible que algunos paquetes sean dirigidos, por el router, directamente a los hosts internos. Estos aspectos dependen de la poltica de seguridad elegida. Gracias a esta posibilidad, esta arquitectura es mas flexible ya que permite que algunos servicios no soportados por el proxy puedan se dirigidos a los hosts internos directamente por el router. Ya que el bastin bloquea todo el trfico entre la red externa y la red local, esta se mantiene oculta para cualquier host externo. Como en la arquitectura anterior, el bastin administra las conexiones mediante una aplicacin proxy, Los hosts de la red local estn configurados para dirigir todas las solicitudes al servidor proxy, en el host bastin, para poder comunicarse con la red externa. Esta arquitectura es ms segura ya que agrega una capa de seguridad a la arquitectura anterior: un atacante tiene que pasar primero por el router y luego por el host bastin (por supuesto, esto depende siempre del uso de una poltica de seguridad correctamente diseada)

Ing. Eduardo A. Aparicio C.

Pgina 84

Por otro lado, esta arquitectura presenta una desventaja: si un atacante logra vulnerar al host bastin, podr tener acceso a toda la red interna. En el modelo presentado, el host bastin se conecta a la red como otro host ms. Es posible configurar a ste host para que se conecte al router y a la red interna por medio de interfaces de red diferentes; de esta forma se crea una divisin fsica entre la red interna y el router.

Arquitectura screened subnet

El riesgo presente en las arquitecturas anteriores de que el host bastin sea comprometido puede ser reducido configurando una red de permetro a la cual se conecte el mismo. Esta red suele ser llamada Zona Desmilitarizada (DMZ).

La DMZ se usa habitualmente para ubicar servidores que es necesario que sean accedidos desde fuera, como servidores de e-mail, web y DNS. Las conexiones que se realizan desde la red externa hacia la DMZ se controlan generalmente utilizando port address translation (PAT). Una DMZ se crea a menudo a travs de las opciones de configuracin del firewall, donde cada red se conecta a un puerto distinto de ste, esta configuracin se llama cortafuegos en trpode (threelegged firewall). Un planteamiento ms seguro es usar dos cortafuegos, donde la DMZ se sita en medio y se conecta a ambos cortafuegos, uno conectado a la red interna y el otro a la red externa. Esta configuracin ayuda a prevenir configuraciones errneas accidentales que permitan el acceso desde la red externa a la interna. Para lograr esta arquitectura se introduce un router de filtrado de paquetes entre el host bastin y la red interna, por lo que el host bastin se encontrar entre los dos routers (interno y externo, uno se encuentra entre la red perimetral y la red externa y el otro entre la red perimetral y la red interna) y estar conectado a un segmento de red diferente al que estn conectados los hosts de la red privada. Con esta configuracin no existe un nico punto vulnerable que ponga en riesgo toda la red interna. Con esta arquitectura se agrega una nueva capa de seguridad a la arquitectura anterior que asla la red local de Internet. Aislando al host bastin en una red de permetro, es posible reducir el impacto de que el bastin sea vulnerado por algn ataque.

Ing. Eduardo A. Aparicio C.

Pgina 85

Arquitectura screened subnet

Si un atacante logra vencer la proteccin del host bastin, solo podr acceder a la red perimetral ya que la red interna sigue protegida por el router interno. De esta forma el atacante solo tendr acceso a la red perimetral, ocultando todo el trfico de la red local. Esta arquitectura es la ms segura de las presentadas hasta ahora ya que la red perimetral soporta aspectos de seguridad a nivel de red y de aplicacin y provee un sitio seguro para conectar servidores pblicos. sta red establece una capa de seguridad adicional, entre la red externa y la red interna protegida. Si un atacante penetra el host bastin de la red perimetral, solo ser capaz de ver el trfico en dicha red. Todo el trfico en esta red deber ser desde o hacia el host bastin, o desde y hacia la red externa. Ya que el trfico de la red interna no pasa por la red perimetral, estar a salvo de ser escuchado por un intruso, inclusive si el host bastin es vulnerado. El router externo ofrece proteccin contra ataques provenientes de la red externa y administra el acceso de Internet a la red perimetral. De esta forma, protege tanto a la red perimetral como a la red interna. En la practica, estos routers permiten casi todo el trfico que provenga de la red perimetral y realizan pocas tareas de filtrado de paquetes. Las reglas ms importantes de este router son aquellas que protegen a los dispositivos situados en la red perimetral, aunque estos estn protegidos a s mismos pero la redundancia es importante al momento de proteger un sistema. Una de las tareas mas importantes del router externo es bloquear todo paquete que provenga de la red externa diciendo que proviene de la red interna. Para soportar servicios proxy el router externo permitir el paso de los protocolos si provienen del host bastin. Estas reglas proveen un nivel extra de seguridad, aunque en situaciones normales, estos paquetes ya habrn sido bloqueados por el router interno. El router interno protege la red interna de la red externa y de la perimetral administrando el acceso de sta a la red interna; provee una segunda lnea de defensa si el router externo es comprometido. Realiza la mayor parte del filtrado de paquetes del firewall. Permite que ciertos servicios salgan de la red interna hacia Internet. Estos servicios son aquellos que el sitio puede soportar y proveer de forma segura usando filtrado de paquetes en lugar de servicios proxy (por ejemplo, Telnet, FTP, etc). Los servicios que permite entre el host bastin y la red interna no son necesariamente los mismos que permite entre la red externa y la red interna. La idea es reducir el nmero de mquinas que puedan ser atacadas desde el host bastin. Los servicios permitidos entre el host bastin y la red interna deberan limitarse solo a aquellos que sean necesarios (como por Ej. SMTP, para que el bastin pueda reenviar correo entrante). Inclusive sera apropiado que solo sean permitidos a algunos hosts de la red interna (para el mismo ejemplo, servidores de mail internos) El host bastin conectado a la red perimetral es el principal punto de contacto para conexiones de entrada desde la red externa, por ejemplo, sesiones de correo electrnico (SMTP), conexiones

Ing. Eduardo A. Aparicio C.

Pgina 86

FTP al servidor annimo del sitio, consultas DNS al sitio, etc. Los servicios externos son administrados por el host bastin de la misma forma que en la arquitectura anterior, solo que en este caso existe un router ms que configurar. En cualquier caso, el host bastin solo se comunicar directamente con los routers que delimitan a red perimetral. Adems del host bastin que acta como servicio proxy, la red perimetral tambin podr contener servidores para distintas aplicaciones (HTTP, Correo electrnico). Inclusive es posible agregar un sistema de deteccin de intrusos y as poder detectar los problemas antes de que se conviertan en un riesgo para la red. El host bastin podra ser configurado de tal forma que divida fsicamente la red perimetral en dos subredes si se conecta a los router interno y externo mediante dos interfaces de red diferentes (dual-homed) con lo que se obtiene un nivel ms de seguridad.

Variaciones de arquitecturas firewall

Hasta aqu se han presentado las arquitecturas bsicas y principales que pueden ser encontradas en un firewall. Existen diversas configuraciones partiendo de estas arquitecturas que permiten cubrir las necesidades bsicas de una organizacin que desee proteger su red privada de los ataques provenientes de la red externa (en muchos casos pblica) a la cual estn conectadas. Una de las posibles variaciones es utilizar ms de un host bastin ya sea para mejorar el desempeo de los servicios de la red ampliando la capacidad de procesamiento paralelo de distintos servicios, introducir redundancia para obtener un soporte de apoyo (ya sea de servicios o de datos) o separar servicios por razones de seguridad. Tambin es posible crear una red perimetral utilizando un solo router que cumpla las funciones de un router externo y otro interno. Para esto, el router debe ser lo suficientemente capaz de procesar todo el trfico que reciba. Esta configuracin tiene la misma desventaja de la arquitectura screened host ya que existen un nico punto de falla. El host bastin puede ser utilizado como router externo si se conecta a dos redes mediante dos interfaces de red diferentes. De esta forma, el filtrado de paquetes y los servicios proxy son ejecutados en el mismo host. Esta decisin involucra un costo en el desempeo de estos servicios aunque las tareas de filtrado de un router externo son mnimas. Esta configuracin no introduce vulnerabilidades pero s queda ms expuesto en host bastin por lo que deben considerarse medidas de seguridad mayores para tal host. La alternativa opuesta sera aquella que utilice un host con dos interfaces de red para actuar como bastin (servidor proxy) y router interno pero de esta forma se est eliminando el nivel de seguridad provisto por el router interno si los niveles de seguridad ms expuestos fallan. Si la red privada se conectar a ms de una red externa, puede utilizarse para cada una un router externo diferente, de esta forma se mantendr el desempeo de cada router independientemente agregando conectividad. Una alternativa a este enfoque es utilizar una red perimetral (un firewall) para cada red externa a la cual se conecte la red privada. Si la red interna es de una dimensin importante tal que pueda sobrecargar al router interno (el ms importante), es posible utilizar mltiples routers internos conectados a dos subredes, es decir, a segmentos diferentes correspondientes a la red interna.

Evolucion ipchains

La mayora de los aspectos de GNU/Linux evolucionan para satisfacer las cada vez mayores demandas de sus usuarios; el cortafuegos de IP no es una excepcin. La implementacin del cortafuego de IP tradicional resulta suficiente para la mayora de las aplicaciones, pero puede resultar engorroso y poco eficiente para configurar en entornos complejos. Para resolver este problema, se desarroll un nuevo mtodo de configuracin del cortafuego de IP as como nuevas caractersticas relacionadas. Este nuevo mtodo fue denominado Cortafuegos IP Chains y fue liberado por vez primera para uso general en el ncleo 2.2.0. Ipchains es un cortafuego libre para Linux. Es el cdigo reescrito del cdigo fuente del cortafuego IPv4 anterior de Linux. En Linux 2.2,

Ing. Eduardo A. Aparicio C.

Pgina 87

ipchains es requerido para administrar los filtros de paquetes IP. Ipchains fue escrito porque el firewall IPv4 anterior utilizado en Linux 2.0 no funcionaba con fragmentos IP y no permita que se especifiquen otros protocolos que no sean TCP, UDP o ICMP. El cortafuego IP Chains le permite desarrollar clases de reglas de cortafuegos a las que puede entonces aadir y quitar 'hosts' o redes. Una consecuencia colateral del encadenamiento de reglas de cortafuegos es que puede mejorar el rendimiento del cortafuego en aquellas configuraciones en las que haya montones de reglas. El cortafuegos IP Chains est soportado por las series de ncleos 2.2 y tambin se encuentran disponibles como un parche para la series de ncleos 2.0.*. El HOWTO describe dnde obtener el parche y proporciona montones de pistas tiles sobre cmo utilizar de forma efectiva la utilidad de configuracin ipchains. Existen dos formas de emplear la utilidad ipchains. La primera forma consiste en utilizar el guin de "shell" ipfwadm-wrapper, que es bsicamente un sustituto de la orden ipfwadm y que llama por debajo al programa ipchains. La segunda forma de utilizar ipchains consiste en aprender su nueva sintaxis y modificar cualquier configuracin existente que exija utilizar la nueva sintaxis en lugar de la antigua. Con algunas consideraciones cuidadosas, se dar cuenta de que puede optimizar su configuracin a la vez que realiza la conversin. La sintaxis de ipchains es ms fcil de aprender que la de ipfwadm, por lo que resultar una buena opcin. La orden ipfwadm manipulaba tres conjuntos de reglas para el propsito de configurar el cortafuego. Con el cortafuego IP Chains, podr crear un nmero arbitrario de conjuntos de reglas, cada una enlazada con otra, pero siguen estando presentes siempre tres conjuntos de reglas relacionadas con la funcin del cortafuego. Los conjuntos de reglas estndares son los directos equivalentes de los utilizados con ipfwadm, exceptuando el hecho de que ahora tiene nombre: input, forward y output. Veamos primero la sintaxis general de la orden ipchains, despus se ver como utilizar ipchains en lugar de ipfwadm sin preocuparse acerca de sus caractersticas avanzadas de encadenamiento. La sintaxis de la orden ipchains es bastante directa. La sintaxis general de la mayora de las rdenes de ipchains es: || Ipchains orden especificacin_de_regla opciones || Existen diversas formas de manipular las reglas y conjuntos de reglas con la orden ipchains. Las relevantes para la funcionalidad de cortafuegos de IP son: -A cadena: Aade una o ms reglas al final de la cadena especificada. Si se proporciona un nombre de 'host' como origen o destino que se resuelve a ms de una direccin IP, entonces se aade una regla por cada una de las direcciones. -I cadena numero_de_regla: Inserta una o ms reglas al principio de la cadena especificada. De nuevo, si se proporciona un nombre de 'host', se aade una regla por cada direccin que se resuelva. -D cadena: Elimina una o ms reglas de la cadena especificada que coincida con la especificacin de regla. -D cadena nmero de regla: Elimina la regla ubicada en la posicin nmero_de_regla de la cadena especificada. Las posiciones de reglas comienzan por uno en la primera regla de la cadena. -R cadena nmero de regla: Reemplaza la regla ubicada en la posicin nmero_de_regla de la cadena especificada por la especificacin de regla proporcionada. -C cadena: Comprueba el datagrama que se describe con la especificacin de la regla contra la cadena especificada. Esta orden devuelve un mensaje que describe cmo se procesar el datagrama por la cadena. -L [cadena]: Muestra las reglas de la cadena especificada, o de todas las cadenas si no se

Ing. Eduardo A. Aparicio C.

Pgina 88

especifica ninguna. -F [cadena]: Elimina todas las reglas de la cadena especificada, o de todas las cadenas si no se especifica ninguna. -Z [cadena]: Establece a cero los contadores de datagramas y bytes de la cadena especificada, o de todas las cadenas si no se especifica ninguna. -N cadena: Crea una nueva cadena con el nombre especificado. No puede existir una cadena con el mismo nombre. As es como se crean las cadenas de usuario. -X [cadena]: Elimina la cadena de usuario especificada, o todas las cadenas de usuario especificadas si no se especifica ninguna cadena. Para que esta orden tenga xito, no deben existir referencias de ninguna otra cadena de reglas a la cadena especificada. -P poltica de cadena: Establece la poltica por defecto de la cadena especificada a la poltica especificada. Las polticas de cortafuegos vlidas son ACCEPT, DENY, REJECT, REDIR, o RETURN. ACCEPT, DENY, y REJECT tienen los mismos significados que las polticas correspondientes de la implementacin tradicional del firewall de IP. REDIR especifica que se debe redirigir de forma transparente el datagrama a un puerto del 'host' del firewall. La poltica RETURN causa que el cdigo del firewall de IP vuelva a la cadena de cortafuegos que hizo la llamada a la que contiene esta regla y que contine empezando por la regla situada tras la regla que hizo la llamada. Ciertos parmetros de ipchains crean una especificacin de reglas al determinar qu tipos de paquetes coinciden. Si se omite algunos de esos parmetros de la especificacin de una regla, se asumen sus valores por omisin. -p [!] protocolo: Especifica el protocolo del datagrama que buscar coincidencias con esta regla. Los protocolos vlidos son: tcp, udp, icmp, o todos. Tambin puede especificarse un nmero de protocolo para buscar coincidencias con con otros protocolos. Por ejemplo, se puede utilizar el 4 para buscar coincidencias con el protocolo de encapsulamiento ipip. Si se proporciona el signo!, entonces la regla es negativa y el datagrama buscar coincidencias con cualquier protocolo que no sea el especificado. Si no se especifica este parmetro, se asumir por omisin el valor all. -s [!]direccin [/mscara] [!] [puerto]: Especifica la direccin de origen y el puerto del datagrama que buscar coincidencias con este regla. La direccin puede proporcionarse como un nombre de 'host', un nombre de red o una direccin de IP. El argumento opcional mscara es la mscara de red que se utilizar y puede ser proporcionada en la forma tradicional (e.g.,/255.255.255.0) o en la forma moderna (e.g., /24). El argumento opcional puerto especfica el puerto de TCP o UDP, o el tipo de datagrama de ICMP que buscar coincidencias con. Se puede proporcionar una especificacin de puerto solamente si se ha proporcionado el parmetro -p con uno de los protocolos tcp, udp, o icmp. Se puede especificar los puertos en la forma de un rango, especificando los lmites inferior y superior con el signo: como delimitador. Por ejemplo, 20:25 describe todos los puertos que van desde el 20 hasta el 25 incluyendo ambos. De nuevo, el signo! puede utilizarse para negar los valores. -d [!]direccin [/mscara] [!] [puerto]: Especificar la direccin y el puerto de destino del datagrama que buscar coincidencias con con esta regla. La codificacin de este parmetro es la misma que la del parmetro -s. -j blanco: Especifica la accin que se tomar cuando se coincida con esta regla. Puede pensarse en este parmetro como con el significado de salta a. Los blancos vlidos son en principio las polticas ACCEPT, DENY, REJECT, REDIR, y RETURN. Se describieron sus significados ms arriba. Sin embargo, tambin puede proporcionarse el nombre de una cadena de usuario, y ser por donde el proceso continuar. Si se omite este parmetro, no se tomar ninguna accin sobre los datagramas coincidentes con la regla exceptuando la actualizacin de los contadores de datagramas y de bytes. -i [!]nombre_de_interfaz: Especifica la interfaz por la que se recibi o va a transmitirse el datagrama. De nuevo, el signo! invierte el resultado de la coincidencia. Si el nombre de la interfaz

Ing. Eduardo A. Aparicio C.

Pgina 89

acaba con un signo + entonces cualquier interfaz que comience con la cadena proporcionada buscar coincidencias con. Por ejemplo, -i ppp+ buscar coincidencias con con cualquier dispositivo de red de PPP y -i ! eth+ con todas las interfaces excepto las correspondientes a dispositivos de Ethernet. [!] f: Especifica que esta regla se aplica a todo excepto al primer fragmento del un datagrama fragmentado.

Opciones

Las siguientes opciones de ipchains son ms generales por naturaleza propia. Algunas de ellas controlan caractersticas bastante esotricas del 'software' de 'IP Chains': -b Fuerza a que la orden genere dos reglas. Una ajusta el parmetro proporcionado y la otra regla aadida coincide con los parmetros en el sentido contrario. -v Causa que ipchains sea ms explcito en su salida. Proporcionar ms informacin. -n Causa que ipchains muestre las direcciones de IP y los nmeros de puertos en forma de nmeros sin intentar resolverlos contra sus correspondientes nombres. -l Habilita el registro del ncleo de los datagramas coincidentes. Cualquier datagrama que coincida con la regla ser registrado por el ncleo utilizando su funcin printk, con lo que este registro ser gestionado habitualmente por el programa sysklogd y escrito a un fichero de registro. Esto resulta muy til para hacer visibles datagramas poco usuales. -o [tamao_mximo] Causa que el 'software' de 'IP Chains' copie cualquier datagrama coincidente con la regla al dispositivo netlink del espacio de usuarios. El argumento de tamao_mximo limita el nmero de bytes que se pasarn desde cada datagrama al dispositivo netlink. Esta opcin resulta de la mayor utilidad para los desarrolladores de 'software', pero puede que sea aprovechada por paquetes de 'software' en el futuro. -m valor_de_marca Causa que los datagramas coincidentes sean marcados con un valor. Los valores de las marcas son nmeros de 32 bits sin signo. En las implementaciones actuales esto no hace nada, pero en algn momento en el futuro puede que sirvan para determinar cmo otro 'software', como un cdigo de encaminamiento, tratar al datagrama. Si un valor de una marca comienza con el signo + o con el signo -, el valor se aade o se substrae del valor actual de la marca. -t mscara_and mscara_xor Le permite manipular los bits del tipo de servicio de la cabecera de IP de cualquier datagrama que coincida con esta regla. Los bits de tipo de servicio son utilizados por los encaminadores inteligentes para gestionar la prioridad de los datagramas antes de reenviarlos. El software de encaminamiento de GNU/Linux es capaz de realizar este tipo de asignacin de prioridades. La mscara_and y la mscara_xor representar mscaras de bits con las que se realizarn respectivamente un AND lgico o un OR lgico con los bits del tipo de servicio del datagrama. Esto constituye una caracterstica avanzada que se discute con ms detalle en el IPCHAINS-HOWTO. -x Fuerza que los nmeros de salida de ipchains aparezcan con sus valores exactos sin ninguna aproximacin. -y Causa que la regla coincida con cualquier datagrama de TCP cuyo bit SYN valga 1 y los bits ACK y FIN lleven un valor de 0. Esto se utiliza para filtrar las peticiones de conexin de TCP.

Los guiones de soporte de ipchains

El paquete de 'software' de ipchains se proporciona con tres guiones de soporte. El guin ipfwadm-wrapper emula la sintaxis de la lnea de rdenes de la orden ipfwadm, pero utiliza la orden ipchains para construir las reglas del cortafuegos. Esto es una forma conveniente de realizar la migracin de la configuracin existente del firewall o una alternativa al aprendizaje de la sintaxis de ipchains. El guin ipfwadm-wrapper se comporta de forma diferente de la orden

Ing. Eduardo A. Aparicio C.

Pgina 90

ipfwadm en dos cosas: en primer lugar, porque la orden ipchains no soporta la especificacin de una interfaz por su direccin, el guin ipfwadm-wrapper acepta el argumento -V pero intenta convertirlo en el equivalente en ipchains de -W buscando el nombre del interfaz configurado por la direccin proporcionada. El guin ipfwadm-wrapper le dar siempre un aviso cuando utilice la opcin -V con el propsito de recordarle todo esto. En segundo lugar, las reglas de auditoria de los fragmentos no se traducen adecuadamente. Los guiones ipchains-save e ipchains-restore convierten la tarea de construir y modificar la configuracin del cortafuego en una tarea mucho ms simple. La orden ipchains-save lee la configuracin actual y la escribe de forma simplificada por la salida estndar. La orden ipchainsrestore lee datos con el formato de la salida de la orden ipchains-save y configura el cortafuegos de IP con esas reglas. La ventaja de utilizar estos guiones en vez de modificar directamente el guin de configuracin de su cortafuego y probar la nueva configuracin consiste en la capacidad de construir dinmicamente su configuracin una vez y entonces guardarla. Entonces usted puede recuperar esa configuracin, modificarla, y volverla a guardar si as lo desea. Para utilizar los guiones, se introducira algo como: ipchains-save >/var/state/ipchains/firewall.state para guardar la configuracin actual de su cortafuegos. Usted la recuperara, quizs en el momento de arranque del sistema, con: ipchains-restore </var/state/ipchains/firewall.state El guin ipchains-restore comprueba si ya existe cualquiera de las cadenas de usuarios especifica en su entrada. Si se proporciona el argumento -f, entonces y de forma automtica, el guin borrar las reglas de la cadena de usuario antes de configurar las de la entrada. El comportamiento por defecto es que se le pregunte si desea saltarse esta cadena o inicializarla.

Evolucin iptables (Procesos, configuracin, politicas)

Mientras desarrollaba el cortafuegos 'IP Chains', Paul Russell decidi que realizar funciones de cortafuegos de IP debera ser algo menos difcil; pronto asumi como tarea simplificar los aspectos de procesamiento de datagramas en el cdigo de cortafuegos del ncleo y produjo un esquema de filtrado que era mucho ms claro y mucho ms flexible. Denomin este nuevo esquema netfilter. Aumentado de forma importante la eficiencia y la gestin de las reglas del cortafuegos. Pero la forma que tenan de procesar los datagramas era todava complejos, en especial en conjuncin con caractersticas relacionadas con las funciones de cortafuegos como el enmascaramiento de IP y con otras formas de traducciones de direcciones. Parte de esta complejidad era debida a que el enmascaramiento de IP y la traduccin de direcciones de red fueron funciones desarrolladas independientemente del cdigo de cortafuegos e integradas ms tarde, en vez de haber sido diseadas como partes mismas del cdigo de cortafuegos desde el principio. Si un desarrollador deseara aadir todava ms caractersticas a la secuencia de procesamiento de datagramas, entonces se encontrara con dificultades para encontrar el lugar donde insertar el cdigo y se habra visto obligado a realizar cambios en el ncleo. Adems, haba otros problemas. En concreto, la cadena input describa la entrada a la capa de red de IP tomada en conjunto. La cadena input afectaba tanto a los datagramas que estaban destinados a este 'host' as como los datagramas que iban a ser encaminados. Esto resulta contrario a la intuicin porque se confunda la funcin de la cadena 'input' con la de la cadena 'forward', que se aplicaba slo a los datagramas que iban a ser reenviados, pero que siempre segua a la cadena 'input'. Se quera tratar de forma diferente los datagramas para el propio 'host' de los que iban a ser reenviados, era necesario construir reglas complejas que excluan a unos o a otros. El mismo problema apareca con la cadena output de salida. Esta complejidad influa de forma inevitable en el trabajo del administrador de sistemas porque se vea reflejada en la forma en que se deban disear los conjuntos de reglas. Adems, cualquier extensin al proceso de filtrado exiga la modificacin directa del ncleo, porque todas las polticas de filtrados estaban implementadas all y no haba forma de proporcionar una interfaz transparente. netfilter aborda tanto la complejidad como la rigidez de las soluciones antiguas

Ing. Eduardo A. Aparicio C.

Pgina 91

implementando un esquema genrico en el ncleo que simplifica la forma en que se procesan los datagramas y proporciona la posibilidad de extender las polticas de filtrado sin tener que modificar el ncleo. Veamos dos de los cambios claves realizados. La Figura 1 ilustra cmo se procesan los datagramas en la implementacin de 'IP Chains', mientras que Figura 2 ilustra cmo se procesan en la implementacin de netfilter. Las diferencias claves consisten en la eliminacin de la funcin de enmascaramiento del cdigo central y de un cambio en la localizacin de las cadenas de entrada y de salida. En acompaamiento a estos cambios, se cre una herramienta de configuracin nueva y extensible que se denomin iptables. En 'IP Chains' la cadena de entrada se aplica a todos los datagramas recibidos por el 'host', independientemente de si estn destinados al 'host' local o de si sern encaminados a otro 'host'. En netfilter, la cadena 'input' de entrada se aplica solamente a los datagramas destinados al 'host' local, y la cadena 'forward' de reenvo se aplica slo a los datagramas destinados a otro 'host'. De forma similar, en 'IP chains', la cadena 'output' de salida se aplica a todos los datagramas que abandonen el 'host' local, independientemente de si el datagrama se genera en el 'host' local o ha sido encaminado desde otro 'host'. En netfilter, la cadena 'output' de salida se aplica solamente a los datagramas generados en este 'host' y no se aplica a los datagramas que estn siendo encaminados provenientes de otro 'host'. Este cambio por s solo ofrece una enorme simplificacin de muchas configuraciones de cortafuegos. Figura 1. Procesamiento de datagramas en 'IP Chains'

En la Figura 1, los componentes etiquetados como demasq y masq son componentes separados del ncleo que son responsables del procesamiento de los datagramas enmascarados entrantes y salientes. Estos componentes han sido re implementados como mdulos de netfilter. Considrese el caso de una configuracin para la que la poltica por defecto para cada una de las cadenas 'input', 'forward' y 'output' es deny. En 'IP Chains', se necesitaran seis reglas para permitir cualquier sesin a travs del 'host' cortafuegos; dos para cada una de las cadenas 'input, 'forward' y 'output' (una cubrira el camino en un sentido y la otra en el sentido contrario). 'IP chains' le permite crear cadenas que le simplificaran esta tarea un poco, pero su diseo no resulta evidente y requiere de un cierto nivel de experiencia. En la implementacin de netfilter con iptables, esta complejidad desaparece completamente. Para que se pueda encaminar por un 'host' cortafuegos un servicio que se desea prohibir que termine en el propio 'host', slo se necesitan dos reglas: una para un sentido y otra para el contrario ambas en la cadena 'forward'. Esto es la forma obvia de disear reglas de cortafuegos, y servir para simplificar enormemente el diseo de las configuraciones del firewall. Figura 2. Cadena de procesamientos de datagramas en 'netfilter'

Ing. Eduardo A. Aparicio C.

Pgina 92

El documento PACKET-FILTERING-HOWTO ofrece una lista detallada de los cambios que se han realizado, por lo que aqu nos vamos a centrar en los aspectos ms prcticos.

Compatibilidad hacia atrs con IPFWADM e ipchains

La flexibilidad notoria de netfilter en GNU/Linux queda ilustrada por su habilidad para emular las interfaces ipfwadm e ipchains. La emulacin hace un poco ms sencilla la transicin a la nueva generacin del software de cortafuegos. Los dos mdulos de netfilter de ncleo denominados ipfwadm.o e ipchains.o proporcionan la compatibilidad hacia atrs para ipfwadm e ipchains. Slo puede cargarse uno de estos mdulos a la vez, y utilizarlo slo si el mdulo ip_tables.o no est cargado. Cuando se ha cargado el mdulo apropiado, entonces netfilter funciona exactamente de la misma forma que la anterior implementacin de cortafuegos.

Configurando iptables

La configuracin tpica de un firewall bsico son filtradores de paquetes. Ven los paquetes que van pasando en la red, y hacen elecciones de como manejar los paquetes. La configuracin dir cuales pasan y cuales son rechazados. Las reglas se bsicas se hacen mediante sobre la direccin IP y el nmero de puerto. Iptables tambin puede hacer un seguimiento a la conexin que puede ir adicionado a las reglas. Iptables tiene mucho ms que ofrecer que un simple criterio de filtro de paquetes. Existen muchos criterios avanzados de iptables que llevaran mucho tiempo de explicar, en la presentacin solo describo la existencia de algunos y los invito al camino de la exploracin. Se deben modificar las reglas de filtrado, teniendo en cuenta los siguientes aspectos: Desde la propia mquina se pueden acceder a todos sus servicios (correo, servidor) -A INPUT -i lo -j ACCEPT -A OUTPUT -o lo -j ACCEPT Permite la salida de todos los paquetes por la interface loopback, as como la entrada a la mquina de todos los paquetes que lleguen por la interface loopback. Permitir nuevos accesos remotos desde la LAN y routers (1..9) a los puertos ssh (22), ftp(20:21), ftp pasivo (50000:60000) y http (80) -A INPUT -p tcp -m state -m tcp --dport 20 --state NEW -j ACCEPT -A INPUT -p tcp -m state -m tcp --dport 21 --state NEW -j ACCEPT -A INPUT -p tcp -m state -m tcp --dport 22 --state NEW -j ACCEPT -A INPUT -p tcp -m state -m tcp --dport 80 --state NEW -j ACCEPT -A INPUT -p tcp -m state -m tcp --dport 50000:60000 --state NEW j ACCEPT

Ing. Eduardo A. Aparicio C.

Pgina 93

Permite recibir las respuestas de los DNS configurados en /etc/resolv.conf -A INPUT -p 50 -j ACCEPT -A INPUT -p 51 -j ACCEPT Permite la respuesta del Multicast DNS -A INPUT -p udp -d 224.0.0.251 --dport 5353 -j ACCEPT Impide el acceso a cualquier puerto tcp desde los routers -A INPUT s 192.168.1.1:9 -j REJECT --reject-with icmp-host-prohibited Desde la propia LAN (192.168.1.0/24, con la excepcin del rango de routers) permitir el acceso a los servicios de webmin, mysql y https -A INPUT -p tcp -m state -m tcp --dport 443 --state NEW -j ACCEPT -A INPUT -p tcp -m state -m tcp --dport 6714 --state NEW -j ACCEPT -A INPUT -p tcp -m state -m tcp --dport 3306 --state NEW -j ACCEPT Permite el acceso a los puertos 6714 (webmin), 3306 (mysql) y 443 (https) desde cualquier IP dentro de la red local (previamente a este punto estn las reglas que impiden el acceso a estos puertos desde los routers) A revisin: ping (icmp) -A INPUT -p icmp --icmp-type any -j ACCEPT Permitir el trfico ya establecido. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT Prohibir otros. -A INPUT -j REJECT --reject-with icmp-host-prohibited Rechazan el resto de peticiones tanto TCP como UDP Es muy importante el orden con el que se aplican las reglas. Es recomendable aplicar las reglas progresivamente directamente con el comando iptables. Por ejemplo para la primera regla mencionada anteriormente batamos iptables -A INPUT -i lo -j ACCEPT De esta forma iremos aplicando progresivamente las reglas de filtrado. Una vez terminadas de aplicar todas y comprobando que este es realmente el resultado que deseamos conseguir, utilizaremos el comando iptables-save o service iptables save para generar el archivo /etc/sysconfig/iptables necesario para que se carguen automticamente las reglas al inicial el servidor. service iptables save Reinicio y aplicacin de las nuevas reglas Para que las nuevas configuraciones estn activas se requerir el reinicio del servicio, que recoger la informacin del archivo de configuracin y aplicar las nuevas reglas en este momento. service iptables restart

Polticas
Iptables permite al administrador del sistema definir reglas acerca de qu hacer con los paquetes de red. Las reglas se agrupan en cadenas: cada cadena es una lista ordenada de reglas. Las cadenas se agrupan en tablas: cada tabla est asociada con un tipo diferente de procesamiento de paquetes. Cada regla especifica qu paquetes la cumplen (match) y un destino que indica qu hacer con el paquete si ste cumple la regla. Cada paquete de red que llega a una computadora o que se enva desde una computadora recorre por lo menos una cadena y cada regla de esa cadena se comprueba con el paquete. Si la regla cumple con el datagrama, el recorrido se detiene y el destino de la regla dicta lo que se debe hacer con el paquete. Si el paquete alcanza el fin de una

Ing. Eduardo A. Aparicio C.

Pgina 94

cadena predefinida sin haberse correspondido con ninguna regla de la cadena, la poltica de destino de la cadena dicta qu hacer con el paquete. Si el paquete alcanza el fin de una cadena definida por el usuario sin haber cumplido ninguna regla de la cadena o si la cadena definida por el usuario est vaca, el recorrido contina en la cadena que hizo la llamada (lo que se denomina implicit target RETURN o RETORNO de destino implcito). Solo las cadenas predefinidas tienen polticas. En iptables, las reglas se agrupan en cadenas. Una cadena es un conjunto de reglas para paquetes IP, que determinan lo que se debe hacer con ellos. Cada regla puede desechar el paquete de la cadena (cortocircuito), con lo cual otras cadenas no sern consideradas. Una cadena puede contener un enlace a otra cadena: si el paquete pasa a travs de esa cadena entera o si cumple una regla de destino de retorno, va a continuar en la primera cadena. No hay un limite respecto de cun anidadas pueden estar las cadenas. Hay tres cadenas bsicas (INPUT, OUTPUT y FORWARD: ENTRADA, SALIDA y REENVO) y el usuario puede crear tantas como desee. Una regla puede ser simplemente un puntero a una cadena.

Tablas

Hay tres tablas ya incorporadas, cada una de las cuales contiene ciertas cadenas predefinidas. Es posible crear nuevas tablas mediante mdulos de extensin. El administrador puede crear y eliminar cadenas definidas por usuarios dentro de cualquier tabla. Inicialmente, todas las cadenas estn vacas y tienen una poltica de destino que permite que todos los paquetes pasen sin ser bloqueados o alterados.

filter table (Tabla de filtros) Esta tabla es la responsable del filtrado (es decir, de bloquear o permitir que un paquete contine su camino). Todos los paquetes pasan a travs de la tabla de filtros. Contiene las siguientes cadenas predefinidas y cualquier paquete pasar por una de ellas: INPUT chain (Cadena de ENTRADA) Todos los paquetes destinados a este sistema atraviesan esta cadena (y por esto se la llama algunas veces LOCAL_INPUT o ENTRADA_LOCAL) OUTPUT chain (Cadena de SALIDA) Todos los paquetes creados por este sistema atraviesan esta cadena (a la que tambin se la conoce como LOCAL_OUTPUT o SALIDA_LOCAL) FORWARD chain (Cadena de REDIRECCIN) Todos los paquetes que meramente pasan por este sistema para ser encaminados a su destino recorren esta cadena nat table (Tabla de traduccin de direcciones de red) Esta tabla es la responsable de configurar las reglas de reescritura de direcciones o de puertos de los paquetes. El primer paquete en cualquier conexin pasa a travs de esta tabla; los veredictos determinan como van a reescribirse todos los paquetes de esa conexin. Contiene las siguientes cadenas redefinidas: PREROUTING chain (Cadena de PRERUTEO) Los paquetes entrantes pasan a travs de esta cadena antes de que se consulte la tabla de ruteo local, principalmente para DNAT (destination-NAT o traduccin de direcciones de red de destino) POSTROUTING chain (Cadena de POSRUTEO) Los paquetes salientes pasan por esta cadena despus de haberse tomado la decisin del ruteo, principalmente para SNAT (sourceNAT o traduccin de direcciones de red de origen) OUTPUT chain (Cadena de SALIDA) Permite hacer un DNAT limitado en paquetes generados localmente mangle table (Tabla de destrozo) Esta tabla es la responsable de ajustar las opciones de los paquetes, como por ejemplo la calidad de servicio. Todos los paquetes pasan por esta tabla. Debido a que est diseada para efectos avanzados, contiene todas las cadenas predefinidas posibles: PREROUTING chain (Cadena de PRERUTEO) Todos los paquetes que logran entrar a este sistema, antes de que el ruteo decida si el paquete debe ser reenviado (cadena de

Ing. Eduardo A. Aparicio C.

Pgina 95

REENVO) o si tiene destino local (cadena de ENTRADA) INPUT chain (Cadena de ENTRADA) Todos los paquetes destinados para este sistema pasan a travs de esta cadena FORWARD chain (Cadena de REDIRECCIN) Todos los paquetes que exactamente pasan por este sistema pasan a travs de esta cadena OUTPUT chain (Cadena de SALIDA) Todos los paquetes creados en este sistema pasan a travs de esta cadena POSTROUTING chain (Cadena de POSRUTEO) Todos los paquetes que abandonan este sistema pasan a travs de esta cadena

Adems de las cadenas ya incorporadas, el usuario puede crear todas las cadenas definidas por el usuario que quiera dentro de cada tabla, las cuales permiten agrupar las reglas en forma lgica. Cada cadena contiene una lista de reglas. Cuando un paquete se enva a una cadena, se lo compara, en orden, contra cada regla en la cadena. La regla especifica qu propiedades debe tener el paquete para que la regla lo matchee, como nmero de puerto o direccin IP. Si la regla no lo matchea, el procesamiento contina con la regla siguiente. Si la regla, por el contrario, matchea el paquete, las instrucciones de destino de las reglas se siguen (y cualquier otro procesamiento de la cadena normalmente se aborta). Algunas propiedades de los paquetes solo pueden examinarse en ciertas cadenas (por ejemplo, la interfaz de red de salida no es vlida en la cadena de ENTRADA). Algunos destinos solo pueden usarse en ciertas cadenas y/o en ciertas tablas (por ejemplo, el destino SNAT solo puede usarse en la cadena de POSRUTEO de la tabla de traduccin de direcciones de red).

Destinos de regla

El destino de una regla puede ser el nombre de una cadena definida por el usuario o uno de los destinos ya incorporados ACCEPT, DROP, QUEUE, o RETURN (aceptar, descartar, encolar o retornar, respectivamente). Cuando un destino es el nombre de una cadena definida por el usuario, al paquete se lo dirige a esa cadena para que sea procesado (tal como ocurre con una llamada a una subrutina en un lenguaje de programacin). Si el paquete consigue atravesar la cadena definida por el usuario sin que ninguna de las reglas de esa cadena acte sobre l, el procesamiento del paquete contina donde haba quedado en la cadena actual. Estos llamados entre cadenas se pueden anidar hasta cualquier nivel deseado. Existen los siguientes destinos ya incorporados:

ACCEPT (aceptar): Este destino hace que netfilter acepte el paquete. El significado de esto
depende de cul sea la cadena realizando esta aceptacin. De hecho, a un paquete que se lo acepta en la cadena de ENTRADA se le permite ser recibido por la terminal (host), a un paquete que se lo acepta en la cadena de SALIDA se le permite abandonar la terminal y a un paquete que se lo acepta en la cadena de REDIRECCIN se le permite ser ruteado a travs de la terminal.

DROP (descartar): Este destino hace que netfilter descarte el paquete sin ningn otro tipo de

procesamiento. El paquete simplemente desaparece sin indicacin de que fue descartado al ser entregado a la terminal de envi o a una aplicacin. Esto se le refleja al que enva, a menudo, como un communication timeout (alcance del mximo tiempo de espera en la comunicacin), lo que puede causar confusin (aunque el descarte de paquetes entrantes no deseados se considera a veces una buena poltica de seguridad, pues no da ni siquiera el indicio a un posible atacante de que la terminal existe). usuario. Una aplicacin puede usar la biblioteca libipq, tambin parte del proyecto netfilter/iptables, para alterar el paquete. Si no hay ninguna aplicacin que lea la cola, este destino es equivalente a DROP.

QUEUE (encolar): Este destino hace que el paquete sea enviado a una cola en el espacio de

RETURN (retorno): Hace que el paquete en cuestin deje de circular por la cadena en cuya Ing. Eduardo A. Aparicio C. Pgina 96

regla se ejecut el destino RETURN. Si dicha cadena es una subcadena de otra, el paquete continuar por la cadena superior como si nada hubiera pasado. Si por el contrario la cadena es una cadena principal (por ejemplo la cadena INPUT), al paquete se le aplicar la poltica por defecto de la cadena en cuestin (ACCEPT, DROP o similar). Hay muchos destinos de extensin disponibles. Algunos de los ms comunes son: REJECT (rechazo): Este destino tiene el mismo efecto que 'DROP', salvo que enva un paquete de error a quien envi originalmente. Se usa principalmente en las cadenas de ENTRADA y de REDIRECCIN de la tabla de filtrado. El tipo de paquete se puede controlar a travs del parmetro '--reject-with'. Un paquete de rechazo puede indicar explcitamente que la conexin ha sido filtrada (un paquete ICMP filtrado administrativamente por conexin), aunque la mayora de los usuarios prefieren que el paquete indique simplemente que la computadora no acepta ese tipo de conexin (tal paquete ser un paquete tcp-reset para conexiones TCP denegadas, un icmp-port-unreachable para sesiones UDP denegadas o un icmp-protocol-unreachable para paquetes no TCP y no UDP). Si el parmetro '--reject-with' no se especifica, el paquete de rechazo por defecto es siempre icmp-port-unreachable.

LOG (bitcora): Este destino lleva un log o bitcora del paquete. Puede usarse en cualquier

cadena en cualquier tabla, y muchas veces se usa para debuggear (anlisis de fallos, como ser la verificacin de qu paquetes estn siendo descartados). destino LOG. El destino LOG le enva informacin al log del ncleo, pero ULOG hace multidifusin de los paquetes que matchean esta regla a travs de un socket netlink, de manera que programas del espacio de usuario puedan recibir este paquete conectndose al socket. sean reescritos para traduccin de direccin de red. Mediante la opcin '--to-destination' debe indicarse el destino a usar. Esto es vlido solamente en las cadenas de SALIDA y PRERUTEO dentro de la tabla de nat. Esta decisin se recuerda para todos los paquetes futuros que pertenecen a la misma conexin y las respuestas tendrn su direccin y puerto de origen cambiados al original (es decir, la inversa de este paquete). sean reescritos para traduccin de direccin de red. Mediante la opcin '--to-source' debe indicarse el origen a usar. Esto es vlido solamente en la cadena de POSRUTEO dentro de la tabla de nat y, como DNAT, se recuerda para todos los paquetes que pertenecen a la misma conexin.

ULOG: Este destino lleva un log o bitcora del paquete, pero no de la misma manera que el

DNAT: Este destino hace que la direccin (y opcionalmente el puerto) de destino del paquete

SNAT: Este destino hace que la direccin (y opcionalmente el puerto) de origen del paquete

MASQUERADE: Esta es una forma especial, restringida de SNAT para direcciones IP

dinmicas, como las que proveen la mayora de los proveedores de servicios de Internet (ISPs) para modems o lnea de abonado digital (DSL). En vez de cambiar la regla de SNAT cada vez que la direccin IP cambia, se calcula la direccin IP de origen a la cual hacer NAT fijndose en la direccin IP de la interfaz de salida cuando un paquete coincide con esta regla. Adicionalmente, recuerda cuales conexiones usan MASQUERADE y si la direccin de la interfaz cambia (por ejemplo, por reconectarse al ISP), todas las conexiones que hacen NAT a la direccin vieja se olvidan.

Ordenes

Existen varias formas de manipular las reglas y los conjuntos de reglas con la orden iptables. Las relevantes para la funcin de cortafuegos de IP son: -A cadena: Aade una o ms reglas al final de la cadena especificada. Si se proporciona un nombre de 'host' tanto como origen como destino y se resuelve a ms de una direccin IP, se aadir una regla por cada una de esas direcciones.

Ing. Eduardo A. Aparicio C.

Pgina 97

-I cadena nmero_de_regla: Inserta una o ms reglas al comienzo de la cadena especificada. De nuevo, si se proporciona un nombre de 'host' en la especificacin de la regla, se aadir una regla por cada una de las direcciones que se resuelvan. -D cadena: Borra de la cadena especificada una o ms reglas que coincidan con la especificacin de regla de la cadena especificada. -D cadena nmero_de_regla: Borra la regla que ocupa la posicin nmero_de_regla en la cadena especificada. Las posiciones de reglas comienzan en el 1 para la primera regla de la cadena. -R cadena nmero_de_regla: Reemplaza la regla que ocupa la posicin nmero_de_regla en la cadena especificada por la regla proporcionada en la especificacin. -C cadena: Comprueba el datagrama descrito por la especificacin de la regla contra la cadena especificada. Esta orden devolver un mensaje que describe cmo el datagrama procesa la cadena. Resulta de la mayor utilidad para las pruebas de la configuracin de cortafuegos por lo que se contemplar con ms detalle ms adelante. -L [cadena]: Muestra las reglas de la cadena especificada, o de todas las cadenas si no se especifica ninguna. -F [cadena]: Borra todas las reglas de la cadena especificada, o de todas las cadenas si no se especifica ninguna. -Z [cadena]: Pone a cero los contadores de datagramas y bytes en todas las reglas de la cadena especificada, o de todas las cadenas si no se especifica ninguna. -N cadena: Crea una nueva cadena con el nombre especificado. No puede existir antes una cadena del mismo nombre. As es cmo se crean las cadenas de usuario. -X [cadena]: Borra la cadena de usuario especificada, o todas las cadenas de usuario si no se especifica ninguna. Para que este comando tenga xito, no deben existir referencias a la cadena especificada desde cualquier otra cadena de reglas. -P cadena poltica: Establece la poltica por defecto de la cadena especificada a la poltica especificada. Las polticas vlidas de cortafuegos son ACCEPT, DROP, QUEUE, y RETURN. ACCEPT permite pasar a los datagramas. DROP causa que el datagrama sea descartado. QUEUE causa que el datagrama sea pasado al espacio de usuario para posterior procesamiento. La poltica RETURN causa que el cdigo de cortafuegos de IP vuelva a la cadena que llam a la que contena esta regla, y que contine con la regla situada tras la regla desde la que se hizo la llamada.

Parmetros de especificacin de reglas

Existe una serie de parmetros de iptables que constituyen la especificacin de una regla. Donde se requiera la especificacin de una regla, se debe proporcionar algunos de esos parmetros o se asumir sus valores por defecto. -p [!]protocolo: Especifica el protocolo del datagrama que buscar coincidencias con con esta regla. Los nombres vlidos de protocolos son tcp, udp, icmp, o un nmero, si se conoce el nmero del protocolo de IP. [2] Por ejemplo, podra utilizarse un 4 para buscar coincidencias con el protocolo de encapsulamiento ipip. Si se proporciona el signo!, entonces se niega la regla y el datagrama buscar coincidencias con con cualquier protocolo diferente del especificado. Si no se proporciona este parmetro, se asume por omisin la coincidencia con todos los protocolos. -s [!]direccin [/mscara]: Especifica la direccin de origen del datagrama que buscar coincidencias con con esta regla. Se puede proporcionar la direccin como un nombre de 'host', como un nombre de red o como una direccin de IP. El parmetro opcional mscara es la mscara de red que se utilizar y puede proporcionarse tanto en la forma tradicional (e.g., /255.255.255.0) como en la forma moderna (e.g., /24). -d [!]direccin [/mscara]: Especifica la direccin de destino del datagrama que buscar coincidencias con con esta regla. La codificacin de este parmetro es la misma que la del parmetro -s. -j blanco: Especifica qu accin se tomar cuando se coincida con esta regla. Puede pensarse en

Ing. Eduardo A. Aparicio C.

Pgina 98

este parmetro como con el significado de salta a. Los blancos vlidos son ACCEPT, DROP, QUEUE, y RETURN. Se describieron sus significados ms arriba. Sin embargo, tambin puede proporcionarse el nombre de una cadena de usuario, que sera por donde el proceso continuara. Tambin puede proporcionarse el nombre de un blanco complementado con el de una extensin. Se hablar acerca de las extensiones en breve. Si se omite este parmetro, no se realizar ninguna accin sobre los datagramas coincidentes, excepto la actualizacin de los contadores de datagramas y bytes de esta regla. -i [!]nombre_de_interfaz: Especifica la interfaz por la que se recibi el datagrama. De nuevo, el signo ! invierte el resultado de la coincidencia. Si el nombre de la interfaz acaba con un signo +entonces cualquier interfaz que comience con la cadena proporcionada buscar coincidencias con. Por ejemplo, -i ppp+ buscar coincidencias con con cualquier dispositivo de red de PPP y -i ! eth+ con todas las interfaces excepto las correspondientes a dispositivos de Ethernet. -o [!]nombre_de_interfaz: Especifica la interfaz por la que se enviar el datagrama. Este argumento tiene la misma codificacin que el argumento -i. [!] f: Especifica que esta regla se aplica al segundo y restantes fragmentos de un datagrama fragmentado, y no al primer fragmento.

Opciones

Las siguientes opciones de iptables son ms generales por naturaleza propia. Algunas de ellas controlan caractersticas bastante esotricas del software de netfilter. -v: Hace que iptables sea ms explcito en su salida. Proporcionar ms informacin. -n: Hace que iptables muestre las direcciones de IP y los nmeros de puertos en forma de nmeros sin intentar resolverlos contra sus correspondientes nombres. -x: Fuerza que los nmeros de salida de iptables parezcan con sus valores exactos sin ninguna aproximacin. - -line-number: Causa que se muestren los nmeros de lnea en los listados de los conjuntos de reglas. El nmero de lnea corresponder con la posicin de la regla dentro de la cadena.

Extensiones

Se dijo antes que la utilidad iptables es extensible a travs de mdulos de bibliotecas compartidas. Existen alguna extensiones estndares que proporciona algunas de las caractersticas que ipchains proporcionaba. Para utilizar una extensin, se debe especificar su nombre con el argumento -m nombre de iptables. La lista siguiente muestra las opciones -m y -p que establecen el contexto de la extensin, y las opciones proporcionadas por esa extensin.

Extensiones de tcp: utilizadas con -m tcp -p tcp

- -sport [!] [puerto[:puerto]]: Especifica el puerto que debe utilizar el origen del datagrama para buscar coincidencias con esta regla. Se pueden especificar los puertos en la forma de un rango, especificando los lmites inferior y superior con un signo: como delimitador. Por ejemplo, 20:25 describe todos los puertos que van desde el 20 hasta el 25 incluyendo ambos. De nuevo, el signo ! puede utilizarse para negar los valores. - -dport [!] [puerto[:puerto]]: Especifica el puerto que el datagrama de destino utilizar para buscar coincidencias con este regla. Este argumento se codifica de forma idntica a la opcin - -sport. - -tcp-flags [!] mscara comp: Especifica que esta regla debe buscar coincidencias con cuando los indicadores de TCP del datagrama coincidan con los especificados por mscara y comp. mscara es una lista separada por comas de los indicadores que deben examinarse en la comprobacin. Comp es una lista separada por comas de indicadores cuyo valores han de ser todos 1 para que la regla coincida. Los indicadores vlidos son: SYN, ACK, FIN, RST, URG, PSH, ALL o NONE. Esto constituye una opcin avanzada:

Ing. Eduardo A. Aparicio C.

Pgina 99

Consltese una buena descripcin del protocolo de TCP, como el documento RFC-793, para la explicacin del significado y la implicacin de cada uno de estos indicadores. El signo! niega la regla. [!] - -syn: Especifica que la regla buscar coincidencias con slo con los datagramas cuyo bit SYN valga 1 y cuyos bits ACK y FIN valgan ambos 0. Los datagramas con estos valores de los indicadores se utilizan para abrir las conexiones de TCP, por tanto esta opcin puede ser utilizada para gestionar las solicitudes de conexin. Esta opcin es una abreviatura de: - -tcp-flags SYN, RST, ACK SYN: Cuando se utilice el operador de negacin, la regla buscar coincidencias con con todos los datagramas cuyos bits SYN y ACK no valgan 1 simultneamente. Extensiones de UDP: utilizadas con -m udp -p udp - -sport [!] [port[:port]]: Especifica el puerto que debe utilizar el origen del datagrama para buscar coincidencias con esta regla. Se pueden especificar los puertos en la forma de un rango, especificando los lmites inferior y superior con un signo: como delimitador. Por ejemplo, 20:25 describe todos los puertos que van desde el 20 hasta el 25 incluyendo ambos. De nuevo, el signo ! puede utilizarse para negar los valores. - -dport [!] [port[:port]]: Especifica el puerto que el datagrama de destino utilizar para buscar coincidencias con esta regla. Este argumento se codifica de forma idntica a la opcin - -sport.

Extensiones de ICMP: utilizadas con -m icmp -p icmp

- -icmp-type [!] nombre_de_tipo: Especifica el tipo de mensaje de ICMP que buscar coincidencias con con esta regla. Puede especificarse el tipo tanto por su nmero como por su nombre. Algunos nombres vlidos son: echo-request, echo-reply, source-quench, time-exceeded, destination-unreachable, network-unreachable, host-unreachable, protocol-unreachable, y portunreachable.

Extensiones de MAC utilizadas con -m mac

- -mac-source [!] address: Especifica la direccin Ethernet del 'host' transmisor que coincide con esta regla. Esto slo tiene sentido en una regla de la cadena de entrada 'input' o de reenvo 'forward' porque se trasmitir cualquier datagrama que pase la cadena de salida 'output'.

Proxy transparente

La finalidad ms habitual es la del servidor proxy, que sirve para permitir el acceso a Internet a todos los equipos de una organizacin cuando slo se puede disponer de un nico equipo conectado, esto es, una nica direccin IP. Muchas organizaciones usan los proxies para reforzar las polticas de uso de la red o para proporcionar seguridad y servicios de cach. Normalmente, un proxy Web o NAT no es transparente a la aplicacin cliente: debe ser configurada para usar el proxy, manualmente. Por lo tanto, el usuario puede evadir el proxy cambiando simplemente la configuracin. Un proxy transparente consiste en un servicio mediante el cual nuestro proveedor de Internet instala una especie de almacn de memoria temporal que contiene una copia exacta de todas aquellas pginas que van visitando sus usuarios. De este modo, cuanto otro internauta adscrito al mismo proveedor desea visitar la misma pgina acceder a la copia que est almacenada en esa memoria temporal y no a la original. Dicho con otras palabras, es el mismo sistema que disponen todos los ordenadores que contienen un sistema de cach interno que puede utilizarse para visitar pginas web incluso cuando un usuario est desconectado de la Red. Con el proxy-transparente tericamente se aumenta la rapidez en proporcionar la pgina solicitada por el usuario directamente desde el proveedor sin acceder a servidores remotos que siempre sern ms lentos, pero un desajuste o incorrecta configuracin en el proxy-cach puede perjudicar al usuario con una mayor lentitud en la carga de pginas. El ms beneficiado resulta el proveedor

Ing. Eduardo A. Aparicio C.

Pgina 100

por el considerable ahorro de ancho de banda, y por tanto de costos econmicos, que ello le suponen. Para un usuario, la duda ms lgica es cmo afecta este proceso a su capacidad para acceder a la informacin ms actualizada. Normalmente en el diseo del proxy-transparente concurren varios factores, uno de los ms importante es que los administradores de este servicio fijan un perodo temporal mximo de mantenimiento de una copia en cach de la pgina utilizada. Transcurrido este plazo se vuelve a solicitar la pgina al servidor remoto donde est alojada y vuelve a formar parte de este cach temporal. Cmo afecta este servicio a los buscadores y directorios? Pues su efecto es prcticamente nulo para el caso de los motores de bsqueda ya que stos normalmente utilizan el sistema de pginas dinmicas para presentar las respuestas ofrecidas desde su base de datos interna a los internautas que realizan peticiones y consultas. En el caso de los directorios depender en gran medida de cmo estn diseadas sus pginas. Si se trata de pginas estticas elaboradas en el tradicional html es muy seguro que forme parte del sistema de proxy-transparente, en cambio, si se construyen en un diseo dinmico a partir de una base de datos no se ver afectada por este sistema.

Configuracin

En primer lugar tenemos que configurar el cortafuego para que reenve todas las peticiones que se hagan a un puerto 80 hacia el puerto 3128 que utiliza Squid. Es decir, capturamos todas las peticiones que se hagan a un servidor http y se las enviamos a Squid para que l se encargue del resto. Estas son las reglas de iptables. La primera para redirigir las peticiones al proxy la siguiente para rechazar el resto de los reenvos. Si queremos que las pginas web pasen por el proxy con squid que est en 192.168.5.254, pero el resto siga con acceso normal, pondramos: iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.5.254:3128

NAT

La Traduccin de Direcciones de Red, o NAT (Network Address Translation), es un sistema que se utiliza para asignar una red completa (o varias redes) a una sola direccin IP. NAT es necesario cuando la cantidad de direcciones IP que nos haya asignado nuestro proveedor de Internet sea inferior a la cantidad de ordenadores que queramos que accedan a Internet. NAT se describe en el RFC 1631. NAT nos permite aprovechar los bloques de direcciones reservadas que se describen en el RFC 1918. Generalmente, una red interna se suele configurar para que use uno o ms de estos bloques de red. Estos bloques son: 10.0.0.0/8 (10.0.0.0 - 10.255.255.255) 172.16.0.0/12 (172.16.0.0 - 172.31.255.255) 192.168.0.0/16 (192.168.0.0 - 192.168.255.255) Un sistema OpenBSD configurado para NAT tendr como mnimo dos adaptadoras de red, una para Internet y la otra para la red interna. NAT se encargar de traducir los requerimientos desde la red interna, de modo que parezca que todos provienen del sistema OpenBSD en el que se encuentra configurado NAT.

Como funciona NAT?

Cuando un cliente en la red interna contacta con una mquina en Internet, enva paquetes IP destinados a esa mquina. Estos paquetes contienen toda la informacin de direccionamiento necesaria para que puedan ser llevados a su destino. NAT se encarga de estas piezas de informacin: Direccin IP de origen (por ejemplo, 192.168.1.35) Puerto TCP o UDP de origen (por ejemplo, 2132)

Ing. Eduardo A. Aparicio C.

Pgina 101

Cuando los paquetes pasan a travs de la pasarela de NAT, son modificados para que parezca que se han originado y provienen de la misma pasarela de NAT. La pasarela de NAT registra los cambios que realiza en su tabla de estado, para as poder: a) invertir los cambios en los paquetes devueltos, y b) asegurarse de que los paquetes devueltos pasen a travs de cortafuegos y no sean bloqueados. Por ejemplo, podran ocurrir los siguientes cambios:

IP de origen: sustituida con la direccin externa de la pasarela (por ejemplo, 24.5.0.5). Puerto de origen: sustituido con un puerto no en uso de la pasarela, escogido aleatoriamente (por ejemplo, 53136).

Ni la mquina interna ni el anfitrin de Internet se dan cuenta de estos pasos de traduccin. Para la mquina interna, el sistema NAT es simplemente una pasarela a Internet. Para el anfitrin de Internet, los paquetes parecen venir directamente del sistema NAT; ni siquiera se da cuenta de que existe la estacin interna. Cuando el anfitrin de Internet responde a los paquetes internos de la mquina, los direcciona a la IP externa de la pasarela de NAT (24.5.0.5) y a su puerto de traduccin (53136). La pasarela de NAT busca entonces en la tabla de estado para determinar si los paquetes de respuesta concuerdan con alguna conexin establecida. Entonces encontrar una nica concordancia basada en la combinacin de la direccin IP y el puerto, y esto indica a PF que los paquetes pertenecen a una conexin iniciada por la mquina interna 192.168.1.35. Acto seguido PF realiza los cambios opuestos a los que realiz para los paquetes salientes, y reenva los paquetes de respuesta a la mquina interna. La traduccin de paquetes ICMP ocurre de forma parecida, pero sin la modificacin del puerto de origen.

Figura 1: NAT esttico: cuando el host 192.168.0.2 enva un paquete al servidor 207.28.194.84 tiene en la cabecera de sus paquetes los datos mostrados en "A", al pasar estos paquetes por el router NAT, los datos son modificados y llegan al servidor con los datos mostrados en "B". Las relaciones de direcciones de la tabla del router son puestas estticamente

Ing. Eduardo A. Aparicio C.

Pgina 102

Masquerading

IP Masquerade es una capacidad de red de Linux en desarrollo. Si un servidor Linux est conectado a Internet con IP Masquerade habilitado, los ordenadores conectados a l (bien en la misma red local, bien por mdem) tambin pueden conectarse a Internet, incluso aunque no tengan una direccin IP oficial asignada. Esto permite a un conjunto de mquinas acceder transparentemente a Internet ocultas tras la mquina pasarela, la cual aparece como el nico sistema que est usando Internet. Romper la seguridad de un sistema configurado de forma correcta con IP Masquerade es considerablemente ms difcil que romper un buen filtro de paquetes basado en cortafuegos (suponiendo que no existan fallos en ninguno).

Estado actual

IP Masquerade est todava en etapa experimental. De todas formas, los ncleos a partir del 1.3.x tienen ya soporte interno incorporado. Muchos particulares y empresas lo estn usando, con resultados satisfactorios. Se ha comprobado que los navegadores de pginas web y telnet funcionan bien sobre ip_masq. ftp, IRC y Real Audio funcionan con ciertos mdulos cargados. Otras variedades de audio por red como true speech e Internet wave tambin funcionan. Algunos usuarios de la lista de correo incluso lo intentaron con software de vdeo-conferencia. Incluso ping funciona ahora, con el nuevo parche ICMP. IP Masquerade funciona bien con 'mquinas clientes' con diferentes sistemas operativos y plataformas. Ha habido xito con sistemas usando Unix, Windows 95, Windows NT, Windows para trabajo en grupo (con el paquete tcp/ip), OS/2, Sistemas Macintosh OS con Mac tcp, Mac Open Transport, Dos con el paquete ncsa Telnet, Vax, Alpha con Linux, e incluso Amiga con Amitcp o as225-stack.

Como funciona masquerading

Representacin de la configuracin ms simple:

Aqu un servidor Linux con ip_masquerading instalado y funcionando est conectado a Internet va slip o ppp usando el modem1. Tiene asignada la direccin ip 111.222.333.444. En esta configuracin ese modem2 permite a las personas que llaman entrar e iniciar una conexin slip/ppp. El segundo sistema (el cual no tiene porqu usar Linux) llama al servidor Linux e inicia una conexin slip o ppp. No tiene asignada una direccin IP en Internet as que usa 192.168.1.100 (ver abajo). Con ip_masquerade y el rutado configurado adecuadamente la mquina otra puede interactuar con Internet como si estuviera realmente conectada (con unas pocas excepciones). No olvide mencionar que otra debera tener al servidor Linux como su pasarela (si es la ruta por defecto o slo una subred no importa). Si la otra no puede hacer esto, la mquina Linux debera hacer un proxy arp para todas las direcciones de rutado, pero la configuracin del proxy arp va ms all del alcance del documento. Le digo a la mquina otra que mi servidor Linux es su pasarela. Cuando un paquete llega a la mquina Linux desde otra, le asignar un nuevo nmero de puerto origen, y pega su propia direccin IP en la cabecera del paquete, guardando los originales. Entonces mandar el paquete modificado a Internet sobre el interfaz ppp/slip. Cuando un paquete viene desde Internet para la mquina Linux, si el nmero de puerto es uno de esos asignados arriba, obtendr el puerto original y la direccin ip, repondr la cabecera del paquete y lo enviar a otra. El servidor que enva el paquete nunca notar la diferencia. Un ejemplo de IP Masquerading

Ing. Eduardo A. Aparicio C.

Pgina 103

En este ejemplo hay 4 ordenadores que centran este documento. Tambin hay algo al otro lado de su conexin IP que le suministra la informacin de Internet y adems otros sistemas con los que est interesado en intercambiar informacin. El sistema Linux masq-gate es la pasarela enmascarada para la red interna de los ordenadores A, B y C que permite el acceso a Internet. La red interna usa una de las direcciones de red privadas, en este caso la red de clase C 192.168.1.0, donde la mquina Linux N. del T. Mejor dicho, el interfaz ethernet de la mquina Linux tiene la direccin 192.168.1.1 y los dems tienen direcciones de esa misma red. Las tres mquinas A, B y C (que pueden estar usando cualquier sistema operativo, siempre que pueda "hablar IP", como Windows 95, Macintosh MacTCP o incluso otro Linux) pueden conectarse a otras mquinas de Internet, ya que el sistema masquerade masq-gate enmascara todas sus conexiones de tal forma que parezcan originadas en masq-gate, y se encarga de que los datos que le devuelven en una conexin enmascarada sean retransmitidos al sistema original. As los sistemas de la red interna ven una ruta directa a Internet y son incapaces de darse cuenta que sus datos estn siendo enmascarados.

Protocolo SSH

El protocolo SSH (Secure Shell) se desarroll en 1995 por el finlands Tatu Ylnen. Es un protocolo que hace posible que un cliente (un usuario o incluso un equipo) abra una sesin interactiva en una mquina remota (servidor) para enviar comandos o archivos a travs de un canal seguro. Los datos que circulan entre el cliente y el servidor estn cifrados y esto garantiza su confidencialidad (nadie ms que el servidor y el cliente pueden leer la informacin que se enva a travs de la red). Como resultado, no es posible controlar la red con un rastreador. El cliente y el servidor se autentifican uno a otro para asegurarse que las dos mquinas que se comunican son, de hecho, aquellas que las partes creen que son. El hacker ya no puede adoptar la identidad del cliente o de su servidor (falsificacin). El objetivo de la versin 1 del protocolo (SSH1), propuesta en 1995, ofreca una alternativa a las sesiones interactivas (shells) tales como Telnet, rsh, rlogin y rexec. Sin embargo, este protocolo tena un punto dbil que permita a los hackers introducir datos en los flujos cifrados. Por este motivo, en 1997 se propuso la versin 2 del protocolo (SSH2) como un anteproyecto del IETF. Se puede acceder a los documentos que definen este protocolo en http://www.ietf.org/html.charters/secsh-charter.html. Secure Shell Versin 2 tambin incluye un protocolo SFTP (Secure File Transfer Protocol; en castellano, Protocolo Seguro de Transferencia de Archivos). SSH es un protocolo, es decir, un mtodo estndar que permite a los equipos establecer una conexin segura. Como tal, existe una variedad de implementaciones de clientes y servidores SSH. Algunas requieren el pago de una cuota, en tanto que otras son gratuitas o de cdigo abierto: puede encontrar algunos clientes SSH en la seccin de descargas de commentcamarche.

Ing. Eduardo A. Aparicio C.

Pgina 104

Establecer un canal seguro

El establecimiento de una capa segura de transporte comienza con la fase de negociacin entre el cliente y el servidor para ponerse de acuerdo en los mtodos de cifrado que quieren utilizar. El protocolo SSH est diseado para trabajar con un gran nmero de algoritmos de cifrado, por esto, tanto el cliente como el servidor deben intercambiar primero los algoritmos que admiten. Despus, para establecer una conexin segura, el servidor enva al cliente su clave de host. El cliente genera una clave de sesin de 256 bits que cifra con la clave pblica del servidor y luego la enva al servidor junto con el algoritmo utilizado. El servidor descifra la clave de sesin con su clave privada y enva al cliente un mensaje de confirmacin cifrado con la clave se sesin. Despus de esto, las comunicaciones restantes se cifran gracias a un algoritmo de cifrado simtrico, mediante la clave de sesin compartida entre el cliente y el servidor. La seguridad de la transaccin se basa en la confianza del cliente y el servidor en que las claves host de cada una de las partes son vlidas. As, cuando se conecta por primera vez con el servidor, el cliente muestra generalmente un mensaje en el que le pide que acepte la comunicacin (y posiblemente le presenta un hash de la clave host del servidor): Host key not found from the list of known hosts. Are you sure you want to continue connecting (yes/no)? Para obtener una sesin segura propiamente dicha, es mejor pedirle directamente al administrador del servidor que valide la clave pblica presentada. Si el usuario valida la conexin, el cliente guarda la clave host del servidor para evitar tener que repetir esta fase. Por el contrario, dependiendo de su configuracin, el servidor puede, a veces, verificar que el cliente es quien dice ser. Si el servidor tiene un lista de hosts autorizados para la conexin, cifrar el mensaje utilizando la clave pblica del cliente (que se encuentra en la base de datos de claves del host) para verificar si el cliente es capaz de descifrarla con su clave privada (esto se llama challenge.

Autenticacin

Una vez que se ha establecido la conexin segura entre el cliente y le servidor, el cliente debe conectarse al servidor para obtener un derecho de acceso. Existen diversos mtodos: El mtodo ms conocido es la contrasea tradicional. El cliente enva un nombre de acceso y una contrasea al servidor a travs de la conexin segura y el servidor verifica que el usuario en cuestin tiene acceso al equipo y que la contrasea suministrada es vlida. Un mtodo menos conocido, pero ms flexible, es el uso de claves pblicas. Si el cliente elige la clave de autentificacin, el servidor crear un challenge y le dar acceso al cliente si ste es capaz de descifrar el challenge con su clave privada.

Programas que vienen con la distribucin

Sshd: Es el servidor propiamente dicho, escucha a la espera de conexiones Ssh: Es el cliente, con l nos podemos conectar a un servidor sshd as como ejecutar comandos. Scp: Copia archivos con seguridad entre hosts. (Sustituto ideal de rcp) ssh-keygen: Usado para crear RSA keys (host keys y user authentication keys). ssh-agent: Agente de autentificacin. (Usado para manejar RSA keys en la autentificacin.) ssh-add: Se usa para aadir nuevas llaves con el agente. make-ssh-known-hosts: Usado para crear el archivo /etc/ssh_known_hosts .

Instalacin y configuracin

En la mayora de sistemas Unix, una vez descomprimido el paquete y dentro del directorio ssh1.2.X deberemos teclear : /configure make make install Despus podemos revisar editar los archivos /etc/sshd_config (Configuracin del servidor sshd)

Ing. Eduardo A. Aparicio C.

Pgina 105

/etc/ssh_config (Configuracin del cliente ssh) Es muy importante preparar el sistema para que cada vez que lo reiniciemos, nos active el sshd, para ello basta con editar el /etc/rc.local o similar donde acostumbremos a poner nuestros ficheros de arranque y aadir la entrada /ruta/sshd. Una vez hecho esto y reiniciado el equipo, estar preparado y dispuesto para ofrecer sesiones seguras a aquellos que utilicen ssh y por supuesto estn dados de alta en el sistema. El cdigo fuente est escrito en ANSI C y requiere para ser compilado ANSI C o GCC.

Implementacin

Cuando nos enfrentamos a la implementacin de un firewall, tenemos a nuestra disposicin varias implementaciones, diferentes en cuanto a efectividad y precio: Listas de control de acceso en el router. Este es el tipo ms bsico de firewall, y la ventaja que tiene es que viene implementado en la prctica totalidad de los routers. Tambin es conocido como filtros de paquete. Normalmente, se reducen a la posibilidad de eliminar las conexiones a travs de determinados puertos y a determinadas IP. Pueden darnos una proteccin bsica para eliminar una buena cantidad de ataques. Firewall integrado en el router. En el caso de routers de gama ms alta, se incorpora en muchas ocasiones un completo firewall stateful. En algunos casos, como la gama bsica de Cisco (serie 82x para ADSL, por ejemplo) es una actualizacin de pago que se le puede aadir a posteriori. Depende de la implementacin, poseen caractersticas de los firewall ms potentes. Suelen estar limitados para manejar muchas conexiones. Firewall hardware. Es un equipo cerrado corriendo un sistema operativo propio. Suelen ser bastante efectivos, especialmente en los de marcas reconocidas, como es el caso de CheckPoint y Firewall-1 o Cisco con PIX. El precio empieza a subir en cuanto queremos obtener muchas conexiones. Firewall software corriendo en un pc. Se trata de un software especfico o incorporado al sistema en un ordenador dedicado. El caso ms conocido es el uso de iptables de Linux. Tambin hay productos completos basados en linux y BSD, e incluso distribuciones "live", es decir, con arranque desde CD y sin necesidad de disco duro. Otra opcin son los productos comerciales, como es el caso de ISA Server de Microsoft.

Servicios

Para reducir el riesgo de accesos no autorizados al servidor lo habitual es definir reglas de seguridad para: Permitir en el firewall los servicios pblicos para su acceso libre desde Internet (web, correo, etc.) Restringir el acceso a los protocolos de gestin y administracin del servidor a las direcciones IP correspondientes Bloquear el resto de conexiones

Firewall compartido bsico

Para garantizar un nivel de seguridad adecuado y bloquear los accesos desde direcciones no autorizadas en todos los servidores dedicados y servicios de colocacin se incluye firewall compartido bsico, con las siguientes caractersticas: 5 reglas de seguridad en sentido entrante para hacer visibles servicios pblicos a Internet y restringir el acceso a los protocolos de gestin a ciertas redes de confianza. Ancho de banda de 1 Mb/s. Este ancho de banda cubre las necesidades de la mayor parte de los clientes de alojamiento dedicado, pudindose en esta modalidad de servicio superarse de forma puntual sin coste adicional, ya que se aplica el mtodo percentil 95.

Ing. Eduardo A. Aparicio C.

Pgina 106

La administracin y gestin del firewall corre por cuenta de acens con lo que el cliente slo se tiene que ocupar de comunicar las reglas que desee aadir o modificar a acens, cuyas modificaciones sern realizadas en horario 724. Una de las principales ventajas del servicio firewall proporcionado por acens radica en que est implementado sobre una plataforma compartida redundante, lo que permite disponer del servicio firewall en unas condiciones econmicas muy ventajosas. La proteccin proporcionada por el firewall compartido bsico incluye la deteccin y en algunos casos el bloqueo de diversos tipos de ataques: Intentos de localizacin e inspeccin de servidores y servicios abiertos: Barridos de puertos TCP Barridos mediante ICMP Ataques de denegacin de servicio (Denial Of Service DOS) por envo masivo de peticiones: SYN Flooding ICMP Flooding UDP Flooding Ataques de denegacin de servicio (Denial Of Service DOS) por vulnerabilidades del sistema operativo: Ping de la muerte Ataque Tear Drop Ataque WinNuke Ataque Land Envo de paquetes IP incorrectos o malformados: Paquetes con opcin Source Route o Spoofing de IP o Paquetes IP con opciones/flags incorrectas o Paquetes IP con opciones/flags inseguras Nmero de conexiones excesivas desde un origen: Lmite de sesiones TCP, UDP e ICMP Ataques a vulnerabilidades de servicios: URLs maliciosas Ataques de buffer-overflow Vulnerabilidades particulares de los diferentes servicios Si se desea establecer un control de acceso personalizado que requiera ms reglas de seguridad, ms ancho de banda, posibilidad de informes y/o notificaciones, o la contratacin de servicios adicionales como accesos VPN IPSec a los servidores se recomienda la contratacin del servicio adicional de firewall compartido personalizado.

Firewall compartido personalizado

El firewall compartido personalizado supone un incremento de las funcionalidades ofrecidas en el firewall compartido bsico, y tiene las siguientes caractersticas: 30 reglas de seguridad para hacer visibles servicios pblicos a Internet y restringir el acceso a los protocolos de gestin a ciertas redes de confianza. Las reglas de seguridad se pueden definir tanto para las conexiones en sentido entrante como para las conexiones en sentido saliente de los servidores protegidos. Ancho de banda de 1 Mb/s. Este ancho de banda cubre las necesidades de la mayor parte de los clientes de alojamiento, pudindose en esta modalidad de servicio superarse de forma puntual sin coste adicional, ya que se aplica el mtodo percentil 95. Posibilidad de obtener informes bajo peticin, con las estadsticas de los accesos denegados. Posibilidad de contratacin de servicios de acceso remoto a servidores mediante IPSec Adicionalmente, si se tiene contratado el servicio de monitorizacin platino se pueden realizar notificaciones en caso de alarma, segn definicin del cliente. Para aquellos usuarios que requieran de un ancho de banda superior o de un mayor nmero de reglas, acens pone a su disposicin las siguientes ampliaciones: Ampliacin de ancho de banda en mltiplos de 1 Mbps (n x 1 Mbps) Ampliacin del nmero de reglas en mltiplos de 30 (n x 30 reglas)

Ing. Eduardo A. Aparicio C.

Pgina 107

Consulte con acens sobre otras posibles opciones y ampliaciones.

Firewall dedicado

Mediante el servicio de firewall dedicado se proporciona un equipamiento hardware dedicado exclusivamente al cliente en rgimen de alquiler. Esto permite una configuracin personalizada y aprovechar ventajas o funcionalidades extra prestadas por los diferentes dispositivos firewall existentes en el mercado. acens se encarga de la instalacin y configuracin inicial, ofreciendo dos posibilidades para la gestin posterior de las reglas de seguridad: Gestin por parte de acens: Los cambios se solicitan al centro de operaciones de acens y son implementados a la mayor brevedad posible. En esta modalidad se puede proporcionar, si el equipamiento lo permite, un usuario de slo lectura para que el cliente pueda obtener informacin Gestin por parte del cliente: Las caractersticas del servicio en lo relativo a rendimiento y prestaciones varan en funcin del equipamiento contratado. Consulte con acens para estudiar la opcin ms conveniente en su caso.

Herramientas IDS

Un sistema de deteccin de intrusos (o IDS de sus siglas en ingls Intrusin Deteccin System) es un programa usado para detectar accesos desautorizados a un computador o a una red. Estos accesos pueden ser ataques de habilidosos hackers, o de Script Kiddies que usan herramientas automticas. El IDS suele tener sensores virtuales (por ejemplo, un sniffer de red) con los que el ncleo del IDS puede obtener datos externos (generalmente sobre el trfico de red). El IDS detecta, gracias a dichos sensores, anomalas que pueden ser indicio de la presencia de ataques o falsas alarmas.

Funcionamiento

El funcionamiento de estas herramientas se basa en el anlisis pormenorizado del trfico de red, el cual al entrar al analizador es comparado con firmas de ataques conocidos, o comportamientos sospechosos, como puede ser el escaneo de puertos, paquetes malformados, etc. El IDS no slo analiza qu tipo de trfico es, sino que tambin revisa el contenido y su comportamiento. Normalmente esta herramienta se integra con un firewall. El detector de intrusos es incapaz de detener los ataques por s solo, excepto los que trabajan conjuntamente en un dispositivo de puerta de enlace con funcionalidad de firewall, convirtindose en una herramienta muy poderosa ya que se une la inteligencia del IDS y el poder de bloqueo del firewall, al ser el punto donde forzosamente deben pasar los paquetes y pueden ser bloqueados antes de penetrar en la red. Los IDS suelen disponer de una base de datos de firmas de ataques conocidos. Dichas firmas permiten al IDS distinguir entre el uso normal del PC y el uso fraudulento, y/o entre el trfico normal de la red y el trfico que puede ser resultado de un ataque o intento del mismo.

Implementacin

Para poner en funcionamiento un sistema de deteccin de intrusos se debe tener en cuenta que es posible optar por una solucin hardware, software o incluso una combinacin de estos dos. La posibilidad de introducir un elemento hardware es debido al alto requerimiento de procesador en redes con mucho trfico. A su vez los registros de firmas y las bases de datos con los posibles ataques necesitan gran cantidad de memoria, aspecto a tener en cuenta. En redes es necesario considerar el lugar de colocacin del IDS. Si la red est segmentada con hub (capa 1 del modelo OSI) no hay problema en analizar todo el trfico de la red realizando una conexin a cualquier puerto. En cambio, si se utiliza un switch (capa 2 del modelo OSI), es necesario conectar el IDS a un puerto SPAN (Switch Port Analiser) para poder analizar todo el

Ing. Eduardo A. Aparicio C.

Pgina 108

trfico de esta red.

Estructura de un Sistema de Deteccin de Intrusos

Dado que los IDS han sido estudiados desde hace bastantes aos existe gran diversidad de formatos y arquitecturas. Es por tanto que desde hace algn tiempo se esta realizado un esfuerzo por unificar, en la medida de lo posible, la arquitectura y los formatos de los IDS. Un sistema IDS consiste en una serie de componentes discretos que se comunican mediante el paso de mensajes. A grandes rasgos se pueden identificar cuatro componentes bsicos: - Generador de eventos (E-boxes) - Motor de anlisis (A-boxes) - Unidades de almacenaje (D-boxes) - Unidades de respuesta (R-boxes) Los componentes son unidades lgicas que pueden producir y/o consumir los mensajes u eventos generados por los otros componentes. Estos pueden ser implementados de cualquier forma, bien como un solo proceso (o un solo thread) en una maquina, cluster, mainframe, etc, o bien como un conjunto de procesos distribuidos a travs de varias maquinas o procesadores (Snortnet o DIDRA).

Generadores de Eventos (E-boxes)

Los generadores de eventos, sensores o sondas, como suelen llamarse algunas veces, tienen como objetivo la obtencin de datos del exterior del sistema de deteccin de intrusos. Son los ojos del IDS. Las entradas de los generadores de eventos sern los datos en bruto del entorno exterior al IDS. A su salida presentar a esos datos procesados en forma de eventos comprensibles por el resto de los componentes. Los generadores pueden ser diversos, dependiendo del tipo de datos que recogen, aunque su funcionamiento a nivel conceptual suele ser muy similar. Reciben los datos de entrada, los preprocesan para pasarlos a un formato comn al resto de los componentes y proporcionan los eventos al resto de componentes prcticamente en tiempo real.

Motor de Anlisis (A-boxes)

El motor de anlisis es el ncleo de los IDS. Es el motor de inferencia que, gracias a unos conocimientos, ser capaz de discernir la relevancia de los eventos recibidos de las E-boxes y generar nuevos eventos como salidas. Estos motores de anlisis pueden ser de muchos tipos, sistemas estadsticos de profiling, reconocedores de patrones, sistemas de correlacin de eventos, etc. Los motores de anlisis han sido el componente que ha estado sujeto a mayor desarrollo puesto que sobre el recae la responsabilidad de analizar el flujo de eventos y de extraer informacin relevante. Es por tanto uno de los componentes ms crticos y ms complejos de un sistema de deteccin de intrusos.

Unidades de Almacenaje (D-boxes)

Este componente es el encargado de almacenar fsicamente las inferencias del motor de anlisis. Contendr todos los eventos generados por las A-boxes y normalmente se organizan en forma de bases de datos. Es por tanto un componente esencial a la hora de aplicar tcnicas de datamining y correlacin de datos como fuentes de informacin forense.

Unidades de Respuesta (R-boxes)

Las unidades de respuesta son los componentes encargados de realizar acciones en nombre de otros componentes del sistema. Este componente suele emplearse para desplegar unidades que ejecuten contramedidas ante una intrusin. Es decir, permiten al sistema reaccionar de forma activa ante las acciones procesadas por otros componentes.

Ing. Eduardo A. Aparicio C.

Pgina 109

Estas acciones pueden ser muy variadas, aunque en la gran mayora de los casos estn orientadas a prevenir ataques de fuentes maliciosas previamente detectadas o a cortar un ataque en curso. Cuando el sistema cumple lo anterior se dice que adems de ser un sistema de deteccin de intrusos (lo cual implica pasividad), se le concede la denominacin de sistema de prevencin de intrusos o IPS 4. En general, un IPS suele autocontener la nocin de IDS, no obstante algunos puristas prefieren denominar a dichos sistemas como I(D\P)S.

Clasificacin de los ids Tipos de sistema de deteccin de intrusos


Como hemos visto, un IDS contiene cuatro componentes bsicos. Como en toda tecnologa, existen distintos tipos de IDS. Existen distintas clasificaciones atendiendo a las caractersticas discriminatorias seleccionadas.

Tipos de IDS en funcin del enfoque

Si atendemos al enfoque del IDS podemos diferenciar dos grandes tipos: anomaly detection y misuse detection.

Anomaly Detection: Deteccion de anomalias Este tipo de enfoque fue propuesto por Dorothy Denning en su articulo: An intrusion detection model. En dicho artculo se propona la creacin de perfiles de uso de los sistemas durante un determinado periodo de tiempo. De esta forma se podan detectar desviaciones del perfil recopilado que posteriormente eran analizadas en busca del por que de la anomala. Misuse Detection: Deteccin de usos incorrectos Este ha sido el enfoque ms tradicional y sigue siendo el ms extendido hoy en DIA. Estos sistemas tienen conocimientos especficos sobre determinados ataques y se basan en ellos para analizar los datos de entrada del sistema. Si alguno de los datos coincide con alguno de los patrones conocidos se emitir una alerta.

Tipos de IDS en funcin del origen de los datos

HIDS: Host-based Intrusion Detection Systems Los HIDS estn diseados para monitorizar, detectar y responder a los datos generados por un usuario o un sistema en un determinado host. Los primeros IDS que surgieron [1],[2] eran de este tipo y sentaron las bases de los IDS comerciales. Este tipo de IDS resultan tiles a la hora de identificar amenazas e intrusiones a nivel del host local, es decir, solo maneja informacin del host donde reside. Sin embargo, cuando un sistema comprende cientos de hosts, los HIDS,

Ing. Eduardo A. Aparicio C.

Pgina 110

por si solos, no son viables para realizar una monitorizacin adecuada.

NIDS: Network Intrusin Deteccin Sistemas Los NIDS son muy parecidos a los HIDS en tanto en cuanto monitorizan, detectan y responden ante los datos generados, pero en vez de proteger un determinado host, reciben los datos de la red local donde estn instalados. Tienen la ventaja de ser, normalmente, pasivos, de tal forma que no interfieren con el correcto uso de la red. Adicionalmente permiten la deteccin de ataques a un mayor nivel de abstraccin, puesto que ahora no solo tienen informacin de un solo host, sino de multiples. No obstante, los NIDS solo perciben informacin que pasa por la red, siendo intil ante los ataques locales de los usuarios de un determinado host. Hybrid-IDS Los sistemas hbridos renen lo mejor de ambos tipos. Normalmente lo constituyen sensores en cada host que permiten una deteccin local de los sistemas y un sensor en cada segmento de red a vigilar. De esta forma cubrimos las necesidades del HIDS con las del NIDS.

Tipos de IDS en funcin de su estructura


Distribuidos (DIDS5) Los IDS distribuidos son aquellos sistemas en donde se implantan varios IDS que se comunican entre si o con un servidor central que permite centralizar y correlacionar todos los datos generados por ellos. El tener varios agentes distintos por toda la red permite ampliar la informacin de la que se dispone para la deteccin de un incidente en el sistema. Centralizados Son aquellos IDS que emplean sensores que transmiten informacin a un sistema central desde donde se controla todo. De esta forma se permite ahorrar en costoso equipamientos pero manteniendo un amplio abanico de sensores desde donde recoger informacin.

Tipos de IDS en funcin de su comportamiento


Pasivos Los IDS pasivos son aquellos que solo se dedican a procesar la informacin en busca de intrusos. Una vez que se ha detectado una intrusin, se emite una alerta y se deja que el operador humano realice o no una accin en consecuencia. Si nos remitimos a la estructura bsica de un IDS diramos que el sistema carecera de las unidades de respuesta (R-boxes). 5Distributed Intrusin Deteccin Sistemas Activos (IPS6) Por el contrario, existen IDS que si realizan acciones en base a los datos analizados. Muchos de ellos tienen unidades de respuesta que modifican las ACLs7 del firewall corporativo para por ejemplo, bloquear ataques en curso, evitar el acceso a una IP de un intruso, etc. Estos sistemas reciben por tanto el nombre de Intrusin Prevention Systems o IPS. Aunque la idea parece muy sofisticada y til hay que tener presente que dichos motores de respuesta tienen un funcionamiento muy simplista y en absoluto inteligente. Es por ello peligroso emplear dichos sistemas, puesto que pueden bloquear o restringir el acceso a recursos del sistema informtico debido a falsos positivos o a anlisis errneos de los datos de entrada.

Tripwire implementacin

El software de aseguramiento de integridad de los datos Tripwire, monitorea la consistencia de archivos y directorios de sistema crticos identificando todos los cambios hechos a ellos. Esto lo hace mediante un mtodo automatizado de verificacin que se ejecuta a intervalos regulares. Si Tripwire detecta que uno de los archivos monitoreados ha sido cambiado, lo notifica al

Ing. Eduardo A. Aparicio C.

Pgina 111

administrador del sistema va email. Debido a que Tripwire puede fcilmente identificar los archivos que son modificados, agregados o eliminados, se agiliza el proceso de recuperacin luego de una entrada forzada pues mantiene el nmero de archivos que deben ser restaurados a un mnimo. Estas habilidades hacen de Tripwire una herramienta excelente para los administradores de sistemas que requieren tanto de facilidades para deteccin de intrusos como de control de daos para sus servidores. Tripwire compara los archivos y directorios con una base de datos de la ubicacin de archivos, las fechas en que han sido modificados y otros datos. Tripwire genera la base tomando una instantnea. Esta base de datos contiene fundamentos los cuales son instantneas de archivos y directorios especficos en momentos particulares. Los contenidos de la base de datos de fundamentos deberan ser generados antes de que el sistema est en riesgo, esto es antes de que se conecte a la red. Despus de crear la base de datos de fundamentos, Tripwire compara la base de datos actual con la base de datos de fundamentos e informa de cualquier modificacin, adicin o eliminacin. Aunque es una herramienta muy valiosa para revisar el estado de seguridad de su sistema Red Hat Linux, Tripwire no est soportada por Red Hat, Inc.

Como utilizar tripwire

1. Instale Tripwire y personalice el archivo de polticas. Instale el paquete RPM Tripwire. Luego, personalice los archivos de configuracin de ejemplo y de polticas (/etc/tripwire/twcfg.txt y /etc/tripwire/twpol.txt respectivamente), y ejecute el script de configuracin, /etc/tripwire/twinstall.sh. 2. Inicialice la base de datos Tripwire. Construya una base de datos de archivos de sistema crticos para monitorear basado en los contenidos de la nueva poltica de configuracin Tripwire, /etc/tripwire/tw.pol. 3. Ejecute una verificacin de integridad Tripwire. Compare la nueva base de datos Tripwire con los archivos de sistema actuales, buscando por archivos faltantes o alterados. 4. Examine el archivo de informe Tripwire. Vea el informe de Tripwire usando /usr/sbin/twprint para observar las violaciones de archivos. 5. Si ocurren violaciones de integridad, tome las medidas de seguridad apropiadas. Si archivos monitoreados han sido alterados de forma inadecuada, puede bien sea reemplazar los archivos originales a partir de las copias de respaldo, reinstalar el programa o reinstalar completamente el sistema operativo. 6. Si las alteraciones de archivos son vlidas, verifique y actualice el archivo de la base de datos Tripwire. Si los cambios hechos a los archivos monitoreados son intencionales, modifique el archivo de la base de datos Tripwire para ignorar aquellos cambios en los informes siguientes. 7. Si el archivo de polticas falla en la verificacin, actualcelo. Para cambiar la lista de archivos que Tripwire monitorea o como maneja las violaciones de integridad, actualice el archivo de polticas provisto (/etc/tripwire/twpol.txt), regenere una copia firmada (/etc/tripwire/tw.pol), y actualice la base de datos Tripwire.

Actualizacin de la Base de Datos tripwire

Si ejecuta un control de integridad y Tripwire encuentra violaciones, primero habr que determinar si las violaciones detectadas son realmente brechas en la seguridad o el producto de modificaciones autorizadas. Si ha instalado recientemente una aplicacin o ha modificado archivos

Ing. Eduardo A. Aparicio C.

Pgina 112

de sistema esenciales, Tripwire le informar (debidamente) de violaciones a las integridades este caso debera actualizar su base de datos Tripwire para que esos cambios no vuelvan a aparecer en los informes como violaciones. Sin embargo, si se efectan cambios no autorizados a archivos de sistema, generando violaciones al control de integridad, entonces debera restablecer el archivo original desde la copia de respaldo, reinstalar el programa o, si la violacin es lo bastante severa, reinstalar completamente el sistema operativo. Para actualizar su base de datos de Tripwire de modo que acepte las violaciones encontradas en un informe, debe especificar el informe que desea usar para actualizar su base de datos. Tripwire primero cruza referencias entre un archivo de informe y la base de datos y luego le incorpora las violaciones vlidas desde el informe. Cuando actualice la base de datos, asegrese de estar usando el informe ms reciente. Use el comando siguiente para actualizar la base de datos Tripwire, donde name es el nombre del archivo de informe ms reciente: /usr/sbin/tripwire --update --twrfile /var/lib/tripwire/report/<name>.twr Tripwire le mostrar el informe especfico por medio del editor de textos predeterminado (especificado en el archivo de configuracin Tripwire en la lnea EDITOR. Esto le da la oportunidad de quitar la seleccin de archivos que no desea actualizar en la base de datos Tripwire. Todas las actualizaciones propuestas a la base de datos Tripwire comienzan con una [x] antes del nombre del archivo, similar al ejemplo siguiente: Added: [x] "/usr/sbin/longrun" Modified: [x] "/usr/sbin" [x] "/usr/sbin/cpqarrayd" Si desea excluir especficamente que una violacin vlida sea aadida a la base de datos de Tripwire, quite la x de la casilla. Para editar archivos en el editor de texto por defecto, vi, escriba i y presione [Intro] para entrar en el modo de insercin y hacer los cambios necesarios. Cuando termine, presione la tecla [Esc], escriba: wq, y presione [Intro]. Despus de cerrar el editor, ingrese su contrasea local y la base de datos se reconstruir y firmar. Despus de que se ha escrito la nueva base de datos Tripwire, las nuevas violaciones de integridad no volvern a aparecer como advertencias.

Actualizacin del archivo de Polticas tripwire


Si desea modificar los registros de los archivos de la base de datos Tripwire, cambiar la configuracin del email, o modificar la severidad con la que ciertas violaciones son reportadas, necesita modificar su archivo de polticas de Tripwire. Primero, haga los cambios necesarios al archivo de polticas de muestra /etc/tripwire/twpol.txt. Si borr este archivo (como debera cuando haya terminado de configurar Tripwire), puede regenerarlo emitiendo el comando siguiente: twadmin --print-polfile > /etc/tripwire/twpol.txt Un cambio comn a este archivo de poltica es convertir en comentario cualquier archivo que no existe en su sistema para que no genere un mensaje de error de file not found en los informes Tripwire. Por ejemplo, si su sistema no tiene un archivo /etc/smb.conf, le puede indicar a Tripwire que no intente buscarlo a travs de la conversin de su lnea en comentario en twpol.txt con el carcter numeral # como se muestra en el ejemplo: # /etc/smb.conf -> $(sec_config);

Ing. Eduardo A. Aparicio C.

Pgina 113

Luego, debe generar un nuevo archivo firmado /etc/tripwire/tw.pol y generar y actualizar el archivo de base de datos basado en esta informacin de polticas. Asumiendo que /etc/tripwire/twpol.txt es el archivo de polticas modificado, use este comando: /usr/sbin/twadmin --create-polfile -S site.key /etc/tripwire/twpol.txt Se le pedir por una contrasea de sitio. Luego, el archivo twpol.txt estar encriptado y firmado. Es importante actualizar la base de datos de Tripwire despus de haber creado un archivo /etc/tripwire/tw.pol. La forma ms confiable para llevarlo a cabo es borrando su base de datos Tripwire actual y creando una base de datos nueva con el archivo de poltica nuevo. Si su archivo de base de datos Tripwire es llamado bob.domain.com.twd, escriba este comando: rm /var/lib/tripwire/bob.domain.com.twd Luego escriba el siguiente comando para crear una nueva base de datos usando el archivo de polticas actualizado: /usr/sbin/tripwire --init

Conectividad Linux Windows (Smb client) Comando SmbClient


El comando smbclient permite acceder a recursos compartidos por un servidor SMB con una interfaz similar a la de los clientes FTP, estableciendo una conexin con dicho servidor. Una vez establecida la conexin SMB, se pueden trasladar, borrar e imprimir ficheros, entre otras funcionalidades. Mediante el empleo de smbclient tambin es posible hacer consultas de lo compartido a travs del protocolo por un servidor determinado, adems de poder utilizarse para enviar mensajes mediante el protocolo WinPopup. Sintaxis: smbclient [servicio] [password] [opciones] Donde: Servicio: se indica cuando se quiere establecer una conexin SMB con un determinado recurso compartido. Toma la forma //servidor/recurso. Donde servidor es el nombre NetBios del servidor y recurso es el nombre de lo compartido por dicho servidor. Para resolver el nombre del servidor se pueden emplear varios mtodos en un determinado orden. Dichos mtodos son mencionados ms adelante. Para identificar al servidor tambin puede emplearse el nmero IP. Ejemplos: //estudiante8/temp //192.168.168.72/printer password: es la contrasea que se utiliza para conectarse al recurso compartido. No existe una contrasea por defecto por lo que de no especificarse, el cliente siempre la solicitar aunque el recurso a acceder no la requiera. En este caso se presionar ENTER para indicar un password vaco. Con la opcin -N, descrita ms adelante, se puede evitar la pregunta. Opciones: son las opciones que describen como se accede al recurso o que indican otra accin a realizar.

Algunas opciones:

-U <usuario>: permite especificar el usuario con el que se quiere establecer la conexin. En su

defecto se utiliza el valor de la variable del entorno USER, y si esta no tiene valor se emplea el usuario GUEST. Solo es importante su utilizacin cuando se accede a recursos restringidos por usuario, por ejemplo para los servidores Windows NT. -L <host>: permite consultar a un host servidor del protocolo acerca de todos los recursos que comparte. Adems muestra los dominios o grupos de trabajo accesibles para este, as l PDC5.1

Ing. Eduardo A. Aparicio C.

Pgina 114

de cada uno de los dominios. Para referirse al host se puede emplear su nombre Netbios o nmero IP. En este caso no se especifica ningn servicio. -N: evita que se pregunte el password al establecer la conexin. -I: permite especificar la direccin IP del servidor. Es til cuando el mecanismo de resolucin de nombres no devuelve la direccin deseada. -M <host>: permite enviar mensajes a travs del protocolo WinPopup a un <host> que tenga activado el servicio. El contenido del mensaje se toma de la entrada estndar durante la ejecucin del comando. -R <orden de resolucin de nombres>: especifica que mecanismos se utilizarn para resolver los nombres y en que orden se aplicarn. Los posibles mecanismos son:

lmhosts: se resuelve el nombre mediante el fichero lmhosts de Samba instalado mediante el


paquete samba-common en el directorio /etc/samba. Su formato es similar al de Windows. de hosts (/etc/hosts), NIS y DNS.

host: se resuelve el nombre mediante los mecanismos tradicionales de Unix y Linux: fichero wins: se resuelve el nombre mediante un servidor WINS. Este se especifica mediante el
fichero de configuracin de Samba, /etc/samba/smb.conf descrito ms adelante.

bcast: se resuelve el nombre mediante un paquete broadcast a todas las mquinas en la


misma subred de todas las interfaces de red disponibles y configuradas en smb.conf. El orden en que se emplean estos mecanismos por defecto es lmhosts host wins bcast. Este se puede variar mediante la opcin o la configuracin en smb.conf Una vez establecida la conexin SMB se muestra un prompt en el cual se pueden ejecutar, entre otros, los siguientes comandos:

help [comando]: muestra los posibles comandos a ejecutar o la utilizacin de un comando si se ls [patrn] y dir [patrn]: listan los ficheros del directorio actual en el servidor que satisfagan el get <fichero_remoto> [fichero_local]: transfiere un fichero desde el servidor al cliente salvndolo mget <patrn>: transfiere desde el servidor al cliente todos los ficheros que satisfagan el patrn put <fichero_local> [fichero_remoto]: transfiere un fichero desde el cliente al servidor salvndolo mput <patrn>: transfiere desde el cliente al servidor todos los ficheros que satisfagan el patrn recurse: activa y desactiva la transferencia recursiva de directorios para los comandos mget y prompt: activa y desactiva el modo interactivo al hacer las transferencias mltiples con mget y
mput. rm, rd y rmdir: permiten borrar ficheros y directorios en el servidor. ! <comando>: ejecuta un comando en un shell en el cliente. print <fichero>: imprime un fichero si se est conectado a una impresora. queue: si se est conectado a una impresora, imprime la cola de impresin de esta. exit y quit: cierran la conexin con el servidor. mput. Tambin determina que la salida de los comandos ls y dir sea recursiva o no. especificado. opcionalmente con el nombre especificado en el segundo argumento. especificado. opcionalmente con el nombre especificado en el segundo argumento. patrn especificado como argumento. Por defecto se asume el patrn ``*''. especifica. Tambin puede usarse?

Ejemplos $ smbclient //estudiante7/C$ -U administrator added interface ip=192.168.168.89 bcast=192.168.168.255 nmask=255.255.255.0 Got a positive name query response from 192.168.168.42 (192.168.168.42) Password: Domain = [DOMAIN7] OS= [Windows NT 4.0] Server= [NT LAN Manager 4.0] smb: \>

Ing. Eduardo A. Aparicio C.

Pgina 115

$ smbclient -L pepe -R bcast -N added interface ip=192.168.168.89 bcast=192.168.168.255 nmask=255.255.255.0 Got a positive name query response from 192.168.168.42 (192.168.168.42) Password: Domain = [DOMAIN7] OS= [Windows NT 4.0] Server= [NT LAN Manager 4.0] Sharename Type Comment -------------- ----------------Netlogon Disk Logon server share Admin$ Disk Remote Admin Ipc$ IPC Remote IPC C$ Disk Default share D$ Disk Default share Printer Printer Epson FX-1050 Server --------Estudiante7 Workgroup -------------Agencia Contabilidad Dirgeneral Disaic Domain7 Comment ------------Master --------Marlen Yurka Carlitos Isoemy Estudiante7

$ smbclient //odin/Printer -I 192.168.168.4 $ smbclient -M deltha added interface ip=192.168.168.89 bcast=192.168.168.255 nmask=255.255.255.0 Got a positive name query response from 192.168.168.4 (192.168.168.4) Connected. Type your message, ending it with a Control-D Hola. Probando el WinPopup Ctrl-d sent 13 bytes $ cat message | smbclient -M odin # toma el contenido del fichero message y lo enva a odin.

En este sentido, queremos conectar con smb: // windowsuser: windowspassword @ windowsserver / share (WINDOWSGANG para grupos de trabajo), por lo que tenemos:

Linux como un Cliente Smb de Windows Acciones


Windows Server: windowsserver Windows Server: "windowsserver" Windows Share: share Compartir Windows: "compartir" Windows Username: windowsuser Nombre de usuario de Windows: "windowsuser" Windows Password: windowspassword Contrasea de Windows: "windowspassword" Windows Workgroup: WINDOWSGANG Grupos de trabajo de Windows: "WINDOWSGANG" Linux User: linuxboy Usuarios de Linux: "linuxboy" Linux Group (for user linuxboy): linuxboy Grupo de Linux (para el usuario linuxboy): "linuxboy" Mount Point (an empty directory): mymountpoint Punto de montaje (un directorio vaco): "mymountpoint"

Edit $HOME/sambapass (here: /home/linuxboy/sambapass) Editar $ HOME / sambapass (en: / home / linuxboy / sambapass)

Ing. Eduardo A. Aparicio C.

Pgina 116

# $HOME/sambapass username = windowsuser password = windowspassword domain = WINDOWSGANG # $ HOME / nombre de usuario sambapass contrasea windowsuser = = = windowspassword dominio WINDOWSGANG Create an empty directory (a mount point):Crear un directorio vaco (un punto de montaje): $ mkdir $HOME/mymountpoint/ $ Mkdir $ HOME / mymountpoint / As root, edit /etc/fstab, add this line in the end: Como root, editar / etc / fstab debe aadir esta lnea al final: //windowsserver/share /home/tee/mymountpoint smbfs credentials=/home/tee/sambapass,uid=linuxboy,gid=linuxboy,dmask=700,fmask=700 0 0 // Windowsserver / share / home / tee / mymountpoint smbfs credenciales = / home / tee / sambapass, uid = linuxboy, gid = linuxboy, dmask = 700, fmask = 700 0 0 Put the above in a single line, Ive splitted it only for readability.Ponga encima de la de una sola lnea, he separados slo para facilitar la lectura. In options (credentials...fmask=700) there are no spaces. En opciones (credentials. .. fmask = 700) no hay espacios. Numbers are zeros. Los nmeros son ceros a la izquierda. Then, as root, mount all mounts mentioned in fstab: Entonces, como root, montar todos los montajes mencionados en el fstab: # mount -a # Mount-a Mount often warns you a couple of times about session request to windowsserver failed (Called name not present), but with ls you can see that the directory was mounted. Monte menudo le advierte un par de veces acerca de la "peticin de reunin no windowsserver (Llamado nombre no estaba presente)", pero con ls puede ver que el directorio se mont. Test is as normal user (here: linuxboy) Prueba es como usuario normal (aqu: linuxboy) $ touch $HOME/mymountpoint/tero.txt $ ls $HOME/mymountpoint/ tero.txt $ Touch $ HOME / mymountpoint / tero.txt $ ls $ HOME / mymountpoint / tero.txt Well done, you have mounted a windows share to Linux using just command line. Bien hecho, usted ha montado una cuota de las ventanas a Linux usando slo lnea de comandos. If you ever have to reboot, it will be automatically mounted again. Si alguna vez tiene que reiniciar el sistema, automticamente ser montada de nuevo.

Servicio Smb (samba)

Samba es una implementacin libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que ordenadores con Linux, Mac OS X o Unix en general se vean como servidores o acten como clientes en redes de Windows. Samba tambin permite validar usuarios haciendo de Controlador Principal de Dominio (PDC), como miembro de dominio e incluso como un dominio Active Directory para redes basadas en Windows; aparte de ser capaz de servir colas de impresin, directorios compartidos y autenticar con su propio archivo de usuarios. Entre los sistemas tipo Unix en los que se puede ejecutar Samba, estn las distribuciones GNU/Linux, Solaris y las diferentes variantes BSD entre las que podemos encontrar el Mac OS X Server de Apple. Samba es una implementacin de una docena de servicios y una docena de protocolos, entre los que estn: NetBIOS sobre TCP/IP (NetBT), SMB (tambin conocido como CIFS), DCE/RPC o ms concretamente, MSRPC, el servidor WINS tambin conocido como el servidor de nombres NetBIOS (NBNS), la suite de protocolos del dominio NT, con su Logon de entrada a dominio, la base de datos del gestor de cuentas seguras (SAM), el servicio Local Security Authority (LSA) o autoridad de seguridad local, el servicio de impresoras de NT y recientemente el Logon de entrada de Active Directory, que incluye una versin modificada de Kerberos y una versin modificada de LDAP. Todos estos servicios y protocolos son frecuentemente referidos de un modo incorrecto como NetBIOS o SMB. Samba configura directorios Unix/Linux (incluyendo sus subdirectorios) como recursos para compartir a travs de la red. Para los usuarios de Microsoft Windows, estos recursos aparecen

Ing. Eduardo A. Aparicio C.

Pgina 117

como carpetas normales de red. Los usuarios de Linux pueden montar en sus sistemas de archivos estas unidades de red como si fueran dispositivos locales, o utilizar la orden smbclient para conectarse a ellas muy al estilo del cliente de la lnea de rdenes ftp. Cada directorio puede tener diferentes permisos de acceso sobrepuestos a las protecciones del sistema de archivos que se est usando en Linux. Por ejemplo, las carpetas home pueden tener permisos de lectura y escritura para cada usuario, permitiendo que cada uno acceda a sus propios archivos; sin embargo, deberemos cambiar los permisos de los archivos localmente para dejar al resto ver nuestros archivos, ya que con dar permisos de escritura en el recurso no ser suficiente. La configuracin de Samba se logra editando un solo archivo, accesible en /etc/smb.conf o en /etc/samba/smb.conf. SMB ("Server Message Block") es parte del protocolo NetBEUI desarrollado por Microsoft e IBM que permite la comunicacin entre Discos e Impresoras en Sistemas de Windows. En Unix (Linux) esta funcionalidad es denominada SAMBA y permite que un servidor ("Host") Unix , pueda accesar recursos en plataformas de Windows(95,98,NT,2000), al igual que permite a estas plataformas (Windows) accesar recursos en "Hosts" de Unix.

Servidor ("host") de Unix accesando recursos de Plataforma Windows

El primer problema en accesar archivos de una plataforma Windows es el formato o sistema de archivos ("File System") en el que estn basados. Windows actualmente utiliza tres tipos: El clsico FAT file system, VFAT que surgi con Windows 95, NTFS de Windows NT y JFS de Windows 2000. Mientras que Unix puede utilizar otros 20 diferentes, los ms comunes son ext2 para Linux y NFS desarrollado por Sun.

Pasos para lectura


A continuacin se describen los pasos a seguir para poder leer archivos y accesar recursos(impresoras, scanners..) de una plataforma Windows en un Servidor Unix Configurar el "kernel" de Linux para que ste pueda leer los "File System" FAT,VFAT y NTFS; debido a que esta lectura de "file systems" se realizar a travs de Samba , se requiere que se active la opcin SMB file System Support durante la configuracin del "kernel", aunque es muy probable que si utiliza un "kernel" de Linux mayor a 2.0, ya tenga configurada esta opcin. Configurar las maquinas que utilicen plataformas Windows para correr en TCP/IP, y activar TCP/IP en el servidor Unix (Linux).

Windows utiliza tcp/ip y Unix tambin la Comunicacin debe ser transparente para que Samba?
A pesar que al nivel de red (IP) si es transparente, al nivel de transferencia de Informacin existen muchas diferencias como se mencion: formato de archivos (vfat, ntfs, ext2), localizacin de recursos (impresoras), etc. Este funcionalidad es la que es proporcionada por un paquete como Samba

Verifique que el archivo smb.conf (ubicado bajo el subdirectorio /etc) contenga al menos lo
siguiente. [global] socket options = TCP_NODELAY Lo anterior agiliza la lectura de archivos y recursos que se encuentren en sistemas Windows.

Se debe montar el "share" de windows ("share" en Windows = particin en Unix) en el sistema Unix, generalmente en Unix se utiliza el comando mount para realizar esto, sin embargo, Samba tiene dos comandos especiales, smbmount para montar las particiones("shares") y smbumount para desactivar las particiones("shares").Su formato es el siguiente:

Ing. Eduardo A. Aparicio C.

Pgina 118

smbmount<opciones><directorio_maquina_windows> <directorio montaje en Unix> smbmount//contable1/documentos//docwindows

Configuracin (Conectividad Linux Windows) Linux Samba como Servidor de Dominio Windows Implementacin
Samba permite compartir entre maquinas windows y linux recursos. Siendo un recurso una carpeta o la impresora. Equivale al protocolo Netbios de windows. El servidor samba: Su dominio es smbd, Permite que las mquinas windows puedan acceder a Linux. Para ello el servidor deber indicar que carpetas quiere compartir windows. El cliente samba: Permite acceder linux a recursos compartidos por mquinas windows. Deberemos decir en que carpeta linux pondr los recursos de mquinas windows. Los pasos para la instalacin del servidor samba son: Configurar el servidor, Reiniciar el servidor Los pasos para la instalacin el cliente samba son: Crear una carpeta donde montar el recurso Montarla

El Servidor
Los pasos para instalar el servidor samba son: Instalar el servidor samba, Dar de alta usuarios. Configurar el servidor, Reiniciar el servidor.

Instalar el Servidor Samba

# apt-get install samba Una vez instalado se activa samba y se configura por defecto. Debemos indicarle en la instalacin workgroup (grupo de trabajo) el nombre de infole, El resto de opciones dejarlas por defecto.

Dando de Alta a Usuarios

Para que un usuario de windows pueda entrar en las carpetas compartidas por linux, antes deber estar dado de alta. Debemos hacer coincidir el usuario y contrasea de windows y de linux. Aadiremos los usuarios linux as: #useradd usuariowindows #passwd usuariowindows Ejemplo: #useradd prueba #passwd prueba Ahora uno entrando desde windows como usuario prueba y contrasea prueba, podremos entrar en las carpetas de linux que le indiquemos.

Comandos sobre el Servidor


Arrancar el servidor: # /etc/init.d/samba start Arrancando el servidor: # /etc/init.d/samba start Reiniciando el servidor: # /etc/init.d/samba restart Quien usa el servidor: # smbstatus Estado del servidor: #testparm Nota: Este comando comprueba el fichero de configuracin del samba que es: /etc/samba/smb.conf

Configuracin del Servidor


Ing. Eduardo A. Aparicio C. Pgina 119

Para ver el fichero de configuracin: # cat /etc/samba/smb.conf Para editar el fichero de configuracin: # nano /etc/samba/smb.conf Hay que cambiar el fichero de configuracin de samba para que se adapte a nuestra red. Este fichero deber grabarse en /etc/samba Crearemos una carpeta que ser pblica es decir, que la vera cualquier maquina, llamada compartir: mkdir /compartir Veamos un ejemplo: smb.conf Debemos editar este fichero y poner el nombre de la maquina pcx, siendo x el nmero del computador.

El Cliente Samba
Los pasos para instalar el servidor samba Instalar el cliente samba Crear en linux una carpeta, para montar la carpeta compartidas de windows Montar en linux, la carpeta de windows

Instalar el Cliente Samba


# apt-get install smbclient

Veamos que comparte Windows

#smbclient -L x.x.x.x Siendo x.x.x.x la direccin ip de la maquina windows. Ejemplo: smbclient -L 192.168.100.4

Creamos una carpeta en Linux

# mkdir /mnt/win Montamos la carpeta compartida por windows que se llama c, con linux se llamar /mnt/win # smbmount //x.x.x.x/c /mnt/win. Ejemplo: # smbmount //192.168.100.4/c /mnt/win.

Prueba del Servidor y del Cliente

Para entrar en maquinas windows: Podemos acceder a un computador con windows desde linux, a travs de konqueror poniendo: smb://x.x.x.x/ Siendo x.x.x.x la ip del ordenador con windows Para entrar en maquinas linux: Entrar en windows con un usuario de linux, Entrar en entorno de red y ver que se accede a esa maquina.

Utilidades
Hay una serie de utilidades o herramientas q permiten gestionar de forma grafica samba. Estas herramientas son: 1. swat: configura samba mediante navegador 2. webmin: configura samba mediante navegador 3. linneighborhood. Entrono grafico para cliente samba 4. komba2: Entorno grfico para cliente samba 5. linpopup: Similar a winpopup. Permite envo de mensajes cortos a winpopup de windows.

Implementacin de Servicios de Impresin Linux Windows Aadir Impresora de red en Linux para Windows con kde
Este caso es cuando uno tiene en linux una impresora, se tiene instalado cups como administrador de impresin, y queremos imprimir con windows.

Ing. Eduardo A. Aparicio C.

Pgina 120

1. 2. 3.

4.

Ir a Centro de control de KDE - perifricos - impresoras. Te aseguras de que usas CUPS como sistema de impresin. Botn derecho sobre el rea de la lista de impresoras - aadir impresora - impresora SMB. Pones como url "smb: //ordenador/impresora", con un nombrado igual que en windows.

Compartir archivos con Windows desde Linux Samba


Compartir archivos: - En Internet: ftp - Con otros linux: nfs - Con equipos windows: smb - Control de versiones Samba es una implementacin libre del protocolo SMB (Server Message Block, el protocolo que utilizan los equipos windows para compartir sus directorios) que nos permitir comunicarnos con equipos windows desde linux: El servidor samba permitir que los equipos windows pueda acceder a los recursos compartidos del equipo Linux (directorios e impresoras). El cliente samba permitir al equipo Linux acceder a los recursos compartidos del equipo windows (directorios e impresoras), y montar los directorios compartidos como si se tratara de un disquete o un CD. Para poder usar las impresoras compartidas tendremos que configurarlas en el equipo cliente.

Equivalencias en Windows Ms Smb

Samba tambin permite: Validar usuarios haciendo de Controlador Principal de Dominio (PDC) para redes Windows. Proporcionar un servidor de resolucin de nombres WINS (WINS es el servidor de nombres de windows que relaciona los nombres NetBIOS de las mquinas con sus direcciones IP). El protocolo smb utiliza los siguientes puertos, segn figuran en /etc/services: netbios-ns 137 TCP y 137 UDP netbios-dgm 138 TCP y 138 UDP netbios-ssn 139 TCP y 139 UDP

Correo Electrnico Mensajera y Mail en Linux


Estos datos administrativos se clasifican en dos categoras; en la primera categora estn los datos que son especficos del medio de transporte, como son las direcciones del remitente y del destinatario. A esto se le llama el sobre (envelope). Puede ser modificado por el software de transporte a medida que el mensaje se transmite. La segunda categora es cualquier dato necesario para la manipulacin del mensaje, que no es propio de ningn mecanismo de transporte, como es la lnea del encabezado en la que indicamos el tema del mensaje (Subject), la lista de todos los destinatarios, y la fecha en la que se envi el mensaje. En muchas redes, se ha convertido en un estndar incluir estos datos al comienzo del mensaje, formando lo que se denomina cabecera del mensaje (mail header). Se separa del cuerpo del mensaje (mail body) por una lnea en blanco. La mayora del software para transporte de correo que se emplea en el mundo Unix usa un formato de cabecera definido en el RFC 822. Su propsito original era especificar un estndar para usar en la arpanet, pero dado que fue diseado para ser independiente del entorno de uso, ha sido adaptado fcilmente a otras redes, incluyendo muchas basadas en UUCP.

Ing. Eduardo A. Aparicio C.

Pgina 121

Pero RFC 822 es slo el mnimo comn denominador. Otros estndares ms recientes han sido concebidos para dar respuesta a las crecientes necesidades como pueden ser, por ejemplo, encriptacin de datos, soporte de conjuntos de caracteres internacionales, y MIME (Multipurpose Internet Mail Extensions, Extensiones de Correo Multipropsito, descritas en el RFC-1341 y otros RFCs). En todos esos estndares, la cabecera consiste en varias lneas, separadas por caracteres de retorno de carro. Cada lnea consiste en un nombre de campo, que comienza en la columna uno, y el campo en s, separados por dos puntos (:) y un espacio. El formato y la semntica de cada campo varan dependiendo del nombre del mismo. Un campo de al cabecera se puede continuar ms all de una lnea, si la lnea siguiente comienza con un carcter de espacio, como puede ser un tabulador. Los campos pueden aparecer en cualquier orden. Una cabecera de correo tpico puede ser algo as: || Return-Path: <ph10@cus.cam.ac.uk> Received: ursa.cus.cam.ac.uk (cusexim@ursa.cus.cam.ac.uk [131.111.8.6]) by al.animats.net (8.9.3/8.9.3/Debian 8.9.3-6) with ESMTP id WAA04654 for <terry@animats.net>; Sun, 30 Jan 2000 22:30:01 +1100 Received: from ph10 (helo=localhost) by ursa.cus.cam.ac.uk with local-smtp (Exim 3.13 #1) id 12EsYC-0001eF-00; Sun, 30 Jan 2000 11:29:52 +0000 Date: Sun, 30 Jan 2000 11:29:52 +0000 (GMT) From: Philip Hazel <ph10@cus.cam.ac.uk> Reply-To: Philip Hazel <ph10@cus.cam.ac.uk> To: Terry Dawson <terry@animats.net>, Andy Oram <andyo@oreilly.com> Subject: Electronic mail chapter In-ReplyTo: <38921283.A58948F2@animats.net> Message-ID: <Pine.SOL.3.96.1000130111515.5800A200000@ursa.cus.cam.ac.uk> || Usualmente, todos los campos de la cabecera necesarios son generados por el interfaz de correo que usted use, como elm, pine, mush, o mailx. Algunos, sin embargo, son opcionales y pueden ser aadidos por el usuario. elm, por ejemplo, permite editar parte del encabezado del mensaje. Otros campos son aadidos por el software de transporte de correo. Si usted mira el fichero donde se almacena el correo local, puede ver que cada mensaje est precedido por una lnea From (nota: sin dos puntos). Esta no es una cabecera RFC-822; ha sido insertada por su software de correo para facilitar la lectura a los programas que usen ese fichero. Para prevenir potenciales problemas con las lneas del cuerpo del mensaje que tambin empiecen por From, se ha convertido en un procedimiento estndar evitar estas ocurrencias poniendo antes un carcter >. Esta lista es una coleccin de cabeceras de campos comunes y sus significados: From: Contiene la direccin de correo electrnico del remitente, y posiblemente el nombre real. Aqu se usa un zoolgico completo de formatos distintos. To: Esta es la direccin de e-mail del destinatario. Si hay varias direcciones se separan por comas. Cc: Esta es una lista de las direcciones de correo que recibirn una copia de carbn del mensaje. Si hay varias direcciones, se separan por comas. Bcc: Esta es una lista de las direcciones de correo que recibirn una copia de carbn ciega del mensaje. La diferencia principal entre Cc: y Bcc: es que las direcciones listadas en el Bcc: no aparecern en la cabecera del mensaje que se enva a cada destinatario. Es una forma de avisar a los destinatarios de que usted ha enviado copias del mensaje a otras personas, sin decir quines son. Si hay varias direcciones, se separan por comas. Subject: Describe el contenido del mensaje en pocas palabras. Date: Indica la fecha y hora en que se envi el mensaje.

Ing. Eduardo A. Aparicio C.

Pgina 122

Reply-To: Especifica la direccin a la que el remitente desea que el destinatario le conteste. Esto puede ser til si se tienen varias direcciones, pero se desea recibir la mayor parte del correo slo en aquella que se usa ms a menudo. Este campo es opcional. Organization: La organizacin que posee la mquina desde la que se ha enviado el mensaje. Si la mquina usada es la suya propia no incluya este campo, o bien indique privado o cualquier trivialidad sin sentido. Este campo no est descrito en ningn RFC y es completamente opcional. Algunos programas de correo lo soportan directamente, pero la mayora no. Message-ID: Una cadena generada por el transporte de correo en el sistema remitente. Es nica para cada mensaje. Received: Cada anfitrin que procesa su correo (incluyendo las mquinas del remitente y el destinatario) insertan este campo en el encabezado, dando el nombre del anfitrin, una identificacin de mensaje, hora y fecha a la que lo recibieron, de qu anfitrin procede, y qu software de transporte ha sido usado. Esto se hace as para que usted pueda conocer la ruta que su mensaje ha seguido, y pueda protestar a la persona responsable si algo ha ido mal.

Protocolos Smtp, Imap y Pop


SMTP, Simple Mail Transfer Protocol: Es el protocolo que se utiliza para que dos servidores de correo intercambien mensajes. Se basa en el modelo cliente-servidor, donde un cliente enva un mensaje a uno o varios receptores. La comunicacin entre el cliente y el servidor consiste enteramente en lneas de texto compuestas por caracteres ASCII. El tamao mximo permitido para estas lneas es de 1000 caracteres. Las respuestas del servidor constan de un cdigo numrico de tres dgitos, seguido de un texto explicativo. El nmero va dirigido a un procesado automtico de la respuesta por autmata, mientras que el texto permite que un humano interprete la respuesta. En el protocolo SMTP todas las rdenes, rplicas o datos son lneas de texto, delimitadas por el carcter <CRLF>. Todas las rplicas tienen un cdigo numrico al comienzo de la lnea. En el conjunto de protocolos TCP/IP, el SMTP va por encima del TCP, usando normalmente el puerto 25 en el servidor para establecer la conexin. POP, Post Office Protocol: Se utiliza para obtener los mensajes guardados en el servidor y pasrselos al usuario. El sinnimo de otros protocolos creados con anterioridad como el SMTP el POP no necesita una conexin permanente a Internet, puesto que es en el momento de la conexin cuando solicita al servidor el envo de la correspondencia almacenada en el servidor para dicho usuario. Si se est permanentemente conectado a Internet pueden configurarse los programas cliente de correo de tal forma que la peticin al servidor de correo se efecte automticamente cada cierto tiempo y de esta forma avise al usuario de que tiene correo pendiente de recibir. La situacin actual es que se utiliza el protocolo SMTP para el envo de correo y para la recepcin de correo se utiliza el protocolo POP, pero ya en su tercera versin desde su aparicin, el POP3. IMAP, Internet Message Access Protocol: Su finalidad es la misma que la de POP pero el funcionamiento y las cualidades que ofrecen son diferentes. Imap (acrnimo ingls de Internet Message Access Protocol) es un protocolo de red de acceso a mensajes electrnicos almacenados en un servidor. Mediante imap se puede tener acceso al correo electrnico desde cualquier equipo que tenga una conexin a Internet. IMAP tiene varias ventajas sobre pop, que es el otro protocolo empleado para obtener correo desde un servidor. Por ejemplo, es posible especificar en imap carpetas del lado servidor. Por otro lado es ms complejo que pop ya que

Ing. Eduardo A. Aparicio C.

Pgina 123

permite visualizar los mensajes de manera remota y no descargando los mensajes como lo hace pop. En cualquier caso, los protocolos smtp/pop/imap son inseguros en cuanto a que los mensajes viajan en claro por la red, es decir, es fcil obtener nuestros mensajes y contraseas. Para ello se suele aadir una capa ssl, es decir, un mtodo de cifrado que puedan implementar tanto el servidor como el cliente. En el caso del correo va web se pueden utilizar dos capas ssl: una entre A y B y otra entre el servidor web de B y el navegador web del usuario.

Sendmail (mta) configuracin

Sendmail es un popular "agente de transporte de correo" (MTA - Mail Transport Agent) en Internet, cuya tarea consiste en "encaminar" los mensajes correos de forma que estos lleguen a su destino. Se afirma que es el ms popular mta, corriendo sobre sistemas Unix y el responsable de la mayora de envo del correo de internet, aunque se le critica su alto nmero de alertas de seguridad (la mayora de ellas parchadas a las pocas horas), adems de no ser sencillo de configurar. Los servidores de correo, como su nombre lo indica, se encarga de ofrecer servicios de envo de correo entre usuarios, siendo independiente de las redes en los que ellos estn participando. Existen protocolos para lograr el fin mencionado como smtp, pop e imap. El primer protocolo mencionado se encarga de enviar y recibir mensajes, y los dos ltimos se encargan de que los usuarios obtengan sus mensajes. Existen dos formas de acceder a estos servicios; una de ellas consiste en aplicaciones que corren en la maquina del usuario (como Microsoft Outlook, Mozilla Thunderbird, Evolution); la otra forma consiste en el acceso va web (acceso remoto) como Hotmail, Gmail, Yahoo, entre otros. La columna vertebral de un sistema de correo es el MTA (Mail Transport Agent). Uno de ellos es Postfix; sus funcionalidades se encargan de recibir, enviar al correo correcto. El siguiente es un diagrama de cmo se mueve un correo electrnico por la web y se nota claramente el papel principal de mta. Sendmail es el agente de transporte de correo de correo (mta) por la responsabilidad de sendmail consiste en aceptar correo de agentes de correo de usuario y en entregar dichos correos al agente de transporte de correo apropiado, segn se especifique en su archivo de configuracin. Sendmail tambin acepta conexiones de red provenientes de otros agentes de transporte y puede depositar el correo recibido en carpetas locales o entregarlo a otros programas. Sendmail utiliza los siguientes ficheros de configuracin: Nombre Funciones /etc/mail/access Base de datos de accesos de sendmail /etc/mail/aliases Carpeta de alias /etc/mail/local-host-names Listados de mquinas para las que sendmail acepta correo /etc/mail/mailer.conf Configuracin del programa de correo /etc/mail/mailertable Tabla de entregas de correo /etc/mail/sendmail.cf Archivo de configuracin principal de sendmail /etc/mail/virtusertable Usuarios virtuales y tablas de dominio A)- /etc/mail/access La base de datos de accesos define qu mquinas o direcciones IP pueden acceder al servidor de correo y qu clase de acceso tienen permitido. Las mquinas se listan junto con las opciones OK, REJECT, RELAY o simplemente junto con un mensaje de error que se entrega a la rutina de gestin de excepciones de sendmail. Las mquinas que se listan junto con la opcin OK, que es el valor por defecto, tienen permiso para enviar correo a la mquina servidora siempre y cuando la direccin de correo de destino

Ing. Eduardo A. Aparicio C.

Pgina 124

sea la mquina servidora de correo. Las mquinas listadas junto con la opcin REJECT tienen el acceso prohibido a conexiones de correo electrnico con el servidor. Por ltimo las mquinas que poseen la etiqueta RELAY para sus nombres tienen permitido enviar correo para cualquier destino a travs de la mquina servidora de correo. B)- /etc/mail/aliases La base de datos de alias contiene una lista de directorios virtuales que son traducidas a otros usuarios, ficheros, programas o incluso otros alias. C)- /etc/mail/local-host-names Este archivo es una lista de nombres de mquinas que sendmail acepta como nombres locales. Se suele utilizar para escribir aquellos dominios o mquinas de los cuales sendmail va a recibir correo. D)- /etc/mail/virtusertable El fichero virtusertable asocia direcciones de correo pertenecientes a dominios y carpetas virtuales con carpetas reales. Estas carpetas pueden ser locales, remotas, alias definidos en /etc/mail/aliases o incluso ficheros. E)- /etc/mail/sendmail.cf Archivo de configuracin principal de sendmail, controla el comportamiento global de sendmail, incluyendo cualquier tarea desde la reescritura de direcciones de correo electrnico hasta la devolucin de mensajes de error a los servidores de correo remotos. Es evidente que con un abanico tan diverso el fichero de configuracin acaba por ser bastante complejo y sus detalles quedan fuera de los objetivos de esta seccin. Afortunadamente este fichero raras veces necesita ser modificado, al menos en lo que respecta a servidores de correo estndar. El fichero de configuracin principal de sendmail se puede construir a partir de m4(1), es decir, macros que se utilizan para definir caractersticas y comportamientos especficos de sendmail. Se ruega al lector consultar /usr/src/contrib/sendmail/cf/README para obtener ms detalles acerca de las distintas macros que se pueden utilizar. Cuando se realizan cambios a este fichero sendmail debe ser reiniciado para que los cambios surtan efecto.

Configuracin de Dominios

Los dominios locales se encuentran definidos en el archivo /etc/mail/local-host-names: midominio.com midominio.org Es decir, cualquier correo con destinatario de estos dominios ser entregado a los usuarios locales. Para aplicar los cambios en este archivo se requiere reiniciar sendmail. Por ejemplo, en Slackware: /etc/rc.d/rc.sendmail restart A. Para poder administrar su correo en su buzn Linux, se tiene que configurar un Transferencia de Correo (Mail Transfer Agent, MTA). B. El ms antiguo es sendmail, pero existen otros como qmail los cuales son ms simples de configurar. C. Sintaxis de configuracin compleja D. Su mantenimiento requiere experiencia E. Existen paquetes para la mayor parte de los *nix F. Funciona bajo alta demanda G. Control de acceso H. Listas de correo, alias y usuarios virtuales I. Amplia documentacin disponible Agente de rpidos y

Protocolo Pop
Ing. Eduardo A. Aparicio C. Pgina 125

El servidor por defecto POP bajo Red Hat Enterprise Linux es /usr/sbin/ipop3d y es proporcionado por el paquete imap. Cuando se utiliza pop, los mensajes de correo son descargados a travs de las aplicaciones de correo cliente. Por defecto, la mayora de los clientes de correo pop son configurados para borrar automticamente el mensaje en el servidor de correo despus que este ha sido transferido exitosamente, sin embargo esta configuracin se puede cambiar. POP es completamente compatible con estndares importantes de mensajera de Internet, tales como Multipurpose Internet Mail Extensiones (MIME), el cual permite los anexos de correo. POP funciona mejor para usuarios que tienen un sistema en el cual leer correo. Tambin funciona bien para usuarios que no tienen una conexin permanente a la Internet o a la red que contiene el servidor de correo. Desafortunadamente para aquellos con conexiones lentas, pop requiere que luego de la autenticacin los programas cliente descarguen el contenido completo de cada mensaje. Esto puede tomar un buen tiempo si algn mensaje tiene anexos grandes. La versin mas reciente del protocolo estndar pop es pop3. Sin embargo, tambin existen una variedad de variantes del protocolo POP que no son tan populares: APOP, POP3 con autenticacin MDS. En este protocolo, el cliente de correo enva un hash codificado de la contrasea al servidor en lugar de enviar una contrasea encriptada. RPOP, POP3 con autenticacin RPOP, que utiliza un identificador de usuario similar a una contrasea para autenticar las peticiones pop. No obstante, este ID no esta encriptado por tanto RPOP no es mas seguro que el estndar pop. Para aadir seguridad, es posible utilizar la encriptacin Secure Socket Layer (SSL) para la autenticacin del cliente y las sesiones de transferencias de datos. Esto se puede activar usando el servicio ipop3s o mediante el uso del programa /usr/sbin/stunnel.

Protocolo Imap

El servidor por defecto IMAP bajo Red Hat Enterprise Linux es /usr/sbin/imapd y es proporcionado por el paquete imap. Cuando utilice un servidor de correo imap, los mensajes de correo se mantienen en el servidor donde los usuarios pueden leerlos o borrarlos. IMAP tambin permite a las aplicaciones cliente crear, renombrar o borrar directorios en el servidor para organizar y almacenar correo. IMAP lo utilizan principalmente los usuarios que acceden a su correo desde varias maquinas. El protocolo es conveniente tambin para usuarios que se estn conectando al servidor de correo a travs de una conexin lenta, porque solo la informacin de la cabecera del correo es descargada para los mensajes, hasta que son abiertos, ahorrando de esta forma ancho de banda. El usuario tambin tiene la habilidad de eliminar mensajes sin verlos o descargarlos. Por conveniencia, las aplicaciones cliente IMAP son capaces de hacer cache de los mensajes localmente, para que el usuario pueda hojear los mensajes previamente ledos cuando no se esta conectado directamente al servidor IMAP. IMAP, como POP, es completamente compatible con estndares de mensajera de Internet, tales como MIME, que permite los anexos de correo. Para seguridad adicional, es posible utilizar la encriptacin SSL para la autenticacin de clientes y para las sesiones de transferencia de datos. Esto se puede activar usando el servicio imaps, o mediante el uso del programa /usr/sbin/stunnel. Tambin estn disponibles otros clientes y servidores de correo IMAP gratuitos as como tambin comerciales, muchos de los cuales extienden el protocolo IMAP y proporcionan funcionalidades

Ing. Eduardo A. Aparicio C.

Pgina 126

adicionales. Una lista completa http://www.imap.org/products/longlist.htm.

sobre

esto

se

puede

encontrar

en

Servidores de Correos Web Squirel

SquirrelMail es un interesante, extensible, funcional y robusto software para correo y que permite acceder al usuario a su correo electrnico desde el navegador de su predileccin. SquirrelMail est escrito en PHP4 y cumple con los estndares como correo a travs de interfaz HTTP. Incluye su propio soporte para los protocolos IMAP y SMTP. Adems todas las pginas se muestran con HTML 4.0 sin la necesidad de JavaScript para una mxima compatibilidad con cualquier navegador. SquirrelMail incluye toda la funcionalidad deseada para un cliente de correo como un robusto soporte MIME, libreta de direcciones y administracin de carpetas. Procedimientos. Instalacin del software requerido. yum -y install squirrelmail httpd Configuracin de SquirrelMail. Cambie al directorio /usr/share/squirrelmail/config/ y ejecute el guin de configuracin que se encuentra en el interior: cd /usr/share/squirrelmail/config/ ./conf.pl Lo anterior le devolver una interfaz de texto muy simple de utilizar, como la mostrada a continuacin: SquirrelMail Configuration : Read: config.php (1.4.3) --------------------------------------------------------Main Menu -1. Organization Preferences 2. Server Settings 3. Folder Defaults 4. General Options 5. Themes 6. Address Books (LDAP) 7. Message of the Day (MOTD) 8. Plugins 9. Database D. Set pre-defined settings for specific IMAP servers C. Turn color on S Save data Q Quit Command >> Ingrese hacia las preferencias de la organizacin y defina el nombre de la empresa, el logotipo y sus dimensiones, El mensaje en la barra de ttulo de la ventana del navegador, el idioma a utilizar, URL y el ttulo de la pgina principal del servidor de red

Ing. Eduardo A. Aparicio C.

Pgina 127

SquirrelMail Configuration : Read: config.php (1.4.3) --------------------------------------------------------Organization Preferences 1. Organization Name : Razn_Social_de_su_empresa 2. Organization Logo :./images/sm_logo.png 3. Org. Logo Width/Height : (308/111) 4. Organization Title : Bienvenido al Webmail de Su_empresa. 5. Signout Page : 6. Default Language : es_ES 7. Top Frame : _top 8. Provider link : http://url_de_su_empresa/ 9. Provider name : Nombre_de_su_emrpesa R Return to Main Menu C. Turn color on S Save data Q Quit Command >> En las opciones de servidores defina solamente el dominio a utilizar. Si el servidor de correo va a coexistir en el mismo sistema con el servidor http, no har falta modificar ms en esta seccin. Si lo desea, puede especificar otro servidor smtp e imap localizados en otro equipo. SquirrelMail Configuration : Read: config.php (1.4.3) --------------------------------------------------------Server Settings General ---------1. Domain : su-mquina.su-dominio 2. Invert Time : false 3. Sendmail or SMTP : Sendmail A. Update IMAP Settings : localhost:143 (uw) B. Change Sendmail Config : /usr/sbin/sendmail R Return to Main Menu C. Turn color on S Save data Q Quit Command >> En las opciones de las carpetas cambie Trash por Papelera, Sent por Enviados y Drafts por Borradores.

Ing. Eduardo A. Aparicio C.

Pgina 128

SquirrelMail Configuration : Read: config.php (1.4.3) --------------------------------------------------------Folder Defaults 1. Default Folder Prefix : mail/ 2. Show Folder Prefix Option : true 3. Trash Folder : Papelera 4. Sent Folder : Enviados 5. Drafts Folder : Borradores 6. By default, move to trash : true 7. By default, move to sent : true 8. By default, save as draft : true 9. List Special Folders First : true 10. Show Special Folders Color : true 11. Auto Expunge : true 12. Default Sub. of INBOX : true 13. Show 'Contain Sub.' Option : false 14. Default Unseen Notify :2 15. Default Unseen Type :1 16. Auto Create Special Folders : true 17. Folder Delete Bypasses Trash : false 18. Enable /NoSelect folder fix : false R Return to Main Menu C. Turn color on S Save data Q Quit Command >> SquirrelMail Configuration : Read: config.php (1.4.3) --------------------------------------------------------Plugins Installed Plugins 1. delete_move_next 2. squirrelspell 3. newmail 4. calendar 5. filters 6. mail_fetch 7. translate 8. abook_take 9. message_details 10. sent_subfolders Available Plugins: 11. administrator 12. bug_report 13. info 14. listcommands 15. spamcop 16. fortune R Return to Main Menu C. Turn color on S Save data Q Quit Command >>

Ing. Eduardo A. Aparicio C.

Pgina 129

Finalmente escoja y habilite las extensiones (plug-ins) que considere apropiados para sus necesidades: Guarde los cambios pulsando la tecla S y luego la tecla Enter.

Finalizando configuracin

Active, si no lo ha hecho an, el servicio de IMAP. Si utiliza Red Hat Enterprise Linux 4.0, CentOS 4.0 o White Box Enterprise Linux 4.0, el paquete imap es reemplazado por dovecot, el cual funciona como otros servicios. Se debe editar el fichero /etc/dovecot.conf y asegurarse que estn habilitados el servicios de imap (de modo predefinido solo debe estar habilitado imap): protocols = imap pop3 El servicio se agrega al arranque del sistema y se inicializa del siguiente modo: /sbin/chkconfig dovecot on /sbin/service dovecot start Si utiliza Red Hat Enterprise Linux 3.0, CentOS 3.0 o White Box Enterprise Linux 3.0, el procedimiento utilizar el paquete imap, el cual solo requiere un mandato para activar el servicio. /sbin/chkconfig imap on Reinicie o inicie el servicio de apache: service httpd start Acceda con el navegador de su predileccin hacia http://127.0.0.1/webmail/. elinks http://127.0.0.1/webmail/

Ruteo y Encaminamiento IP Encaminamiento IP


El encaminamiento se lleva a cabo en el nivel de red del modelo OSI.

Ing. Eduardo A. Aparicio C.

Pgina 130

La funcin de encaminamiento permite a los encaminadores (routers) evaluar cuales son los posibles caminos que conducen a un destino y utilizar el mejor de ellos. Los servicios de ruteo utilizan la informacin topolgica de la red cuando evalan distintas alternativas. Esta informacin puede ser configurada por el administrador de red o bien recolectada a travs de procesos dinmicos. El encaminador, despus de determinar cual es el mejor camino para un destino, reencamina todos los paquetes que van dirigidos a ese destino a travs de la interfaz asociada (forwarding).

No existe un nico protocolo para actualizar las tablas de encaminamiento IP, pudiendo elegirse el ms adecuado dependiendo de los requisitos internos de las redes a interconectar y las preferencias de cada administrador. A lo largo del tiempo, se han impuesto distintas soluciones, tanto abiertas como propietarias. Todas ellas operan con estrategias Adaptativas Salto a Salto. Todas ellas conviven mediante los Dominios de encaminamiento o Sistemas Autnomos (SA). Un SA es un conjunto de redes gestionadas por una administracin comn y que comparten una estrategia de encaminamiento comn. Cada sistema autnomo: -Elige su arquitectura y protocolos de encaminamiento internos. -Es responsable de la consistencia de sus rutas internas. Debe recolectar informacin sobre todas sus redes y designar uno a ms routers para pasar la informacin a otros sistemas autnomos. Ser por tanto necesario definir dos tipos de encaminamiento: -Intradominio o IGP (Internal Gateway Protocol): Es el utilizado dentro del SA. Ejemplos: RIP, OSPF, IGRP, etc. -Interdominio o EGP (External Gateway Protocol): Encamina entre Sistemas Autnomos. Ejemplos: EGP, BGP, IDPR, etc.

Ing. Eduardo A. Aparicio C.

Pgina 131

Como vemos en la figura, cada SA tiene su propio intradominio o IGP, los cuales se ejecutan protocolos EGP para cambiar informacin con otros routers frontera de otros sistemas autnomos. La funcin ms importante de la capa IP es el encaminamiento de datagramas extremo a extremo a travs de la red virtual. La funcin de encaminamiento se realiza principalmente en los routers, aunque en algunas situaciones los hosts tambin deben participar en la toma de decisiones para seleccionar el router de su red al que enva el datagrama (que son paquetes independientes de la organizacin de tipo sin conexiones). El encaminamiento IP se puede dividir en dos partes: entrega directa y entrega indirecta: La entrega directa es la transmisin de un datagrama desde el host origen hasta el host destino a travs de una sola red fsica, dicho de otra forma, dos hosts slo pueden comunicarse mediante entrega directa si ambos estn conectados directamente a la misma red fsica (por ejemplo, una sola red Ethernet). Bsicamente en la entrega directa el emisor encapsula el datagrama dentro de una trama fsica, transforma la direccin IP destino en una direccin fsica y enva la trama resultante al destino a travs del driver del dispositivo hardware correspondiente. El host origen averigua si debe realizar entrega directa o no, es decir, si el host destino est conectado o no directamente a su red fsica mediante el prefijo de red. El host origen extrae el nmero de red de la direccin IP del destino y la compara con el nmero de red de su propia direccin IP. Si ambas se corresponden significa que se puede utilizar entrega directa La entrega indirecta es necesaria cuando el host destino no est conectado directamente a la red del origen, lo que implica que el datagrama deber atravesar varias redes fsicas, y para ello es necesario atravesar routers. En la entrega indirecta, el host origen ha de identificar al router al que debe entregar el datagrama, el primer router debe identificar cul ser el siguiente router al que debe enviar el datagrama, esto tambin se denomina identificar el siguiente salto. La comunicacin entre dos routers consecutivos de la ruta se realiza siempre mediante entrega directa, es decir, un determinado router de la ruta y el router del siguiente salto deben estar conectados a la misma red fsica, sino no es posible su comunicacin. A su vez, el ltimo router de la ruta que sigue el datagrama debe estar conectado a la misma red fsica que el host destino.

Ing. Eduardo A. Aparicio C.

Pgina 132

Entrega Directa e Indirecta

Para que se enve un determinado datagrama a la siguiente maquina se utiliza el llamado algoritmo de encaminamiento, que es el mtodo utilizado por un router o un host para averiguar la siguiente mquina a la que debe enviar un determinado datagrama. El encaminamiento IP hace uso de tablas de encaminamiento que se encuentran en cada mquina (hosts y routers, puesto que ambos encaminan datagramas) y almacenan informacin sobre los posibles destinos y cmo alcanzarlos. La estrategia es siempre salto a salto. Las tablas almacenan el siguiente salto para las direcciones IP destino. Las direcciones son siempre IP, no fsicas, debido a que se facilita su gestin y se ocultan los detalles de las subredes. Para acelerar el proceso y reducir el consumo de recursos, las tablas slo necesitan los prefijos de subred de las direcciones IP y no la IP completa, ya que si cada tabla de encaminamiento contuviera informacin de cada posible direccin destino sera imposible mantener actualizadas las tablas, adems, de no tendran suficiente espacio ni capacidad de proceso. En un entorno de interconexin total, no es posible que las tablas contengan la informacin sobre todas las posibles direcciones destino; se utiliza el principio de informacin oculta, que toma decisiones de encaminamiento con la informacin mnima necesaria:

Se asla la informacin de hosts dentro del entorno local (subred) donde se encuentran; un host
remoto puede enviar datagramas sin conocer al detalle la subred. El esquema de direccionamiento IP est diseado para ayudar a conseguir ste objetivo. Se agrupar mltiples entradas de la tabla en una sola, la ruta por defecto. Nota: Todos los routers listados en la tabla de encaminamiento de un nodo deben de encontrarse en subredes a las que dicho nodo est conectado directamente (estrategia salto a salto). El contenido de las tablas de encaminamiento suelen ser pares del tipo (N, R). Donde N es un nmero de red y R es la direccin IP del router en el siguiente salto para alcanzar dicha red (por tanto el router debe estar conectado a la misma red fsica). De esta forma el algoritmo bsico de encaminamiento de un datagrama IP es:

Ing. Eduardo A. Aparicio C.

Pgina 133

Configuracin de una Puerta de Enlace o Gateway

Una puerta de enlace o gateway es normalmente un equipo informtico configurado para dotar a las mquinas de una red local (LAN) conectadas a l de un acceso hacia una red exterior, generalmente realizando para ello operaciones de traduccin de direcciones IP. Esta capacidad de traduccin de direcciones permite aplicar una tcnica llamada IP Masquerading (enmascaramiento de IP), usada para dar acceso a Internet a los equipos de una red de rea local compartiendo una nica conexin a Internet, y por tanto, una nica direccin IP externa. Se podra decir que una puerta de enlace, es un router u ordenador a travs del que se enruta la conexin a Internet de un equipo y que conecta dos redes. La direccin IP de una puerta de enlace a menudo se parece a 192.168.1.1 o 192.168.0.1 y utiliza algunos rangos predefinidos, 127.x.x.x, 10.x.x.x, 172.x.x.x, 192.x.x.x, que engloban o se reservan a las redes locales. Adems se debe notar que necesariamente un equipo que haga de puerta de enlace en una red, debe tener 2 tarjetas de red. Generalmente, cuando se tiene una red local, todos los ordenadores de la red salen a Internet a travs de un ordenador o hardware que se encarga de gestionar las conexiones con Internet. En las conexiones ADSL por router en lugar de mdem, el router es tu puerta de enlace, pues es el equipo que tiene y gestiona la conexin con Internet. En las propiedades de conexin del TCP/IP, en el campo puerta de enlace, se tiene que poner la direccin IP del ordenador o router que tiene la conexin con Internet. Para saber esa direccin IP se tendr que consultar con el administrador de la red o bien con el manual de instrucciones de tu lnea ADSL. En muchos casos, los propios PC, al encenderse se conectan con el router y le solicitan una direccin IP y una puerta de enlace. En otros casos esos datos se tienen que configurar en las propiedades del TCP/IP. Si el router tiene habilitado DHCP, est preparado para asignar dinmicamente las direcciones IP y la puerta de enlace a todos los ordenadores al iniciarse. Tambin se tendr que saber si el router permite DHCP con el administrador de la red, el manual de instrucciones o bien el servicio tcnico de tu ADSL. En caso que se tenga DHCP, se tendr que poner en la ventana de propiedades del TCP/IP que obtenga las direcciones IP automticamente. La configuracin es de la siguiente manera, en una red LAN: El primer paso es acceder a las propiedades de la red, por el panel de control, clickear en Conexiones de red, Icono Conexin de rea local. Se har doble clic sobre l, y una vez este abierto, se har clic en el botn Propiedades.

Ing. Eduardo A. Aparicio C.

Pgina 134

Salvo que sea estrictamente necesario para el usuario compartir carpetas e impresoras, deber desactivarse la entrada llamada Compartir archivos e impresoras para redes Microsoft y Programador de paquetes Qos. Luego pasaremos a configurar el apartado Protocolo Internet (tcp/ip). Para ello, se seleccionar la entrada y se pulsar el botn Propiedades.

Marcar el apartado Usar la siguiente direccin IP. En el apartado Direccin IP, escribir el nmero IP asignado por el departamento de Comunicaciones a esa mquina tal como se ve en la figura. En el apartado Mscara de subred, se deber escribir obligatoriamente 255.255.255.0 En el apartado Puerta de enlace predeterminada, se escribir el nmero 155.210.xxx.254; donde xxx se corresponde al tercer grupo de dgitos que se expresa en el nmero IP. En la figura, el nmero IP es 155.210.19.183, entonces puerta de enlace ser 155.210.19.254. Tambin se puede poner como puerta de enlace el nmero IP 192.168.1.1. A continuacin, se pulsar el botn Avanzadas. Dicho botn oculta la pantalla que muestra la figura:

Ing. Eduardo A. Aparicio C.

Pgina 135

En la ficha Configuracin de IP, no se modificar nada. En la ficha DNS, que muestra la figura siguiente, se modificarn los apartados siguientes: Deber desactivarse la entrada llamada Anexar sufijos primarios del sufijo DNS principal y desactivarse (si aparece activada) la entrada Registrar estas direcciones de conexiones en DNS. En la ficha WINS (figura siguiente), se deber configurar como se muestra:

Ing. Eduardo A. Aparicio C.

Pgina 136

Se configura en este orden: Se desmarcar la opcin Habilitar la bsqueda de LMHOSTS. Se dejar marcada nada ms que la opcin Habilitar NetBIOS sobre TCP/IP. Una vez se hayan configurado todas las fichas antes citadas, al pulsar Aceptar, el sistema tendr la nueva conexin realizada y preparada para ser usada. Por ltimo, nos queda por asignar el sistema a un grupo de trabajo. Un grupo de trabajo, por definicin es un grupo de usuarios que trabajan en un proyecto comn y comparten informacin de equipos interconectados, normalmente a travs de una red de rea local (LAN). Para conectar el sistema a un grupo de trabajo, o bien se hace en tiempo de instalacin, o bien se utiliza el siguiente procedimiento: Se debe iniciar la sesin como administrador del sistema local. Luego, vamos al panel de control Sistema, accesible a travs del botn Inicio, Panel de control En la ficha que muestra la pgina siguiente, hay que hacer clic en la solapa Nombre del equipo. Para unirnos a un grupo de trabajo, se har clic en el botn Cambiar que muestra la pantalla.

En ese momento, aparecer un cuadro de dilogo con los elementos que muestra la figura:

Ing. Eduardo A. Aparicio C.

Pgina 137

En el apartado Grupo de trabajo, se escribir el nombre que se desee, en este caso unizar y se pulsar el botn Aceptar. Se cierran los cuadros y se reinicia el sistema, con lo quedar ya unido al grupo de trabajo Unizar.

Tabla de Ruteo Local (route # y c:\>route print)

Las tablas de ruteo contienen informacin de todos los destinos y todas las rutas posibles. Al inicio de la operacin, el ruteador nicamente rutea hacia las redes directamente conectadas a sus interfaces. El proceso asociado con el algoritmo (protocolo) de ruteo dentro del ruteador es el responsable de construir la tabla de ruteo. Pueden existir varios procesos simultneos de construccin de tablas de ruteo dentro del ruteador. En un principio la tabla solo contiene las redes conectadas directamente al ruteador. Informacin proviene de un archivo de configuracin

Ing. Eduardo A. Aparicio C.

Pgina 138

Los ruteadores se comunican entre si por medio de anuncios frecuentes manteniendo sus tablas de ruteo actualizadas. La elaboracin de los anuncios es responsabilidad de un protocolo/algoritmo de ruteo. Con la informacin recibida de los ruteadores vecinos, un ruteador actualiza su tabla de ruteo local. Ahora, los algoritmos de ruteo local son RIP, OSPF, IGRP, etc. cada una diseada para un tipo de red diferente, por ejemplo el algoritmo IGRP esta diseado para redes mas grandes, ya que dispone de diferentes mtricas como ancho de banda, retardo, etc. Para configurar nuestro equipo para acceder a internet a travs de un router, habr que usar el comando route. Para que dos equipos intercambien datagramas IP, ambos debern tener una ruta al otro, o utilizar un gateway por omisin que conozca una ruta. El comando route se utiliza para visualizar y modificar la tabla de rutas.

Parmetros

-f Quita de la tabla de rutas todas las entradas que no son rutas de hosts (rutas cuya mscara de subred es 255.255.255.255), la ruta de la red de bucle local (rutas cuyo destino es 127.0.0.0 y su mscara de subred es 255.0.0.0) o una ruta de multidifusin (rutas cuyo destino es 224.0.0.0 y su mscara de subred es 240.0.0.0). Si se utiliza junto con alguno de los comandos (como add, change o delete), las tablas se borrarn antes de la ejecucin del comando. -p Cuando se utiliza con el comando add, la ruta especificada se agrega al registro y se utiliza para inicializar la tabla de rutas IP cada vez que se inicia el protocolo TCP/IP. De forma predeterminada, las rutas agregadas no se conservan cuando se vuelve a iniciar el protocolo TCP/IP. Cuando se utiliza con el comando print, muestra la lista de rutas persistentes. En todos los dems comandos, este parmetro se ignora. Las rutas permanentes se almacenan en la ubicacin del Registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services \Tcpip\Parameters\PersistentRoutes.

Comando Destino

Especifica el comando que se va a ejecutar. La tabla siguiente muestra los comandos vlidos.

Especifica la red de destino de la ruta. El destino puede ser una direccin IP de red (donde los bits de host de la direccin son 0), una direccin IP de una ruta de host o 0.0.0.0 como ruta predeterminada.

Ing. Eduardo A. Aparicio C.

Pgina 139

mask mscara de subred

Especifica la mscara de red, tambin conocida como mscara de subred, asociada con la red de destino. La mscara de red puede ser la mscara de subred apropiada para una direccin IP de red, 255.255.255.255 para una ruta de host o 0.0.0.0 para la ruta predeterminada. Si se omite, se utilizar la mscara de subred 255.255.255.255. Debido a la relacin entre el destino y la mscara de subred al definir rutas, el destino no puede ser ms especfico que su mscara de subred correspondiente. En otras palabras, no puede haber un bit establecido a 1 en el destino si el bit correspondiente de la mscara de subred est establecido a 0.

Puerta de Enlace

Especifica la direccin IP a travs de la cual se llega al conjunto de direcciones definido por la red de destino y la mscara de subred. Para las rutas de subredes conectadas localmente, la direccin de la puerta de enlace es la direccin IP asignada a la interfaz conectada a la subred. Para rutas remotas, disponibles a travs de uno o varios enrutadores, la direccin de la puerta de enlace es una direccin IP directamente alcanzable que est asignada a un enrutador prximo.

metric mtrica

Especifica un entero como mtrica de coste (entre 1 y 9999) de la ruta, que se utiliza cuando hay que elegir entre varias rutas de la tabla de rutas cuya red de destino contiene la direccin de destino del paquete enrutado. Se elige la ruta cuya mtrica es la ms baja. La mtrica puede reflejar el nmero de saltos, la velocidad de la ruta, la confiabilidad de la ruta, la capacidad de la ruta o las propiedades administrativas.

if interfaz

Especifica el ndice de la interfaz a travs de la que se llega al destino. Para obtener la lista de las interfaces y sus ndices correspondientes, utilice la salida del comando route print. Como ndice de la interfaz se pueden utilizar valores decimales o hexadecimales. Para utilizar valores hexadecimales, preceda el nmero hexadecimal con 0x. Cuando se omite el parmetro if, la interfaz est determinada por la direccin de la puerta de enlace. Ahora, cuando en el programa smbolo de sistema digitamos route #, manipulamos las tablas de enrutamiento de la red. Route [-f] [-p] [comando [destino] [mask mscara Subred] [puerta De Enlace] [metric mtrica]] [if Interfaz]] Con route print, se muestra todo el contenido de la tabla de rutas IP. Ejemplo: >route print 157*, solo nos muestra las rutas que empiezan con 157.xxx.xxx.xxx

Ruteo Dinmico y Ruteo Esttico

En el ruteo dinmico, las tablas de ruteo son actualizadas peridicamente por protocolos de ruteo, reflejando los cambios en la topologa de red, esto es cuando los ruteadores se envan actualizaciones automticas de ruteo entre ellos por: reclcalo automtico de la nueva mejor ruta actualizacin automtica de la tabla de ruteo Los ruteadores pueden ajustarse dinmicamente a los cambios en las condiciones de la red Trabaja mejor cuando el ancho de banda y grandes cantidades de trfico de red no son prioritarios. Ahora un ejemplo, en la siguiente figura:

Ing. Eduardo A. Aparicio C.

Pgina 140

La mejor ruta es la A-D-C, una ruta alterna es A-B-C, que tambin esta disponible. Si el enlace entre Ay D se cae, la tabla de ruteo se ajusta automticamente para enrutar paquetes a B. Cuando el enlace se restablece, A ajusta su tabla para reflejar la ruta preferida a D En el ruteo esttico, las rutas son establecidas por el administrador de red, los cambios deben ser introducidos manualmente si solo existe una ruta: stub network Incrementan la seguridad ya que las rutas estticas no son enviadas por toda la red y son tiles para estableces una ruta por default. til si se desea controlo que ruta debe seleccionar un ruteador. para probar un enlace en particular en la red para conservar el ancho de banda El ruteo esttico es el mtodo preferido por las redes tipo stub, solo un hay un path para un red stub

Ruteo Esttico Protocolo RIP


Routing Information Protocol (RIP) El Protocolo de Informacin de Enrutamiento (RIP) es un protocolo de vector-distancia que utiliza un contador de saltos como mtrica. RIP es muy usado para enrutar trfico en redes globales como un protocolo de gateway interior (IGP), lo que significa que realiza el enrutamiento en sistema autnomo. Sus caractersticas son: Vector distancia.

Ing. Eduardo A. Aparicio C.

Pgina 141

Mtrica = nmero de saltos (de 1 a 15). 16 es infinito. Dos tipos de participantes: activos (slo pueden ser routers) y pasivos. Cada 30 segundos los participantes activos difunden su vector de distancias: duplas de (prefijo IP, distancia). Utiliza UDP como protocolo de transporte (puerto 520). Todos los participantes (activos y pasivos) escuchan los mensajes RIP y actualizan sus tablas. Existe un proceso de borrado de rutas (cada 180 segundos), para mantener las tablas fiables y para recuperarse ante cadas de routers, por ejemplo. Dos tipos de paquetes. REQUEST: enviados por los routers o hosts que acaban de conectarse o su informacin ha caducado. RESPONSE: enviados peridicamente, en respuesta a un REQUEST o cuando cambia algn coste. Actualmente existen dos versiones del protocolo: RIPv1 y RIPv2 (aporta subnetting y autenticacin).

Actualizaciones de Enrutamiento

El protocolo RIP enva mensajes de actualizacin de enrutamiento cuando detecta que la topologa de la red ha cambiado. Cuando un router recibe un mensaje de actualizacin que incluye cambios no registrados, este actualiza su propia tabla para asentar la nueva ruta. El valor de la mtrica para el mensaje es aumentado por el router en uno, y el origen es indicado como el prximo salto. Los enrutamientos con RIP utilizan solamente la mejor ruta (la que tenga la mtrica mas baja) hacia un destino. Luego de que un router actualiza sus tablas, inmediatamente comienza a transmitir la informacin de actualizacin de enrutamiento a los routers vecinos. Estas actualizaciones son enviadas independientemente de las actualizaciones programadas que RIP enva.

Mtrica de Enrutamiento de RIP

RIP utiliza una mtrica simple para determinar las distancias entre un origen y un destino. Esta mtrica se mide en "saltos", cada salto esta determinados por cada router que atraviesa la informacin. Con cada salto desde el origen hacia el destino es aumentado en uno un contador. Cuando un router recibe una actualizacin de enrutamiento que contiene una nueva ruta o algn cambio con respecto a sus propias tablas, el router modifica sus tablas, y luego agrega un valor a la mtrica, esto indica que las tablas han sido actualizadas, la direccin IP del origen ser utilizada para el prximo salto.

Prevencin de Loops

El protocolo Rip previene loops continuos implementando un lmite de saltos desde el origen al destino final. El nmero mximo de saltos permitido por el protocolo RIP es de 15 saltos. Si un router recibe una actualizacin que contiene una nueva entrada o algn cambio no registrado, y el aumento del valor del campo de salto llega a 16 o lo supera, el destino de la red se considera inalcanzable.

Aspectos de estabilidad de RIP

Para ajustarse rpidamente a los cambios en la red, RIP especifica un nmero de parmetros de estabilidad que son comunes a muchos protocolos de enrutamiento. Rip, por ejemplo, implementa el llamado Horizonte Dividido y el mecanismo de Temporizadores de espera para prevenir que se propague informacin de enrutamiento incorrecta. Adems, el protocolo RIP previene los loops de enrutamiento utilizando el mtodo de Cuenta al infinito.

Rip timers

RIP utiliza una gran cantidad de relojes para regular su performance. Estos relojes llamados como timers y no traduciremos su significado para no alejarnos de la denominacin ms usual. Entre ellos se incluyen los routing-update timer, route timeout y route-flush timer. Los routing-update timer establecen el intervalo entre las actualizaciones de tablas de enrutamiento peridicas. por lo general, este valor esta seteado en 30 segundos, con un rango muy pequeo de segundos agregados a cada tiempo para prevenir colisiones. Cada entrada en las tablas de enrutamiento

Ing. Eduardo A. Aparicio C.

Pgina 142

tienen un route timeout timer asociado con ellas. Cuando el route timeout timer expira, la ruta es sealada como invalida, pero no es borrada de la tabla hasta que expira el route-flush timer.

Formato de los Paquetes

A continuacin nos enfocaremos en los formatos de los paquetes de RIP y RIPv2, se muestran dos ilustraciones con sus respectivas descripciones. Formato de los paquetes RIP La figura que a continuacin se ve muestra el formato de los campos de un paquete RIP Un paquete RIP esta formado por 9 campos

A continuacin describimos los campos de un paquete RIP: Command: Indica si el paquete es una solicitud o una respuesta. La solicitud le pide al router que enve parte o toda su tabla de enrutamiento. La respuesta puede ser tambin una actualizacin de tablas de enrutamiento regular (puede no haber sido pedida explcitamente) o puede tambin ser la respuesta a una solicitud previa. Las repuestas contienen entonces entradas de tablas de enrutamiento. Versin Number: Especifica que versin del protocolo RIP estamos utilizando. Zero: No usado. Address-Family Identifier (AFI): Especifica la direccin utilizada. RIP esta diseado para portar informacin de enrutamiento de diferentes protocolos. Cada entrada tiene una direccin de identificacin que indica cual es el tipo de direcciones especificadas. El valor del campo de AFI para IP es 2. Address: Especifica la direccin IP para la entrada. Metric: Indica cuantos saltos o redes han sido traspasadas desde el destino. Este valor debe estar entre 1 y 15, si este valor es 16, se toma como ruta no valida o inalcanzable (unreachable).

Formato de los Paquetes RIPv2

La especificacin de RIPv2 (descripta en el RFC 1723) permite incluir mayor cantidad de informacin en un paquete RIP y nos provee de un mecanismo de autenticacin simple. En la figura que se muestra a continuacin vemos un esquema de los campos de un paquete RIPv2.format. Un paquete RIPv2 esta constituido por campos muy similares a los de uno RIP.

Ing. Eduardo A. Aparicio C.

Pgina 143

A continuacin describimos los campos de un paquete RIPv2: Command: Indica si el paquete es una solicitud o una respuesta. La solicitud le pide al router que enve parte o toda su tabla de enrutamiento. La respuesta puede ser tambin una actualizacin de tablas de enrutamiento regular (puede no haber sido pedida explcitamente) o puede tambin ser la respuesta a una solicitud previa. Las repuestas contienen entonces entradas de tablas de enrutamiento. Versin: Especifica que versin del protocolo RIP estamos utilizando. Unused: Valor establecido en cero. Address-Family Identifier (AFI): Especifica la direccin de familia utilizada. RIP esta diseado para portar informacin de diferentes protocolos. Cada entrada tiene una direccin de identificacin que indica cual es el tipo de direcciones especificadas. El valor del campo de AFI para IP es 2. Si la AFI para la primera entrada es 0xFFFF, significa que el resto de la entrada contiene informacin de autenticacin. Actualmente, la informacin de autenticacin es nada ms simple que un password. Route Tag: Provee un mtodo para distinguir entre rutas internas (reconocidas por RIP) y rutas externas (reconocidas por otros protocolos). IP Address: Especifica la direccin IP para la entrada. Subnet Mask: Contiene la mascara de subred para la entrada. Si este campo esta en cero, quiere decir que no se ha especificado ninguna mascara de subred para la entrada. Next Hop: Indica la direccin IP del prximo salto al cual el paquete debe ser enviado. Metric: Indica cuantos saltos o redes han sido traspasadas desde el destino. Este valor debe estar entre 1 y 15, si este valor es 16, se toma como ruta no valida o inalcanzable (unreachable). Limitaciones: Existen diferencias entre implementaciones debido a que la RFC tard un poco en aparecer. Convergencia lenta (inconsistencias transitorias provocan bucles de encaminamiento). Se han propuesto algunas soluciones, pero son parciales o no sirven para todas las topologas. Carga las redes innecesariamente. Todos los routers hacen broadcast peridicamente. Permite 15 saltos como mximo. Mtrica de saltos. No contempla otras posibilidades (caudal, probabilidad de error, etc.)

Configuracin de Servidor/Router con 2 y 3 Subredes

En la figura, en ese caso tenemos que el servidor debe tener igual nmero de tarjetas de red como subredes tiene conectadas, adems que debe tener una tarjeta de red adicional que se conecta al router para la salida a Internet. En el caso ms simple, se puede dividir una red en subredes de tamao fijo (todas las subredes tienen el mismo tamao). Sin embargo, por la escasez de direcciones IP, hoy en da frecuentemente se usan subredes de tamao variable.

Ing. Eduardo A. Aparicio C.

Pgina 144

Lo primero que hacemos, es poner las pcs de una subred en un determinado grupo de trabajo. En este caso se llamaran workgroup, workgroup2 y workgroup3, para las 3 subredes.

Todas las maquinas de la subred se conectan a sus respectivos switches, y conectadas despus a las tarjetas de red del servidor. Los routers constituyen los lmites entre las subredes. La comunicacin desde y hasta otras subredes es hecha mediante un puerto especfico de un router especfico, por lo menos momentneamente.

Ing. Eduardo A. Aparicio C.

Pgina 145

Las subredes simplifican el enrutamiento, ya que cada subred tpicamente es representada como una fila en las tablas de ruteo en cada router conectado. Las subredes fueron utilizadas antes de la introduccin de las direcciones IPv4, para permitir a una red grande, tener un nmero importante de redes ms pequeas dentro, controladas por varios routers. Las subredes permiten el Rutado Interdominio sin Clases (CIDR). Para que las computadoras puedan comunicarse con una red, es necesario contar con nmeros IP propios, pero si tenemos dos o mas redes, es fcil dividir una direccin IP entre todos los hosts de la red. De esta formas se pueden partir redes grandes redes ms pequeas. Es necesario para el funcionamiento de una subred, calcular los bits de una IP y quitarle los bits de host, y agregrselos a los bits de network mediante el uso de una operacin lgica. Por ejemplo, a una compaa se le ha asignado la red 200.3.25.0. Es una red de clase C, lo cual significa que puede disponer de 254 diferentes direcciones. (La primera y la ltima direccin estn reservados, no son utilizables.) Si no se divide la red en subredes, la mscara de subred ser 255.255.255.0 (o /24). La compaa decide dividir esta red en 8 subredes, con lo cual, la mscara de subred tiene que recorrer tres bits ms ((25) 2 = 30. (Se "toman prestados" tres bits de la porcin que corresponde al host.) Eso resulta en una mscara de subred /27, en binario 11111111.11111111.11111111.11100000, o en decimal punteado, 255.255.255.224. Cada subred tendr (25) 2 = 30 direcciones; la primera y la ltima direccin de cada subred no pueden ser asignadas a un host. Rango de red Rango ip Broadcast 200.3.25.0 200.3.25.1 - 200.3.25.30 200.3.25.31 200.3.25.32 200.3.25.33 - 200.3.25.62 200.3.25.63 200.3.25.64 200.3.25.65 - 200.3.25.94 200.3.25.95 200.3.25.96 200.3.25.97 - 200.3.25.126 200.3.25.127 200.3.25.128 200.3.25.129 - 200.3.25.158 200.3.25.159 200.3.25.160 200.3.25.161 - 200.3.25.190 200.3.25.191 200.3.25.192 200.3.25.193 - 200.3.25.222 200.3.25.223 200.3.25.224 200.3.25.225 - 200.3.25.254 200.3.25.255 La subred uno tiene la direccin de subred 200.3.25.0; las direcciones utilizables son 200.3.25.1 - 200.3.25.30. La subred dos tiene la direccin de subred 200.3.25.32; las direcciones utilizables son 200.3.25.33 - 200.3.25.62. Y as sucesivamente; de cada subred a la siguiente, el ltimo byte aumenta en 32. Dependiendo del tipo de mscara de subred utilizado Dentro de cada subred no se puede asignar la primera y la ltima direccin a ningn host. La primera direccin de la subred se utiliza como direccin de la subred, mientras que la ltima est reservada para broadcast locales (dentro de la subred). Adems, en algunas partes se puede leer que no se puede utilizar la primera y la ltima subred. Es posible que stos causen problemas de compatibilidad en algunos equipos, pero en general, por la escasez de direcciones IP, hay una tendencia creciente de usar todas las subredes posibles. Hecho el respectivo calculo, se procede a configurar el servidor.

Ing. Eduardo A. Aparicio C.

Pgina 146

La configuracin del servidor DHCP, como hemos visto anteriormente, se realiza en el fichero /etc/dhcpd.conf. Es un fichero de texto, donde cada lnea que comience por # indica un comentario y no se tiene en cuenta. Las distintas entradas de este fichero terminan en ;. Si una entrada de configuracin necesita distintos parmetros los podemos agrupar mediante {y}. Ver el siguiente ejemplo de configuracin. Este fichero contendr lnea de configuracin de la forma Parmetro valor; y lnea de la forma: option parmetro valor; El valor depender del parmetro que queramos configurar; podr ser un valor lgico (on u off, por ejemplo), una direccin, un nombre predefinido u otro valor segn el caso. En este fichero tambin se definen las subredes en las que acta el servidor DHCP y qu rangos de direcciones puede asignar. Existen unos parmetros que pueden ser globales o se pueden especificar dentro de una declaracin de subred. Cualquier parmetro especificado en una subred tiene preferencia en esta subred sobre los establecidos de forma global. Primero vemos un ejemplo de configuracin y posteriormente veremos una descripcin de las lneas que contiene y otras que podra contener: authoritative; one-lease-per-client on; server-identifier ppfm.atenea.dom; default-lease-time 604800; max-lease-time 604800; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.10; option domain-name-servers 192.168.1.10; option domain-name "atenea.dom"; ddns-domainname "atenea.dom"; ddns-update-style ad-hoc; ddns-updates on; option netbios-name-servers 192.168.1.10; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.7 192.168.1.9; range 192.168.1.90 192.168.1.150; }

En una vista rpida para impacientes

authoritative; Supone que la configuracin correcta para la red es la definida en el servidor DHCP y tratar de reasignar datos a los clientes mal configurados. Este parmetro puede ser global o asigando a una declaracin de subred. Los cambios realizados en servidor marcado como authoritative tienen una rpida propagacin en la subred ya que se reconfigura cualquier cliente con la antigua configuracin. authoritative; tiene el significado opuesto al anterior parmetro. one-lease-per-client on; cuando esta opcin est en "on" y un cliente solicita una asignacin, el servidor libera automticamente cualquier otra asignacin que tenga ese cliente. Se supone que si el cliente hace una solicitud es porque ha olvidado que tuviera alguna, es decir tiene un solo interfaz de red. Si no se da esta situacin en los clientes hay que usar este parmetro con precaucin. server-identifier 192.168.1.10; este parmetro identifica el nodo que alberga el servicio DHCP. Slo se deber usar cuando el nodo tenga ms de una direccin IP asignada al interfaz.

Ing. Eduardo A. Aparicio C.

Pgina 147

default-lease-time 604800; indica el tiempo de asignacin en segundos. max-lease-time 604800; indica el tiempo mximo de asignacin en segundos. ddns-updates on; activa la actualizacin DNS con los valores asignados mediante DHCP. ddns-domainname "atenea.dom"; indica el dominio en el que se actualizan los DNS ddns-update-style interim; esta lnea indica el mtodo de actualizacin DNS automtica con los valores de la IP asignados por DHCP. Ms adelante veremos como hay que modificar las zonas en el fichero /etc/named.conf para permitir la actualizacin. option subnet-mask 255.255.255.0; definimos la mscara general de red que vamos a utilizar. option broadcast-address 192.168.1.255; definimos la direccin de difusin de la red. option routers 192.168.1.10; definimos el gateway de la red. option domain-name-servers 192.168.1.10; definimos la direccin del servidor DNS de la red. option domain-name "atenea.dom"; definimos el nombre del dominio DNS que se aade a los nombres de host. option netbios-name-servers 192.168.1.10; definimos ls direccin del servidor WINS para NetBios. subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.7 192.168.1.9; range 192.168.1.90 192.168.1.150; } y por ltimo definimos la red en la que queremos hacer asignaciones y los rangos de direcciones que puede asignar el servidor DHCP. Una vez vista la descripcin preliminar de la configuracin DHCP vamos a entrar en ms detalles. Podamos haber definido una descripcin de subred ms simple si slo tuviramos un rango de asignaciones: subnet 192.168.1.0 netmask 255.255.0.0 range 192.168.1.100 192.168.1.200;

Vemos otras opciones disponibles

fixed-address lista_direcciones_ip; define direcciones estticas para asignar a un host group comienza una declaracin de grupo. hardware tipo_hardware direccin; se utiliza para indicar el tipo de hardware, Ethernet o token ring. por ejemplo: hardware ethernet 00:50:b3:c5:60:05; host comienza una declaracin de host. Por ejemplo: host cli004 { hardware ethernet 00:50:b3:c5:60:23; fixed-address 192.168.1.122; } fixed-address direccin-ip; direccin fija para asignar a un host, como vemos en el ejemplo anterior. host-name nombre; nombre para asignar al host solicitado. max-lease-time segundos; Mximo tiempo de asignacin de la asignacin. Este parmetro lo podemos utilizar para evitar que los clientes tomen una direccin IP por tiempo indefinido. netbios-name-servers lista_IP; Lista de IP de servidores WINS. range ip-menor ip-mayor; el rango de direcciones que se asignarn en la correspondiente subred. routers lista_IP; Lista de IP de gateways. subnet comienza un declaracin de subred. subnet-mask mscara; mascara de red shared-network define una declaracin de subred compartida.

Ing. Eduardo A. Aparicio C.

Pgina 148

Algunas veces es necesario especificar opciones para cierto nmero de mquinas de la red sin tener que tratarlas como una subred separada. Por ejemplo, se puede definir una subred para un grupo de equipos y entonces aplicarle unas opciones especficas a esa subred. Esto significa que tendremos que especificarle todas las opciones de configuracin necesarias. Por ejemplo: shared-network 192.168.2.253 { subnet 192.168.2.0 netmask 255.255.255.0 { option routers 192.168.2.253; option subnet-mask 255.255.255.0; option broadcast-address 192.168.2.255; option domain-name-servers ns.atenea.dom, ns2.atenea.dom; pool { default-lease-time 400; max-lease-time 400; range 192.168.2.100 192.168.2.200; ddns-domainname "atenea.dom"; ddns-rev-domainname "in-addr.arpa"; } } } shared-network 192.168.3.253 { subnet 192.168.3.0 netmask 255.255.255.0 { option routers 192.168.3.253; option subnet-mask 255.255.255.0; option broadcast-address 192.168.3.255; option domain-name-servers ns.atenea.dom, ns2.atenea.dom; pool { default-lease-time 400; max-lease-time 400; range 192.168.3.100 192.168.3.200; ddns-domainname "atenea.dom"; ddns-rev-domainname "in-addr.arpa"; } } Ahora configuramos nuestro router, el cual debemos poner en su tabla de ruteo las direcciones IP.

Configuracin de los Interfaces

Desde el modo de configuracin podemos pasar a configurar los interfaces. Por ejemplo, para configurar un interface ethernet podemos hacer: Router# configure terminal Router(config)# interface eth0 Router(config-if)# ip address 200.12.10.3 255.255.255.0 Router(config-if)# no shutdown Router(config-if)# exit Router# El comando no shutdown es necesario para activar el interface. Por defecto, al arrancar el router todos los interfaces estn desactivados.

Encaminamiento Esttico
Ing. Eduardo A. Aparicio C. Pgina 149

A continuacin vemos un ejemplo de configuracin del encaminamiento esttico usando el comando iproute. Router(config)# iproute 20.10.0.0 255.255.0.0 200.12.10.2 La primera direccin es la direccin de red destino. A continuacin escribimos la mscara asociada a esa red. La tercera direccin corresponde a la del interfaz del router por donde se establece la ruta.

Configuracin de los Algoritmos de Encaminamiento


Router# configure terminal Router(config)# ip routing Router(config)# router rip Router(config-router)# network 200.12.10.0 Router(config-router)# network 10.0.0.0 Router(config-if)# ^Z Router#

Para configurar el algoritmo de encaminamiento RIP, los pasos a seguir son los siguientes:

Los comandos network indican los interfaces que van a enviar o procesar mensajes de RIP. Se debe indicar las direcciones de red sin usar subnetting. La versin de RIPv1 que implementan los routers de Cisco no soporta subnetting. Para ello se debe usar RIPv2. El uso de la versin 2 se indica despus del comando router rip, ejecutando versin 2. Podemos capturar los paquetes que se envan y reciben con el comando debugg IP RIP desde modo PRIVILEGED EXEC. Esta opcin consume muchos recursos del sistema, por lo que en operacin normal debera estar desactivado. Con el comando show ip route podemos observar la tabla de encaminamiento del router. En la informacin listada por el router, aparece indicado si la ruta se ha fijado de forma esttica o ha sido aprendida con RIP.

Interface Web

Se puede activar un interface web para la configuracin ejecutando el comando ip http server. Desde un browser hay que indicar la direccin del router, y hay que utilizar el password de acceso remoto. Ejemplo de un archivo de configuracin running-config Este ejemplo muestra el archivo running-config para un router 2501, con dos interfaces ethernet y una interfaz serie: Router# show running-config version 12.0 hostname router ! enable secret 5 $1$82gU$mleh/b6yIsfaX1NtRtzgm1 enable password pepe ! interface Ethernet0 ip address 219.17.100.1 255.255.255.0 interface Serial0 ip address 199.6.13.1 255.255.255.0 clockrate 56000 ! interface Serial1

Ing. Eduardo A. Aparicio C.

Pgina 150

ip address 201.100.11.2 255.255.255.0 ! ip host lab-b 219.17.100.1 199.6.13.1 201.100.11.2 ! router rip network 199.6.13.0 network 201.100.11.0 network 219.17.100.0 ! no ip classless line con 0 password std line aux 0 password std line vty 0 4 password std login end

Configuracin del Router Funcionamiento del Router


Cuando envas un email a alguien al otro lado del mundo, como sabe el mensaje llegar hasta ese punto y no a cualquiera de los otros millones de ordenadores conectados ?. Gran parte del trabajo de llevar un mensaje de un punto a otro es realizado por los routers. Router quiere decir enrutador, es decir, "buscador" del camino o ruta. A diferencia de una red local del tipo Ethernet (la ms habitual) en la que un mensaje de una persona a otra se transmite a todos los ordenadores de la red, y solo lo recoge el que se identifica como destinatarios, en Internet, el volumen es tan alto que sera imposible que cada ordenador recibiese la totalidad del trfico que se mueve para seleccionar sus mensajes, as que podramos decir que el router en vez de mover un mensaje entre todas las redes que componen Internet, solo mueve el mensaje entre las dos redes que estn involucradas, la del emisor y la del destinatario. Es decir, un router tiene dos misiones distintas aunque relacionadas. El router se asegura de que la informacin no va a donde no es necesario El router se asegura que la informacin si llegue al destinatario

El router unir las redes del emisor y el destinatario de una informacin determinada (email, pgina web,) y adems solo transmitir entre las mismas la informacin necesaria.

Transmisin de Paquetes

Cuando establecemos una conversacin telefnica, se crea una conexin directa entre el telfono origen y el telfono destino, si en el cable de la compaa de telfonos que va del origen al destino hay un problema, ser imposible establecer la llamada. El movimiento de informacin en Internet funciona de forma distinta, primero la informacin (emails, pgina web o lo que sea) de divide en pequeas unidades o "paquetes" (de unos 1.500 bytes por paquete). Cada paquete lleva informacin del origen, el destinatario y lugar de ese paquete en el total de la informacin transmitida (para que luego el mensaje pueda ser reconstruido correctamente) e informacin de como confirmar su llegada al destino. El router se encargar de analizar paquete por paquete el origen y el destino y buscar el camino ms corto de uno a otro. Esta forma de transmitir informacin tiene grandes ventajas, a destacar: El router es capaz de ver si una ruta no funciona y buscar una alternativa.

Ing. Eduardo A. Aparicio C.

Pgina 151

El router es capaz incluso de buscar la ruta ms rpida (por ejemplo la que tenga menos trfico) en caso de poder escoger entre varias posibilidades. Esto hace que Internet sea un sistema tan robusto para el envi de informacin. Para ver cuantos routers intervienen entre nosotros y por ejemplo, la Web de 34Telecom (donde se encuentra este documento) existe una sencilla herramienta que podemos utilizar. Sencillamente vamos a una ventana de DOS y tecleamos "tracert www.34t.com" y nos aparecer una lista de los routers que han intervenido para que podamos conectar con la web de www.34t.com. Tambin nos indicar el tiempo que ha tardado cada router en "pensar" el paso siguiente de la ruta a seguir. Tanto los routers medianos como los ms sofisticados permiten configurar que informacin deseamos que pueda entrar o salir de nuestro PC o red. En caso de que deseemos ampliar las posibilidades de control deberemos aadir un dispositivo llamado Firewall (cortafuegos).

Como funciona un Router?

La primera funcin de un router, la ms bsica, es, como ya hemos indicado, saber si el destinatario de un paquete de informacin est en nuestra propia red o en una remota. Para determinarlo, el router utiliza un mecanismo llamado "mscara de subred". La mscara de subred es parecida a una direccin IP (la identificacin nica de un ordenador en una red de ordenadores, algo as como su nombre y apellido) y determina a que grupo de ordenadores pertenece uno en concreto. Si la mscara de subred de un paquete de informacin enviado no se corresponde a la red de ordenadores de por ejemplo, nuestra oficina, el router determinar, lgicamente que el destino de ese paquete est en alguna otra red. A diferencia de un Hub o un switch del tipo layer 2, un router inspecciona cada paquete de informacin para tomar decisiones a la hora de encaminarlo a un lugar a otro. Un switch del tipo "layer 3" si tiene tambin esta funcionalidad. Cada PC conectado a una red (bien sea una local o a la red de redes - Internet-) tiene lo que llamamos una tarjeta de red. La tarjeta de red gestiona la entrada salida de informacin y tiene una identificacin propia llamada identificacin MAC. A esta identificacin MAC la podramos llamar identificacin fsica, sera como las coordenadas terrestres de nuestra casa. Es nica, real y exacta. A esta identificacin fsica le podemos asociar una identificacin lgica, la llamada IP. Siguiendo con el ejemplo de la casa, la identificacin fsica (MAC) serian sus coordenadas terrestres, y su identificacin lgica sera su direccin (Calle Pepe n3). La identificacin lgica podra cambiar con el tiempo (por ejemplo si cambian de nombre a la calle) pero la identificacin fsica no cambia. Pues bien, el router asocia las direcciones fsicas (MAC) a direcciones lgicas (IP). En comunicaciones informticas, una direccin fsica (Mac) puede tener varias direcciones lgicas (IP). Podemos conocer las direcciones Mac e IP de nuestro PC tecleando, desde una ventana de DOS, "winipcfg" (en Windows 98) o "ipconfig" (en Windows 2000 / XP). Una vez nos identificamos en internet por nuestras direcciones lgicas, los routers entre nosotros y otros puntos irn creando unas tablas que, por decirlo de algn modo localizan donde estamos. Es como si estamos en un cruce de carreteras, y vemos que los coches de Francia siempre vienen del desvo del norte, pues lo memorizamos, y cuando un coche nos pregunte como se va a Francia le

diremos que por el desvi del norte (espero que los entendidos me perdonen esta simplificacin).
Los routers crean unas tablas de como se suele ir a donde. Si hay un problema, el router prueba otra ruta y mira si el paquete llega al destino, si no es as, prueba otra, y si esta tiene xito, la almacena como posible ruta secundaria para cuando la primera (la ms rpida no funcione). Toda esta informacin de rutas se va actualizando miles de veces por segundo durante las 24 horas del da.

Caractersticas Tcnicas

Ing. Eduardo A. Aparicio C.

Pgina 152

Router MICROLINK ELSA isdn usb Router isdn con velocidad de 128kbps y conexin usb al pc rdsi Gateway Router BELKIN WireIess cable/dsl Router inalmbrico de 54Mbps con funciones de seguridad ms conmutador de cuatro puertos integrado. Router

Router BELKIN B5DEF035 Router inalmbrico + conmutador de 4 puertos integrado Router Router + usb LINKSYS 54 Router que incluye botn de seguridad, y un adaptador usb WiFi 54G Router Router/PTO acceso CONCEPTRONIC 54Mbps Router/mdem de banda ancha y velocidad a 54Mbps (compatible con 1Mbps) Router Router/MOD/PTO. acceso BELKIN 54MBPS Router/Mono/Puerto de acceso Belkin con 54 Mbps, puedes compartir tu adsl sin cables. Router

Router + ADAP. usb US ROBOTICS Wifi PACK Wireless KIt Wifi compuesto por un router de 54 Mbps compatible con 802.11g/b, cifrado WEP de 128 bit, firewall y soporta 253 usuarios, y un adaptador inalmbrico usb 2.0 Router Router Linksys Wireless-G con SpeedBooster (WRT54GS) Router inalmbrico con SpeedBooster que posee un punto de acceso para conectar dispositivos 802.11b/g a la red y un conmutador 10/100 dplex de 4 puertos Ethernet Router

Router-modem + usb LINKSYS 54 Router adsl que incluye botn de seguridad, y adaptador usb WiFi 54G Router

Router Wifi N1 BELKIN F5D8231EF4 Router Wifi N1, conctate a Internet, tecnologa 802.11 N1, mxima cobertura y velocidad Router

Ing. Eduardo A. Aparicio C.

Pgina 153

LINKSYS Router Wifi + adaptador usb Router para compartir Internet, conmutador Gigabit de 4 puertos y punto de acceso inalmbrico + Adaptador usb con tecnologa MIMO, que optimiza el alcance de la red inalmbrica. Router

LINKSYS Router 3G 54 MBPS Lynksys router 3G MBPS con una velocidad de transferencia de datos 54 Mbps. Router

Cisco Router 801 1X10 1rdsi Los router de la serie Cisco 800 amplan la potencia de la tecnologa Cisco IOS a las oficinas pequeas y a los tele trabajadores Router Router inalambrico D-link DI-524UP 54MBPS+swicht 4 PT+print server Router inalmbrico de 54Mbps multifuncional que incorpora cuatro puertos de switch 10/100, un firewall integrado y un servidor de impresin usb Router

Router firewall LINKSYS ETHERFAST cable/dsl Router 4RJ45+1RJ45 WAN (Firewall+VPN) Router Router adsl2+usb 54MBPS inalambrico D-link dsl-924 Conjunto de Router adsl 2 inalmbrico con proteccin de firewall y cuatro puertos switch, y adaptador inalmbrico usb a 54Mbps compatible con 802.11b/g a 2.4Ghz Router Router inalambrico D-link DI-624 108MBPS+swicht 4 PT 10/100mbps Router inalmbrico que opera bajo el estndar 802.11g llegando a alcanzar velocidades de 108Mbps. Posee un switch de 4 puertos 10/100Mbps, y funciones de firewall (DMZ, VPN..) Router

Router Wireless MAXg USRobotics USR5461 Este router, dotado de la exclusiva tecnologa MAXg, ofrece un alcance un 50% superior a la norma 802.11g, lo que se traduce en una completa cobertura Router

Ing. Eduardo A. Aparicio C.

Pgina 154

Router inalmbrico BELKIN F5D8631EF4A Belkin N1 Wireless Modem Router - Enrutador inalmbrico + conmutador de 4 puertos - dsl - EN, Fast EN, 802.11b, 802.11g, 802.11n (draft) Router Router 3COM 3013 Router Router Wifi PHILIPS 54 MBPS Router Router CONCEPTRONIC + punto de acceso N Router

Router inalambrico N1 BELKIN Router inalambrico Belkin. Solucin rpida y eficiente para los usuarios que distribuyen archivos multimedia entre los ordenadores conectados en red de su casa. Router Router Wireless-N HOME LINKSYS WRT150N Router para compartir Internet, conmutador 10/100 de 4 puertos y punto de acceso inalmbrico incorporado con mayor velocidad y alcance Router

Router wireless-N GIGABIT LINKSYS WRT350N Router para compartir Internet, conmutador Gigabit de 4 puertos y punto de acceso inalmbrico incorporado con mejora de velocidad y alcance Router Router PLANET WRT-416 El PLANET WRT-416 es un router inalmbrico 802.11g que soporta alta velocidad de red inalmbrica para el hogar o usuarios SOHO Router

Router PLANET WNRT-620 El PLANET WNRT-620 es la siguiente generacin de router, con un mdulo inalmbrico Pre-N del punto de acceso (AP). Router

Ing. Eduardo A. Aparicio C.

Pgina 155

Router PLANET ADW-4302A ADW-4302v2 proporciona soporte para el servidor dhcp, servidor virtual, soporte DMZ, VPN IPSec y pptp conectividad, pptp / IPSec pasar a travs de... Router

Router PLANET WNRT-610 El PLANET WNRT-610 es la siguiente generacin de router con un mdulo inalmbrico Pre-N del punto de acceso (AP) Router

Firewall router PLANET VRT-401 El PLANET-401G es un firewall router VPN Wireless 802.11g que se ha diseado para compartir la conexin a Internet del usuario LAN y WLAN al mismo tiempo Router Router firewall PLANET MH-1000 PLANET MH-1000 Multi-Homing es un Gateway de Seguridad, se integra con tecnologa de punta Routers

Router firewall PLANET SG-500 El nuevo modelo de Planet's VPN Gateway de Seguridad SG-500, diseado como una puerta de enlace VPN de seguridad, proporciona SSL y IPSec a las VPN Router

Router firewall PLANET CS-1000 Gateway de Seguridad de Planet, CS-1000, est especialmente diseado para la proteccin de la seguridad y adopta Anlisis Heurstico para filtrar el spam y los virus de correo Router Router firewall PLANET CS-2000 El nuevo modelo, PLANET UTM Seguridad de contenido Gateway CS-2000, diseado como una especial pasarela de seguridad, adopta Anlisis Heurstico para filtrar spam y virus de correo Router

Router CONCEPTRONIC C100BRS4H Con este router de banda ancha se pueden conectar ms ordenadores a una conexin de internet de banda ancha (xdsl/Cable). Router

Ing. Eduardo A. Aparicio C.

Pgina 156

Router ZOOM X5v 5565 Router

Router NETGEAR N El Router firewall utiliza la tecnologa RangeMax NEXT que optimiza en un 50% las prestaciones de su red inalmbrica Router

Router modem BELKIN N1 wireless Router

Router 3COM 3012 Router

Configuracin bsica

Siga estos pasos para conectar el router a la fuente de alimentacin, a la red local y a la red del proveedor de servicios:

1 Cable Ethernet 2 Cable Ethernet 3 Puerto de consola

4 Cable ADSL 5 Cable de alimentacin 6 Accesorio de sujecin del cable de alimentacin

Pas 1 Si va a conectar ms de cuatro PC al router, conctelo a un switch o hub con un cable amarillo Ethernet, como se muestra en la Figura 6-3. Pas 2 Para conectar un PC directamente al router, haga lo que se indica en la Figura 6-3. Apague el PC para que obtenga una direccin IP del router al encenderlo. Puede conectar otros PC a los dems puertos Ethernet numerados.

Ing. Eduardo A. Aparicio C.

Pgina 157

Paso 3 El puerto de consola es un puerto de servicio en el que se puede conectar un terminal o un PC para configurar el software a travs de la interfaz de lnea de comandos (CLI) o para solucionar posibles problemas en el router. Si quiere tener acceso a la consola del router, conecte un PC o terminal al puerto de consola del router. Nota Al conectar el puerto de consola a un mdem asncrono por medio del cable opcional de mdem para routers, puede aportar al router acceso telefnico y gestin remota. Paso 4 Conecte el puerto ADSL del router a la clavija de telfono (Punto de Terminacin de Red PTR) con el cable azul violeta de ADSL. Si tambin se utiliza la lnea de ADSL para comunicacin de voz, puede evitar la interrupcin de la comunicacin de datos conectando el router a un splitter ADSL o instalando micro filtros entre los equipos de telfono o fax y la toma de lnea. Paso 5 Conecte la alimentacin al router como se muestra en la Figura 6-3 y encienda el router. Asegrese de utilizar la fuente de alimentacin incluida con el router. Otras fuentes de alimentacin Cisco no se conectan al router. La configuracin del router es un aparte fundamental del proceso de conseguir buenas velocidades con los programas p2p. Los routers tienen 2 tipos de configuracin: Mono puesto: es la configuracin para un nico ordenador, el router no filtra las conexiones. No requiere configuracin ni apertura de puertos, pero apenas ofrece seguridad.

Multipuesto: permite conectar varios ordenadores. El router funciona como una terminal, la
informacin de internet llega al router y este la distribuye a travs de los clientes (cada ordenador conectado).

El problema surge en las configuraciones de multipuesto. El router ha de saber a que ordenador mandar cada conexin; a esto se le llama redireccin de IPs pblicas en la red privada. Adems, muchos routers llevan Firewalls integrados que cortan las conexiones de programas p2p, por lo que debemos habilitar los puertos necesarios para estas conexiones. Lo ms normal es abrir uno o varios puertos del router y redirigirlos a una IP en la red privada.

Configurar el Pc

Lo primero ser configurar el ordenador para que tenga siempre la misma IP dentro de nuestra red privada. No tiene nada que ver con que tengas contratada una IP fija o dinmica, eso se refiere a vuestra IP Pblica, aqu vamos a configurar el PC para que dentro de vuestra red local siempre tenga la misma direccin:

Inicio>Ejecutar y teclear "cmd". En la venta que sale escribe "ipconfig" y dale a enter. No
cierres esta ventana.

Inicio > Panel de Control > Conexiones de red . Aqu vamos a hacer botn derecho en
Ahora has de marcar "Usar la siguiente direccin IP" y rellenas los campos con la informacin que nos pone el ipconfig (la ventana de MS-DOS). En las DNS, en la primera escribe la puerta de enlace y deja la segunda vaca. Esto har que nuestro ordenador le solicite al router las DNS directamente desde nuestro proveedor.

nuestra conexin y damos a Propiedades. Despus seleccionamos "Protocolo TCP/IP" y damos a propiedades justo debajo a la derecha.

Ok pues con esto hemos conseguido que nuestro ordenador tenga siempre la misma direccin dentro de nuestra red. Apuntad esta Direccin IP, pues cuando abramos los puertos del router habr que decir que los redirija a esta.

Configurar el Router
Ing. Eduardo A. Aparicio C. Pgina 158

No podemos daros un truco fundamental para todo router ya que cada uno se configura de una forma pero si hay unos pasos generales:

1. Lo primero es entrar en el router. Para ello, abre una ventana de Internet Explorer y pon la
direccin de la puerta de enlace, que ser del tipo: x.x.x.x. Si no la sabes, tienes que ir a Inicio>Ejecutar y teclear "cmd". En la venta que sale escribe "ipconfig" y dale a enter. La puerta de enlace es el ltimo valor. 2. Lo normal es que te pida contrasea, pon la que hayas puesto t, la que te dijo tu proveedor que tena el router (viene en los papeles que te dieron cuando te dieron el router) o sino, prueba con las predefinidas: admin 1234

3. Dentro del router, has de abrir los puertos. Para ello tendrs que poner el puerto que

quieres abrir (y si es TCP o UDP) y a que IP privada quieres redirigirlos. El puerto es el que configures en vuestro programa p2p. En cuanto a la IP privada, es la que pusimos en el apartado anterior ("Configurar el PC"). Lo ms normal es buscar una opcin que se llame NAT o Ports.

Si necesitas ayuda porque no encuentras donde abrir los puertos o como redirigirlos en vuestro tipo de router, os recomendamos especialmente que uses estas 2 webs, tiene un montn de manuales muy tiles para configurar routers:

www.adslzone.net : tienes que bajar abajo en la pgina, a la izquierda tienes una lista de los
modelos de router ms populares del mercado. de los modelos ms comunes.

www.adslayuda.com : igual que en el caso anterior, a la izquierda de la pgina tienes una lista

Actualizacin del IOS


Para Actualizarle la IOS a un router Cisco, necesitas tener un programa Cliente TFTP como el Cisco TFTP Server instalado en el ordenador. Una vez hecho esto, abrimos en el ordenador el programa Cisco TFTP Server; lo configuramos para que en la opcin TFTP Server root Directory = (Directorio donde est el archivo flash). Una vez configurado el programa Cisco TFTP Server, accedemos al router mediante telnet o hyperterminal: Para TELNET: --> Inicio --> Ejecutar --> Telnet (IP Privada del Router) Conectar el Router al Ordenador con un cable de red (Necesario para transferir la flash mediante el TFTP) Para HYPERTERMINAL: --> Inicio --> Programas --Accesorios --> Hyperterminal Conectar el Router al computador con un cable de red (Necesario para transferir la flash mediante el TFTP) Conectarse al Router con el Hyperterminal usando esta configuracin: - Protocol: Serial - Port: Com1 - Baud Rates: 9600 - Data Bits: 8 - Parity: None - Stop Bits: 1 - Flow Control: None Es recomendable siempre hacer una copia de seguridad de la IOS que tenemos en el Router ya

Ing. Eduardo A. Aparicio C.

Pgina 159

que sabemos a ciencia cierta que esta nos funciona. Recordemos que un Router Cisco es ampliable en cuestin de memoria, y que no todas las IOS que nos encontremos para este Router nos van a servir, ya que en muchos casos no dispondremos de recursos suficientes en el Router para iniciarlas. A continuacin describo los pasos a seguir para guardar la IOS del Router a un archivo: Teniendo el Cisco TFTP Server abierto y configurado, indicando el directorio donde queremos guardar la IOS, y la consola del Router abierta, escribimos en consola: Router> enable Router# copy flash tftp Source Filename []? (nombre del archivo IOS) Address or name of remote host []? (IP del Router) Destination Filename []? (nombre del archivo IOS) !!!!!!!!!!! 3802992 bytes copied in 27.276 secs (140851 bytes/sec) Teniendo el Cisco TFTP Server abierto y configurado, indicando el directorio donde se encuentra la nueva IOS, y la consola del Router abierta, escribimos en consola: Router> enable Router# copy tftp flash Address or name of remote host []? (IP del ordenador que tiene el TFTP) Source Filename []? (nombre del archivo IOS) Destination Filename []? (nombre del archivo IOS) Warning:There is a file already existing with this name Do you want to over write? [confirm] Accessing tftp://xxx.xxx.xxx.xxx/c827v-y6-mz.121-1.XB... Erase flash: before copying? [confirm] Erasing the flash filesystem will remove all files! Continue? [confirm] Erasing device......erased Erase of flash: complete Loading c827v-y6-mz.121-1.XB from 10.1.1.1 (via Ethernet) !!! [OK - 3802992/7605248 bytes] Verifying checksum... OK (0x1ABC) 3802992 bytes copied in 58.236 secs (65568 bytes/sec) Router# Una vez llegados a este punto reiniciamos el Router para cargar la nueva IOS: Router# reload Una vez reiniciado el Router, podemos comprobar la versin instalada con el siguiente comando: Router> show versin Y listo, tenemos nuestro Router Actualizado. Si por algn motivo nos diera error al reiniciar el Router, y no se cargase la configuracin, tendramos realizar los pasos indicados en la seccin siguiente, utilizando la IOS anterior.

Ing. Eduardo A. Aparicio C.

Pgina 160

Instalar el Servidor tftp en un ordenador. Instalar el CTR (Emulador de HyperTerminal). Conectar el Router al Ordenador con un cable de red (Necesario para transferir la FLASH mediante el TFTP) Conectarse al Router con el CTR a travs de serial usando esta configuracin: - Protocol: Serial - Port: Com1 - Baud Rates: 9600 - Data Bits: 8 - Parity: None - Stop Bits: 1 - Flow Control: None Una vez dentro, si tenemos que detener la carga de la flash, ejecutamos la combinacin de teclas [Control] + [Pause] en los primeros segundos, para entrar en modo: Rommon 1> En este modo tecleamos en pantalla Rommon 1>tftpdnld [Enter] Aparecern las siguientes lneas: Missing or illegal ip address for variable IP_ADDRESS Illegal IP address. usage: tftpdnld [-ur] Use this command for disaster recovery only to recover an image via TFTP. Monitor variables are used to set up parameters for the transfer. (Syntax: "VARIABLE_NAME=value" and use "set" to show current variables.) "ctrl-c" or "break" stops the transfer before flash erase begins. The following variables are REQUIRED to be set for tftpdnld: IP_ADDRESS: The IP address for this unit IP_SUBNET_MASK: The subnet mask for this unit DEFAULT_GATEWAY: The default gateway for this unit TFTP_SERVER: The IP address of the server to fetch from TFTP_FILE: The filename to fetch The following variables are OPTIONAL: TFTP_VERBOSE: Print setting. 0=quiet, 1=progress(default), 2=verbose TFTP_RETRY_COUNT: Retry count for ARP and TFTP (default=7) TFTP_TIMEOUT: Overall timeout of operation in seconds (default=7200) TFTP_CHECKSUM: Perform checksum test on image, 0=no, 1=yes (default=1) Command line options: -r: do not write flash, load to DRAM only and launch image -u: upgrade the rommon, system will reboot once upgrade is complete Para hacer posible la descarga del archivo al Router, tendremos que introducir los comandos de la lista sustituyendo los datos por los pertenecientes a nuestro sistema: IP_ADDRESS=(La IP del Router) IP_SUBNET_MASK=(La Mscara de Subred de la Red)

Ing. Eduardo A. Aparicio C.

Pgina 161

DEFAULT_GATEWAY=(La IP del Router) TFTP_SERVER=(La IP del ordenador que contiene el archivo) TFTP_FILE=(El Nombre del Archivo que queremos flashear al Router) Una vez hecho esto, abrimos en el computador el programa Cisco TFTP Server; lo configuramos para que en la opcin TFTP Server root Directory=(Directorio donde est el archivo Flash). Una vez hecho todo esto, escribimos en la consola del CRT: Rommon 10>tftdnld [Enter] Aceptamos las opciones que nos vayan apareciendo, y listo; el Router queda programado con la nueva Flash. Solo hay que reiniciarlo y listo.

Configuracin de Direccionamiento y Enrutamiento IP

Quizs los aspectos ms complejos de IP son el direccionamiento y el enrutamiento. El direccionamiento se refiere a la forma como se asigna una direccin IP y como se dividen y se agrupan subredes de equipos. El enrutamiento consiste en encontrar un camino que conecte una red con otra y aunque es llevado a cabo por todos los equipos, es realizado principalmente por enrutadores que no son ms que computadores especializados en recibir y enviar paquetes por diferentes interfaces de red, as como proporcionar opciones de seguridad, redundancia de caminos y eficiencia en la utilizacin de los recursos. Siga este vnculo para encontrar 4 documentos que lo introducirn a este tema con la profundidad necesaria para comprenderlo.

Direccin IP

Una direccin IP es un nmero que identifica de manera lgica y jerrquicamente a una interfaz de un dispositivo (habitualmente una computadora) dentro de una red que utilice el protocolo de Internet (Internet Protocol), que corresponde al nivel de red o nivel 3 del modelo de referencia OSI. Dicho nmero no se ha de confundir con la direccin MAC que es un nmero fsico que es asignado a la tarjeta o dispositivo de red (viene impuesta por el fabricante), mientras que la direccin IP se puede cambiar. Es habitual que un usuario que se conecta desde su hogar a Internet utilice una direccin IP. Esta direccin puede cambiar al reconectar; y a esta forma de asignacin de direccin IP se denomina una direccin IP dinmica (normalmente se abrevia como IP dinmica). Los sitios de Internet que por su naturaleza necesitan estar permanentemente conectados, generalmente tienen una direccin IP fija (se aplica la misma reduccin por IP fija o IP esttica), es decir, no cambia con el tiempo. Los servidores de correo, dns, ftp pblicos, servidores web necesariamente deben contar con una direccin IP fija o esttica, ya que de esta forma se facilita su ubicacin. Las mquinas tienen una gran facilidad para manipular y jerarquizar la informacin numrica, y son altamente eficientes para hacerlo y ubicar direcciones IP, sin embargo, los seres humanos debemos utilizar otra notacin ms fcil de recordar y utilizar, tal es el caso URLs y resolucin de nombres de dominio DNS. Existe un protocolo para asignar direcciones IP dinmicas llamado DHCP (Dynamic Host Configuration Protocol).

Enrutamiento

En comunicaciones, el encaminamiento (a veces conocido por el anglicismo ruteo o enrutamiento) es el mecanismo por el que en una red los paquetes de informacin se hacen llegar desde su origen a su destino final, siguiendo un camino o ruta a travs de la red. En una red grande o en un conjunto de redes interconectadas el camino a seguir hasta llegar al destino final puede suponer transitar por muchos nodos intermedios. Asociado al encaminamiento existe el concepto de mtrica, que es una medida de lo "bueno" que es usar un camino determinado. La

Ing. Eduardo A. Aparicio C.

Pgina 162

mtrica puede estar asociada a distintas magnitudes: distancia, coste, retardo de transmisin, nmero de saltos, etc., o incluso a una combinacin de varias magnitudes. Si la mtrica es el retardo, es mejor un camino cuyo retardo total sea menor que el de otro. Lo ideal en una red es conseguir el encaminamiento ptimo: tener caminos de distancia (o coste, o retardo, o la magnitud que sea, segn la mtrica) mnimos. Tpicamente el encaminamiento es una funcin implantada en la capa 3(capa de red) del modelo de referencia OSI. Enrutamiento IP para configurar en la LAN y enlaces con la RDSI. Siga este procedimiento para configurar enrutamiento IP. Nota: Todos los parmetros de configuracin en Advanced Setup se describen en ayuda en lnea. Para acceder a la ayuda de un parmetro, haga clic en el parmetro y pulse la tecla F1> ayuda.

1. Introduzca los protocolos opcin de Advanced Setup. Servicios enrutamiento IP se activan

de manera predeterminada. Si necesita habilitar o inhabilitar IP enrutamiento, haga clic en la casilla de verificacin enrutamiento IP en los protocolos pantalla. Enrutamiento IP est habilitado si la casilla de verificacin est marcado con un asterisco [*] y inhabilitada si la casilla de verificacin est vaco []. 2. Seleccione IP en los protocolos pantalla. 3. Utilice Agregar para agregar enrutamiento IP ISDN a una red local o un vnculo o la configuracin para editar la configuracin de enrutamiento IP para un enlace existente. La pantalla IP para el enlace LAN es como se muestra a continuacin. Parmetros de protocolo el enrutamiento debe definirse en la versin correspondiente de RIP en uso de la LAN. Cuatro diferentes redes IP se permite en una LAN Ethernet y la router, se pueden comunicar entre las cuatro redes IP si es necesario. Enrutamiento multidifusin slo se debe activarse si se requiere Multidifusiones IP en las aplicaciones de la LAN. Los parmetros de la pantalla IP Link para enlaces con la RDSI
Parmetro Protocolo enrutamiento Utilice Define el enrutamiento para utilizarse en el protocolo link (RIP-1 o RIP-2) o si se va a utilizar enrutamiento. El enrutamiento protocol (RIP-1 o RIP-2) o esttica enrutamiento debe ser la misma en los routers sobre el vnculo. En caso de que ninguna/esttico est seleccionada, esttico rutas debe ser establecido para el control remoto redes. Este parmetro permite el uso de activa encima del enlace RIP a fin de reducir el ancho de enrutamiento RIP retrasos fijos. Si el enlace est un a peticin ISDN un enlace, el uso de activa se recomienda RIP. Debe estar activado RIP activa en ambas routers encima del enlace IP o encima del enlace enrutamiento no funciona correctamente. Enrutamiento multidifusin slo se debe activarse si se requiere Multidifusiones IP en el enlace y slo se debe activarse si el router encima del enlace multidifusin admite IP mediante la distancia enrutamiento enrutamiento multidifusin de vectores Protocol (DVMRP). Un numerados del enlace (donde se asigna una direccin IP a la vnculo del router) a veces es requerido para una conexin a un proveedor de servicios de Internet (ISP). Y una direccin IP exclusiva mscara de red para el enlace deben ser introducidos cuando se utilice un numerados del enlace. Algunos proveedores de servicios de Internet (ISP) dinmicamente asignar una direccin IP a los dispositivos de conexin de llamada. Seleccione Direccin IP dinmica si se requiere de un ISP conexin. Pngase en contacto con su ISP si no sabe con certeza si IP dinmicas es necesario direccionamiento

RIP activa

Enrutamiento Multitransmisin

Numerada

Direccin IP dinmica

que deben ser configurados son los siguientes:

Ing. Eduardo A. Aparicio C.

Pgina 163

Implementacin de VLAN

Las LANs virtuales (VLANs) son agrupaciones, definidas por software, de estaciones LAN que se comunican entre s como si estuvieran conectadas al mismo cable, incluso estando situadas en segmentos diferentes de una red de edificio o de campus. Es decir, la red virtual es la tecnologa que permite separar la visin lgica de la red de su estructura fsica mediante el soporte de comunidades de intereses, con definicin lgica, para la colaboracin en sistemas informticos de redes. Este concepto, fcilmente asimilable a grandes trazos implica en la prctica, sin embargo, todo un complejo conjunto de cuestiones tecnolgicas. Quizs, por ello, los fabricantes de conmutacin LAN se estn introduciendo en este nuevo mundo a travs de caminos diferentes, complicando an ms su divulgacin entre los usuarios. Adems, la red virtual simplifica el problema de administrar los movimientos, adiciones y cambios del usuario dentro de la empresa. Por ejemplo, si un departamento se desplaza a un edificio a travs del campus, este cambio fsico ser transparente gracias a la visin lgica de la red virtual. Asimismo, se reduce notablemente el tiempo y los datos asociados con los movimientos fsicos, permitiendo que la red mantenga su estructura lgica al coste de unas pocas pulsaciones del ratn del administrador de la red. Puesto que todos los cambios se realizan bajo control de software, los centros de cableado permanecen seguros y a salvo de interrupciones. Por la razn de que hay varias formas en que se puede definir una VLAN, se dividen stas en cuatro tipos principales: basadas en puertos, basadas en MAC, VLANs de capa 3 y basada en reglas (policy based). En la figura 1 se pueden observar los elementos de la implementacin de una VLAN, y en la capa 2 se encuentran los cuatro tipos posibles en que puede ser definida.

Elementos de Implementacin de una VLAN Vlan basadas en puertos (membership by port group)
Segn este esquema, la vlan consiste en una agrupacin de puertos fsicos que puede tener lugar sobre un conmutador o tambin, en algunos casos, sobre varios conmutadores. La asignacin de los equipos a la VLAN se hace en base a los puertos a los que estn conectados fsicamente. Muchas de las primeras implementaciones de las vlans definan la pertenencia a la red virtual por

Ing. Eduardo A. Aparicio C.

Pgina 164

grupos de puertos (por ejemplo, los puertos 1,2,3,7 y 8 sobre un conmutador forman la VLAN A, mientras que los puertos 4,5 y 6 forman la VLAN B). Adems, en la mayora, las VLANs podan ser construidas sobre un nico conmutador. La segunda generacin de implementaciones de VLANs basadas en puertos contempla la aparicin de mltiples conmutadores ( por ejemplo, los puertos 1 y 2 del conmutador 1 y los puertos 4,5,6 y 7 del conmutador 2 forman la VLAN A; mientras que los puertos 3,4,5,6,7 y 8 del conmutador 1 combinados con los puertos 1,2,3 y 8 del conmutador 2 configuran la VLAN B). Este esquema es el descrito por la figura 3. La agrupacin por puertos es todava el mtodo ms comn de definir la pertenencia a una VLAN, y su configuracin es bastante directa. El definir una red virtual completamente basada en puertos no permite a mltiples VLANs el incluir el mismo segmento fsico (o conmutador). De todos modos, la principal limitacin de definir VLANs por puertos es que el administrador de la red ha de reconfigurar la VLAN cada vez que un usuario se mueve de un puerto a otro.

Lista de Acceso

Los routers Cisco proporcionan varios mtodos de seleccin de trfico. En el presente artculo exploraremos las posibilidades de las listas de acceso. Las listas de acceso son conjuntos de reglas que indican al router como seleccionar paquetes. Una vez seleccionados los paquetes pueden ser tratados de diversas formas. Uno de los usos ms extendidos de las listas de acceso es el de controlar el flujo de trfico entrante y saliente de un router. El presente artculo se divide en dos bloques: una exposicin terica de las listas de acceso (estructura, tipos, formacin de las condiciones que las conforman) y una serie de ejemplos prcticos que aclararn rpidamente todos los conceptos establecidos en la primera parte.

Estructura Bsica

Las reglas que componen las listas de acceso tienen tres partes: un nmero que identifica la lista, una instruccin deny o permit y una condicin access-list nmero_identificador [permit|deny] condicin El nmero utilizado para identificar una lista concreta debe ser seleccionado de un rango numrico acorde con el uso concreto de la lista. En la Tabla 1 vemos los principales tipos de listas disponibles. En este artculo nos centraremos especialmente en las listas IP, en sus formas Estndar y Extendida.

Ing. Eduardo A. Aparicio C.

Pgina 165

Numeracin de las listas de acceso. Protocolo IP IP Ethernet DECnet Appletalk Ethernet IPX IPX IPX Tipo Estndar Extendidas Cdigo (Type) Protocol Suite Protocol Suite Direcciones Estndar Extendida SAP Rango Filtra por 1-99 y 1300-1999 el origen 100-199 y 2000-2699 el origen, destino, protocolo, puerto... 200-299 el tipo de cdigo Ethernet 300-399 el origen 600-699 el origen 799-799 la direccin MAC 800-899 el origen 900-999 el origen, destino, protocolo, puerto... tipo de aplicacin (SAP, Service Access 1000-1099 Point)

Protocolo IGRP

El protocolo IGRP es un protocolo interno IGP pero tambin se puede utilizar como protocolo externo. IGRP asigna el nmero de routers para coordinar su routing. Las metas del IGRP son las siguientes: Routing estable, ya que no produce bucles. Rpida respuesta a cambios de la topologa de la red. No usa mas ancho de banda del que ocupa, pequeo overheah.

Reparte el trfico entre rutas paralelas. Toma en cuenta la tasa de errores y el nivel de trfico de diferentes caminos.
Tiene capacidad de manejar diferentes "Tipos de Servicios" con un conjunto simple de informacin. IGRP puede manejar diferentes tipos de protocolos, aunque en la actualidad esta montado sobre TCP/IP. La mtrica que utiliza IGRP se compone de los siguientes aspectos: El retardo de la topologa (topological delay time) El ancho de banda ( bandwidth of the narrowest bandwidth segment of the path ) La ocupacin de la lnea ( channel occupancy of the path ) La fiabilidad ( reliability of the path )

Protocolo OSPF(Open shortest path first, El camino ms corto primero)


OSPF se usa, como RIP, en la parte interna de las redes, su forma de funcionar es bastante sencilla. Cada router conoce los routers cercanos y las direcciones que posee cada router de los cercanos. Adems de esto cada router sabe a que distancia (medida en routers) est cada router. As cuando tiene que enviar un paquete lo enva por la ruta por la que tenga que dar menos saltos. As por ejemplo un router que tenga tres conexiones a red, una a una red local en la que hay puesto de trabajo, otra (A) una red rpida frame relay de 48Mbps y una lnea (B) RDSI de 64Kbps. Desde la red local va un paquete a W que esta por A a tres saltos y por B a dos saltos. El paquete ira por B sin tener en cuenta la saturacin de la lnea o el ancho de banda de la lnea. La O de OSPF viene de abierto, en este caso significa que los algoritmos que usa son de disposicin pblica.

Ing. Eduardo A. Aparicio C.

Pgina 166

Protocolo PPP

Protocolos y Servicios Adicionales

El protocolo PPP esta descrito en los RFC 1661 a 1663. Es el estndar usado en Internet para conexiones de un nodo aislado (por ejemplo una computadora en el hogar) hacia un servidor en Internet (por ejemplo, un servidor de terminales de una LAN en Internet). PPP provee los siguientes servicios: Un mtodo de enmarcado que delimita sin ambigedad los lmites de los marcos. El formato de los marcos contempla una cadena de chequeo que permite la deteccin de errores. Un protocolo LCP (Link Control Protocol) para levantar, probar, negociar y eliminar los enlaces apropiadamente. Un mecanismo (Network Control Procolo) para negociar opciones con la capa de red que permite soportar varios protocolos de capa de red. El formato de marco de PPP se escogi de modo que fuera muy parecido al formato de marco de HDLC, ya que no haba razn para reinventarla rueda. La diferencia principal entre PPP y HDLC es que el primero est orientado a caracteres. PPP, al igual que SLIP, usa el relleno de caracteres en las lneas por discado con mdem, por lo que todos los marcos tienen un nmero entero de bytes

Protocolo ISDN

Se define rdsi (red digital de servicios integrados, en ingles isdn) como una evolucin de las redes actuales que presta conexiones extremo a extremo a nivel digital y Capas de ofertar diferentes servicios. Decimos servicios integrados por que utiliza las mismas infraestructuras para muchos servicios que tradicionalmente requieren interfaces distintas (telex, voz, comunicacin de circuitos, comunicacin de paquetes.). La configuracin de referencia. Ver figura 3, esta definida por agrupaciones funcionales, equipos con una funcin concreta, y puntos de referencia o interfaces, puntos concretos en donde la RDSI presenta caractersticas de transmisin o conmutacin determinadas.

Ing. Eduardo A. Aparicio C.

Pgina 167

Protocolo VoIP

Voz sobre IP (VoIP) define los sistemas de enrutamiento y los protocolos necesarios para la transmisin de conversaciones de voz a travs de Internet, la cual es una red de conmutacin de paquetes basado en el protocolo tcp/ip para el envo de informacin. Actualmente existen, principalmente, dos arquitecturas de VoIP para la transmisin de voz por Internet que se utilizan de forma abundante.

Funcionalidad

Voz IP puede facilitar tareas que seran ms difciles de realizar usando las redes telefnicas comunes: Las llamadas telefnicas locales pueden ser automticamente enrutadas a tu telfono VoIP, sin importar en donde ests conectado a la red. Lleva contigo tu telfono VoIP en un viaje, y donde quiera que ests conectado a internet, podrs recibir llamadas. Nmeros telefnicos gratuitos para usar con VoIP estn disponibles en Estados Unidos de Amrica, Reino Unido y otros pases de organizaciones como Usuario VoIP. Los agentes de Call center usando telfonos VoIP pueden trabajar en cualquier lugar con conexin a Internet lo suficientemente rpida. Algunos paquetes de VoIP incluyen los servicios extra por los que PSTN (Red Telefnica Conmutada) normalmente cobra un cargo extra, o que no se encuentran disponibles en algunos pases, como son las llamadas de 3 a la vez, retorno de llamada, remarcacin automtica, o identificacin de llamadas.

Protocolo MPLS
MPLS (Multi-Protocol Label Switching) es una red privada IP que combina la flexibilidad de las comunicaciones punto a punto o Internet y la fiabilidad, calidad y seguridad de los servicios Prvate Line, Frame Relay o ATM. Ofrece niveles de rendimiento diferenciados y priorizacin del trfico, as como aplicaciones de voz y multimedia. Y todo ello en una nica red. Contamos con distintas soluciones, una completamente gestionada que incluye el suministro y la gestin de los equipos en sus instalaciones (CPE). O bien, que sea usted quien los gestione. MPLS (Multiprotocol Label Switching) intenta conseguir las ventajas de ATM, pero sin sus inconvenientes

Ing. Eduardo A. Aparicio C.

Pgina 168

Asigna a los datagramas de cada flujo una etiqueta nica que permite una conmutacin rpida en los routers intermedios (solo se mira la etiqueta, no la direccin de destino) Las principales aplicaciones de MPLS son: Funciones de ingeniera de trfico (a los flujos de cada usuario se les asocia una etiqueta diferente) Policy Routing Servicios de VPN Servicios que requieren QoS MPLS se basa en el etiquetado de los paquetes en base a criterios de prioridad y/o calidad (QoS). La idea de MPLS es realizar la conmutacin de los paquetes o datagramas en funcin de las etiquetas aadidas en capa 2 y etiquetar dichos paquetes segn la clasificacin establecida por la QoS en la SLA. Por tanto MPLS es una tecnologa que permite ofrecer QoS, independientemente de la red sobre la que se implemente. El etiquetado en capa 2 permite ofrecer servicio multiprotocolo y ser portable sobre multitud de tecnologas de capa de enlace: ATM, Frame Relay, lneas dedicadas, LANs.

Orgenes de MPLS

Para poder crear los circuitos virtuales como en ATM, se pens en la utilizacin de etiquetas aadidas a los paquetes. Estas etiquetas definen el circuito virtual por toda la red. Estos circuitos virtuales estn asociados con una QoS determinada, segn el SLA. Inicialmente se plantearon dos mtodos diferentes de etiquetamiento, o en capa 3 o en capa 2. La opcin de capa 2 es ms interesante, porque es independiente de la capa de red o capa 3 y adems permite una conmutacin ms rpida, dado que la cabecera de capa 2 est antes de capa 3.

Arquitectura

Ing. Eduardo A. Aparicio C.

Pgina 169

Servidor DHCP

DHCP (Dynamic Host Configuration Protocol) son las siglas que identifican a un protocolo empleado para que los clientes, en una red puedan obtener su configuracin de forma dinmica a travs de un servidor del protocolo. Los datos obtenidos pueden ser: la direccin IP, la mscara de red, la direccin de broadcast, las caractersticas del DNS, entre otros. Dhcp permite acelerar y facilitar la configuracin de muchos clientes en una red evitando en gran medida los posibles errores humanos.

Como funciona este servicio?

La configuracin de dhcp se basa en un fichero de texto, la lectura del fichero de configuracin slo se realiza durante el inicio, nunca cuando ya est en ejecucin, por tanto cualquier modificacin requiere detener el servicio dhcp y volverlo a iniciar. En este fichero se especifican las caractersticas de comportamiento como son el rango de direcciones asignadas, el tiempo de asignacin de direcciones, el nombre del dominio, los gateways, etc. Dhcp almacena en memoria la lista de direcciones de cada computadora en la red a quien est sirviendo. Cuando se arranca un cliente dhcp le solicita una direccin al servidor, ste busca una direccin disponible y se la asigna. En otros casos, el servidor dhcp tambin puede asignar direcciones fijas a determinados equipos de la red.

Cuales son los beneficios al instalar un Servidor DHCP en Linux


Se puede administrar de manera centralizada toda la informacin de configuracin de IP. De
esta forma se elimina la necesidad de configurar manualmente los clientes individualmente cuando se implanta por primera vez tcp/ip o cuando se necesitan cambios en la infraestructura de ip. tiempo, sin intervencin del usuario. Como la configuracin es automtica se elimina gran parte de los problemas.

Se asegura que los clientes de dhcp, obtienen parmetros de configuracin de ip precisos y en Utilizando dhcp, el administrador aumenta su flexibilidad para el cambio de la informacin de

configuracin de ip, lo que permite que el administrador cambie la configuracin de ip de manera sencilla cuando se necesitan los cambios.

Software Requerido dhcp Hardware Requerido Requerimientos mnimos: Servidor a 250 Mhz, 256 MB RAM, 8 GB disco duro

Configuracin del Servidor

La instalacin del servidor deja un fichero de configuracin en la ruta /etc/dhcp.conf. Este fichero ser ledo durante la carga del protocolo dhcp y en l se configuran todas las opciones del mismo. Cualquier modificacin realizada sobre este fichero ser tenida en cuenta cada vez que el demonio de dhcp se inicie. Veamos un ejemplo de dicho fichero: authoritative; ddns-updates on; ddns-update-style ad-hoc; option domain-name-servers 10.0.0.1, 202.188.0.133, 202.188.1.5; option subnet-mask 255.255.255.0; option routers 10.0.0.1; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.201 192.168.1.220; default-lease-time 86400;

Ing. Eduardo A. Aparicio C.

Pgina 170

max-lease-time 86400; option routers 192.168.1.1; option ip-forwarding off; option broadcast-address 192.168.1.255; option subnet-mask 255.255.255.0; option domain-name-servers 192.168.1.100; option nntp-server 192.168.1.100; option netbios-name-servers 192.168.1.100; } subnet 10.0.0.0 netmask 255.255.255.0 { ddns-updates on; range 10.0.0.60 10.0.0.150; } group { host 001_1 { ddns-updates on; hardware ethernet 00:50:8b:aa:f3:24; fixed-address 10.0.0.50; } host 001_2 { ddns-updates on; hardware ethernet 00:50:8b:aa:f3:24; fixed-address 10.0.0.50; } host cosh { hardware ethernet 00:30:6e:28:5c:3f; fixed-address 10.0.0.9;

} }

Reservas

Un administrador de red puede reservar direcciones ip para la asignacin de concesiones permanentes a equipos y dispositivos especficos de la red. Las reservas se encargan de asegurar que un dispositivo hardware especfico siempre pueda usar la misma direccin ip. Se recomienda hacer reservas para clientes dhcp que funciones como servidores de impresin, servidores web o encaminadores (router).

Servidor DNS Definicin


Un servidor de DNS (Domain Name System) es capaz de recibir y resolver peticiones relacionadas con el sistema de nombres. Un servidor DNS sirve, por tanto, para: (1) traducir su nombre de dominio en una direccin IP. (2) asignar nombres a todas las mquinas de una red y trabajar con nombres de dominio en lugar de IPs. Desde un punto de vista tcnico, un nombre de dominio es ms fcil de recordar, adems cuando una empresa tiene un servidor DNS (y su propio nombre de dominio) se le puede localizar ms fcilmente por Internet.

Como funciona este servicio?

Cuando un programa cliente (ejemplo, el navegador) hace una peticin de una direccin internet, el servidor DNS del proveedor de acceso, procesa la consulta, intentando buscar el dominio en su

Ing. Eduardo A. Aparicio C.

Pgina 171

tabla de registros. Si no lo encuentra enva la peticin a otro servidor DNS situado en un nivel superior de la jerarqua de nombres de dominios. Esta secuencia de peticiones se repite hasta que se obtiene la direccin IP del ordenador que corresponde al dominio consultado. El servicio que registra tu dominio es el responsable de asociar tu nombre de dominio con el servidor DNS correspondiente, de manera que siempre queda asegurada su "visibilidad". Los Servidores DNS utilizan tcp y udp en el puerto 53 para responder las consultas. Casi todas las consultas consisten de una sola solicitud udp desde un cliente dns seguida por una sola respuesta udp del servidor. TCP interviene cuando el tamao de los datos de la respuesta excede los 512 bytes, tal como ocurre con tareas como transferencia de zonas.

NIC (Network Information Center)

NIC (Network Information Center o Centro de Informacin sobre la red) es una institucin encargada de asignar los nombres de dominio en Internet, ya sean nombres de dominio genrico o por pases, permitiendo personas o empresas montar sitios de Internet mediante a travs de un ISP mediante un DNS. Tcnicamente existe un NIC por cada pas en el mundo y cada uno de stos es responsable por todos los dominios con la terminacin correspondiente a su pas.

FQDN(Fully Qualified Domain Name)

FQDN (Fully Qualified Domain Name o Nombre de Dominio Plenamente Calificado) es un Nombre de dominio ambiguo que especifica la posicin absoluta del nodo en el rbol jerrquico del dns. Se distingue de un nombre regular porque lleva un punto al final. Componentes de un DNS Los dns operan a travs de tres componentes: clientes dns, servidores dns y Zonas de Autoridad.

Clientes DNS

Son programas que ejecuta un usuario y que generan peticiones de consulta para resolver nombres. Bsicamente preguntan por la direccin IP que corresponde a un nombre determinado.

Servidores DNS

Son servicios que contestan las consultas realizadas por los Clientes dns. Hay dos tipos de servidores de nombres: Servidor Maestro: Tambin denominado Primario. Obtiene los datos del dominio a partir de un fichero hospedado en el mismo servidor. Servidor Esclavo: Tambin denominado Secundario. Al iniciar obtiene los datos del dominio a travs de un Servidor Maestro (o primario), realizando un proceso denominado transferencia de zona.

Un gran nmero de problemas de operacin de servidores dns se atribuyen a las pobres opciones de servidores secundarios para la zona de dns. De acuerdo al RFC 2182, el dns requiere que al menos tres servidores existan para todos los dominios delegados (o zonas). Una de las principales razones para tener al menos tres servidores para cada zona es permitir que la informacin de la zona misma est disponible siempre y forma confiable hacia los clientes dns a travs de Internet cuando un servidor dns de dicha zona falle, no est disponible y/o est inalcanzable.

Ing. Eduardo A. Aparicio C.

Pgina 172

Contar con mltiples servidores tambin facilita la propagacin de la zona y mejoran la eficiencia del sistema en general al brindar opciones a los clientes dns si acaso encontraran dificultades para realizar una consulta en un servidor dns. En otras palabras: tener mltiples servidores para una zona permite contar con redundancia y respaldo del servicio. Con mltiples servidores, por lo general uno acta como Servidor maestro o primario y los dems como Servidores esclavos o secundarios. Correctamente configurados y una vez creados los datos para una zona, no ser necesario copiarlos a cada Servidor esclavo o secundario, pues ste se encargar de transferir los datos de manera automtica cuando sea necesario. Los Servidores DNS responden dos tipos de consultas

Consultas Iterativas (no recursivas): El cliente hace una consulta al Servidor


DNS y este le responde con la mejor respuesta que pueda darse basada sobre su cach o en las zonas locales. Si no es posible dar una respuesta, la consulta se reenva hacia otro Servidor DNS repitindose este proceso hasta encontrar al Servidor DNS que tiene la Zona de Autoridad capaz de resolver la consulta.

Consultas Recursivas: El Servidor DNS asume toda la carga de proporcionar


una respuesta completa para la consulta realizada por el Cliente DNS. El Servidor DNS desarrolla entonces Consultas Iterativas separadas hacia otros Servidores DNS (en lugar de hacerlo el Cliente DNS) para obtener la respuesta solicitada.

Zonas de Autoridad

Permiten al Servidor Maestro o Primario cargar la informacin de una zona. Cada Zona de Autoridad abarca al menos un dominio y posiblemente sus sub-dominios, si estos ltimos no son delegados a otras zonas de autoridad. La informacin de cada Zona de Autoridad es almacenada de forma local en un fichero en el Servidor DNS. Este fichero puede incluir varios tipos de registros: Tipo de Registro. A (Address) Descripcin. Registro de direccin que resuelve un nombre de un anfitrin hacia una direccin IPv4 de 32 bits. Registro de direccin que resuelve un nombre de un anfitrin hacia una direccin IPv6 de 128 bits. Registro de nombre cannico que hace que un nombre sea alias de otro. Los dominios con alias obtienen los sub-dominios y registros DNS del dominio original. Registro de servidor de correo que sirve para definir una lista de servidores de correo para un dominio, as como la prioridad entre stos. Registro de apuntador que resuelve direcciones IPv4 hacia el nombre anfitriones. Es decir, hace lo contrario al registro A. Se utiliza en zonas de Resolucin Inversa.

AAAA

CNAME (Canonical Name)

MX (Mail Exchanger)

PTR (Pointer)

Ing. Eduardo A. Aparicio C.

Pgina 173

Tipo de Registro. NS (Name Server)

Descripcin. Registro de servidor de nombres que sirve para definir una lista de servidores de nombres con autoridad para un dominio. Registro de inicio de autoridad que especifica el Servidor DNS Maestro (o Primario) que proporcionar la informacin con autoridad acerca de un dominio de Internet, direccin de correo electrnico del administrador, nmero de serie del dominio y parmetros de tiempo para la zona. Registro de servicios que especifica informacin acerca de servicios disponibles a travs del dominio. Protocolos como SIP (Session Initiation Protocol) y XMPP (Extensible Messaging and Presence Protocol) suelen requerir registros SRV en la zona para proporcionar informacin a los clientes. Registro de texto que permite al administrador insertar texto arbitrariamente en un registro DNS. Este tipo de registro es muy utilizado por los servidores de listas negras DNSBL (DNS-based Blackhole List) para la filtracin de Spam. Otro ejemplo de uso son las VPN, donde suele requerirse un registro TXT para definir una llave que ser utilizada por los clientes.

SOA (Start of Authority)

SRV (Service)

TXT (Text)

Las zonas que se pueden resolver son:

Zonas de Reenvo

Devuelven direcciones ip para las bsquedas hechas para nombres Fqdn (Fully qualified domain name). En el caso de dominios pblicos, la responsabilidad de que exista una Zona de autoridad para cada Zona de reenvo corresponde a la autoridad misma del dominio, es decir, y por lo general, quien est registrado como autoridad del dominio tras consultar una base de datos whois. Quienes compran dominios a travs de un nic, salvo que se trate de un dominio para uso en una red local, todo dominio debe ser primero tramitado con un nic como requisito para tener derecho legal a utilizarlo y poder propagarlo a travs de Internet.

Zonas de resolucin inversa

Devuelven nombres Fqdn (Fully qualified domain name) para las bsquedas hechas para direcciones ip. Los grandes isp, y en algunos casos algunas empresas, son quienes se hacen cargo de las zonas de resolucin inversa.

Mandato host

Herramientas de Bsqueda y Consulta

El mandato host una herramienta simple para hacer bsquedas en servidores dns. Es utilizada para convertir nombres en direcciones ip y viceversa.

Mandato dig

El mandato dig (domain information groper) es una herramienta flexible para realizar consultas en servidores dns. Realiza bsquedas y muestra las respuestas que son regresadas por los servidores que fueron consultados. Debido a su flexibilidad y claridad en la salida es que la mayora de los administradores utilizan dig para diagnosticar problemas de dns.

Mandato jwhois (whois)


Ing. Eduardo A. Aparicio C. Pgina 174

El mandato jwhois es una herramienta de consulta a travs de servidores whois. La sintaxis bsica es: Jwhois dominio Ejemplo Jwhois linuxparatodos.net Loa anterior regresa la informacin correspondiente al dominio linuxparatodos.net. Sustento lgico necesario. Paquete. bind Descripcin. Incluye el Servidor DNS (named) y herramientas para verificar su funcionamiento. Biblioteca compartida que consiste en rutinas para aplicaciones para utilizarse cuando se interacte con Servidores DNS. Contiene un rbol de ficheros que puede ser utilizado como una jaula chroot para named aadiendo seguridad adicional al servicio. Coleccin de herramientas para consultar Servidores DNS. Ficheros de configuracin que harn que el Servidor DNS acte como un cach para el servidor de nombres.

bind-libs

bind-chroot

bind-utils cachingnameserver

Instalacin a travs de yum

Si se utiliza de CentOS 4 o White Box Enterprise Linux 4, o versiones posteriores, se puede instalar utilizando lo siguiente: yum -y install bind bind-chroot bind-utils caching-nameserver

Instalacin a travs de Up2date

Si se utiliza de Red Hat Enterprise Linux 4, o versiones posteriores, se puede instalar utilizando lo siguiente: up2date -i bind bind-chroot bind-utils caching-nameserver

Procedimientos
1 Dominio a resolver. . 2 Servidor de nombres principal (SOA). ste debe ser un nombre que ya est . plenamente resuelto, y debe ser un Fqdn (Fully Qualified Domain Name).

Ing. Eduardo A. Aparicio C.

Pgina 175

3 Lista de todos los servidores de nombres (NS) que se utilizarn para efectos de . redundancia. stos deben ser nombres que ya estn plenamente resueltos, y deben ser adems Fqdn (Fully Qualified Domain Name). 4 Cuenta de correo del administrador responsable de esta zona. Dicha cuenta . debe existir y no debe pertenecer a la misma zona que se est tratando de resolver. 5 Al menos un servidor de correo (MX), con un registro A, nunca CNAME. . 6 IP predeterminada del dominio. . 7 Sub-dominios dentro del dominio (www, mail, ftp, ns, etc.) y las direcciones IP . que estarn asociadas a estos. Todos los ficheros de zona deben pertenecer al usuario named a fin de que el servicio named pueda acceder a estos o bien modificarlos en el caso de tratarse de zonas esclavas.

Creacin de los ficheros de zona

Los siguientes corresponderan a los contenidos para los ficheros de zona requeridos para la red local y por el NIC con el que se haya registrado el dominio. Note por favor que en las zonas de reenvo siempre se especifica al menos un Mail Exchanger (MX) y que se utilizan tabuladores (tecla TAB) en lugar de espacio. Solo necesitar sustituir nombres y direcciones IP, y quiz aadir nuevos registros para complementar su red local. Zona de reenvo red local /var/named/chroot/var/named/red-local.zone
$TTL 86400 @ IN SOA dns.red-local. jperez.red-local. 2006031601; nmero de serie 28800 ; tiempo de refresco 7200 ; tiempo entre reintentos de consulta 604800 ; tiempo tras el cual expira la zona 86400 ; tiempo total de vida ) @ IN NS dns @ IN MX 10 mail @ IN A 192.168.1.1 intranet IN A 192.168.1.1 maquina2 IN A 192.168.1.2 maquina3 IN A 192.168.1.3 maquina4 IN A 192.168.1.4 www IN CNAME intranet mail IN A 192.168.1.1 ftp IN CNAME intranet dns IN CNAME intranet

Zona de resolucin inversa red local /var/named/chroot/var/named/1.168.192.in-addr.arpa.zone


$TTL 86400 @ IN SOA dns.red-local. jperez.red-local. ( 2006031601 ; nmero de serie

Ing. Eduardo A. Aparicio C.

Pgina 176

@ 1 2 3 4

IN IN IN IN

28800 ; tiempo de refresco 7200 ; tiempo entre reintentos de consulta 604800 ; tiempo tras el cual expira la zona 86400 ; tiempo total de vida ) IN NS dns.red-local. PTR intranet.red-local. PTR maquina2.red-local. PTR maquina3.red-local. PTR maquina4.red-local.

Zona de reenvo del dominio /var/named/chroot/var/named/dominio.com.zone Suponiendo que hipotticamente se es la autoridad para el dominio dominio.com, se puede crear una Zona de Reenvi con un contenido similar al siguiente:
$TTL 86400 @ IN SOA fqdn.dominio-resuelto. cuenta.email.existente. ( 2006031601; nmero de serie 28800 ; tiempo de refresco 7200 ; tiempo entre reintentos de consulta 604800 ; tiempo tras el cual expira la zona 86400 ; tiempo total de vida ) IN NS dns IN MX 10 mail IN A 148.243.59.1 IN A 148.243.59.1 IN CNAME servidor IN A 148.243.59.1 IN CNAME servidor IN CNAME servidor

@ @ @ servidor www mail ftp dns

Zona de resolucin inversa del dominio /var/named/chroot/var/named/1.243.148.in-addr.arpa.zone Suponiendo que hipotticamente se es la autoridad para el segmento de red 148.234.1.0/24, se puede crear una Zona de Resolucin Inversa con un contenido similar al siguiente:
$TTL 86400 @ IN SOA fqdn.dominio-resuelto. cuenta.email.existente. ( 2006031601 ; nmero de serie 28800 ; tiempo de refresco 7200 ; tiempo entre reintentos de consulta 604800 ; tiempo tras el cual expira la zona 86400 ; tiempo total de vida ) IN NS dns.dominio.com. PTR servidor.dominio.com. PTR maquina2.dominio.com. PTR maquina3.dominio.com. PTR maquina4.dominio.com.

@ 1 2 3 4

IN IN IN IN

Cada vez que haga algn cambio en algn fichero de zona, deber cambiar el nmero de serie (serial) a fin de que tomen efecto los cambios de inmediato cuando se reinicie el servicio named, ya que de otro modo tendra que reiniciar el equipo, algo poco conveniente. Configuracin de parmetros en el fichero /etc/named.conf options { directory "/var/named/"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt";

Ing. Eduardo A. Aparicio C.

Pgina 177

allow-recursion { 127.0.0.1; 192.168.1.0/24; }; forwarders { 200.33.146.209; 200.33.146.217; }; forward first; }; zone "." { type hint; file "named.ca"; }; zone "0.0.127.in-addr.arpa" { type master; file "0.0.127.in-addr.arpa.zone"; allow-update { none; }; }; zone "localhost" { type master; file "localhost.zone"; allow-update { none; }; }; zone "dominio.com" { type master; file "dominio.com.zone"; allow-update { none; }; }; zone "1.243.148.in-addr.arpa" { type master; file "1.243.148.in-addr.arpa.zone"; allow-update { none; }; }; zone "red-local" { type master; file "red-local.zone"; allow-update { none; }; }; zone "1.168.192.in-addr.arpa" { type master; file "1.168.192.in-addr.arpa.zone"; allow-update { none; }; };

Seguridad adicional en DNS para uso Pblico

Un DDoS (Distributed Denial of Service) es una ampliacin del ataque DoS, se efecta con la instalacin de varios agentes remotos en muchas computadoras que pueden estar localizadas en diferentes puntos del mundo. El atacante consigue coordinar esos agentes para as, de forma masiva, amplificar el volumen de la saturacin de informacin (flood), pudiendo darse casos de un ataque de cientos o millares de computadoras dirigidas a una mquina o red objetivo. Esta tcnica se ha revelado como una de las ms eficaces y sencillas a la hora de colapsar servidores, la tecnologa distribuida ha ido haciendo ms sofisticada hasta el punto de otorgar poder de causar daos serios a personas con escaso conocimiento tcnico.

Ing. Eduardo A. Aparicio C.

Pgina 178

Un DNS configurado para permitir consultas recursivas indiscriminadamente puede permitir al servidor sufrir o bien participar de un DDoS. Solucin al problema consiste aadir en el fichero /etc/named.conf, en la seccin de opciones (options), el parmetro allow-recursion definiendo la red, las redes o bien los ACL que tendrn permitido realizar todo tipo de consultas en el DNS, sean locales o de otros dominios. Fichero /etc/named.conf options { directory "/var/named/"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; allow-recursion { 127.0.0.1; 192.168.1.0/24; }; forwarders { 200.33.146.209; 200.33.146.217; }; forward first; }; zone "." { type hint; file "named.ca"; }; zone "dominio.com" { type master; file "dominio.com.zone"; allow-update { none; }; }; zone "1.243.148.in-addr.arpa" { type master; file "1.243.148.in-addr.arpa.zone"; allow-update { none; };

};
Lo anterior hace que solo 192.168.1.0/24 pueda realizar todo tipo de consultas en el DNS, ya sea para un nombre de dominio hospedado de forma local y otros dominios resueltos en otros servidores.

Seguridad adicional en DNS para uso exclusivo en Red local

Si se va a tratar de un servidor de nombres de dominio para uso exclusivo en red local, y se quieren evitar problemas de seguridad de diferente ndole, puede utilizarse el parmetro allowquery, el cual servir para especificar que solo ciertas direcciones podrn realizar consultas al servidor de nombres de dominio. Se pueden especificar directamente direcciones IP, redes completas o listas de control de acceso que debern definirse antes de cualquier otra cosa en el fichero /etc/named.conf. Fichero /etc/named.conf acl "redlocal" { 127.0.0.1;

Ing. Eduardo A. Aparicio C.

Pgina 179

192.168.1.0/24; 192.168.2.0/24; 192.168.3.0/24; }; options { directory "/var/named/"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; allow-recursion { redlocal; }; forwarders { 200.33.146.209; 200.33.146.217; }; forward first; allow-query { redlocal; 192.168.1.15; 192.168.1.16; }; }; zone "red-local" { type master; file "red-local.zone"; allow-update { none; }; }; zone "1.168.192.in-addr.arpa" { type master; file "1.168.192.in-addr.arpa.zone"; allow-update { none; }; };

Las Zonas Esclavas

Las zonas esclavas se refieren a aquellas hospedadas en servidores de nombres de dominio secundarios y que hacen las funciones de redundar las zonas maestras en los servidores de nombres de dominio prima. Cuales son los beneficios al instalar un servidor DNS en Linux? :

Conveniencia:

Nombres conocidos por el usuario son ms fcil de recordar que sus respectivas direcciones ip.

Consistencia: Las direcciones ip pueden cambiar pero los nombres permanecen constantes.

Simplicidad: Usuarios necesitan aprender solo un nombre para encontrar recursos ya sea en internet o en una intranet.

Definicin

Servidor FTP

Como una de las alternativas ms importantes que nos permite Internet es la transferencia de archivos de una computadora a otra desde cualquier parte del mundo. Para ello utilizamos el protocolo de transferencia de archivos o FTP.

Ing. Eduardo A. Aparicio C.

Pgina 180

Como funciona este servicio?

Los servidores FTP tiene dos modalidades de uso: FTP annimos: Supone un servidor FTP configurado para permitir el acceso publico, es decir, no se dejan de enviar ni el usuario ni la contrasea, pero por convencin, se utiliza el usuario annimos y como contrasea la direccin de correo del que hace la solicitud. Se utiliza para definir si se permitirn los accesos annimos al servidor. Establezca como valor YES o NO de acuerdo a lo que se requiera. anonymous_enable=YES FTP privado: El servidor se basa en autentificacin a partir de la base de datos de usuario locales, por lo tanto, solo pueden iniciar sesin los usuarios que hallan sido dados de alta en dicho sistema.

Cuales son los beneficios al instalar un Servidor FTP en Linux?

Linux para Todos recomienda Very Secure FTP Daemon es un software utilizado para implementar servidores de archivos a travs del protocolo FTP. Se distingue principalmente porque sus valores por defecto son muy seguros y por su sencillez en la configuracin, comparado con otras alternativas como Wu-ftpd. Actualmente se presume que VSFTPD es uno de los servidores FTP ms seguro del mundo.

Instalacin del Servidor FTP

Para instalarte un servidor FTP en Linux normalmente no necesitas ningn programa adicional ya que el servidor FTP suele venir con el sistema. Para comenzar tendremos que instalarnos el paquete que contiene el servidor FTP que en este caso se llama Vsftpd 1.1.3-8, para lo cual ejecutaremos la siguiente instruccin: rpm -ivh vsftpd 1.1.3-8

Configuracin

Una vez instalados comenzaremos a configurarlo a nuestro gusto. Comenzaremos con la lista de usuarios que podrn tener acceso al servidor FTP. Para configurar este parmetro necesitaremos abrir el archivo: Ficheros de configuracin /etc/vsftpd.user_list /etc/vsftpd/vsftpd.conf Lista que definir usuarios a enjaular o no a enjaular, dependiendo de la configuracin. Fichero de configuracin.

Procedimientos

Utilice un editor de texto y modifique el fichero /etc/vsftpd/vsftpd.conf. A continuacin analizaremos los parmetros a modificar o aadir, segn se requiera para necesidades particulares.

Parmetro anonymous_enable
anonymous_enable=YES

Se utiliza para definir si se permitirn los accesos annimos al servidor. Establezca como valor YES o NO de acuerdo a lo que se requiera.

Parmetro local_enable

Ing. Eduardo A. Aparicio C.

Pgina 181

Es particularmente interesante si se combina con la funcin de jaula (chroot). Establece si se van a permitir los accesos autenticados de los usuarios locales del sistema. Establezca como valor YES o NO de acuerdo a lo que se requiera. local_enable=YES

Parmetro write_enable

Establece si se permite el mandato write (escritura) en el servidor. Establezca como valor YES o NO de acuerdo a lo que se requiera. write_enable=YES

Parmetro ftpd_banner

Este parmetro sirve para establecer el bandern de bienvenida que ser mostrado cada vez que un usuario acceda al servidor. Puede establecerse cualquier frase breve que considere conveniente. Ftpd_banner=Bienvenido al servidor FTP de nuestra empresa.

Estableciendo jaulas para los usuarios parmetros chroot_local_user y chroot_list_file.

De modo predeterminado los usuarios del sistema que se autentiquen tendrn acceso a otros directorios del sistema fuera de su directorio personal. Si se desea recluir a los usuarios a solo poder utilizar su propio directorio personal, puede hacerse fcilmente con el parmetro chroot_local_user que habilitar la funcin de chroot () y los parmetros chroot_list_enable y chroot_list_file para establecer el fichero con la lista de usuarios que quedarn excluidos de la funcin chroot (). chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/vsftpd.chroot_list Con lo anterior, cada vez que un usuario local se autentique en el servidor FTP, solo tendr acceso a su propio directorio personal y lo que este contenga. No olvide crear el fichero /etc/vsftpd/vsftpd.chroot_list, ya que de otro modo no arrancar el servicio vsftpd. touch /etc/vsftpd/vsftpd.chroot_list

Control del Ancho de Banda Parmetro anon_max_rate


Se utiliza para limitar la tasa de transferencia en bytes por segundo para los usuarios annimos, algo sumamente til en servidores FTP de acceso pblico. En el siguiente ejemplo se limita la tasa de transferencia a 5 Kb por segundo para los usuarios annimos: anon_max_rate=5120

Parmetro local_max_rate

Hace lo mismo que anon_max_rate, pero aplica para usuarios locales del servidor. En el siguiente ejemplo se limita la tasa de transferencia a 5 Kb por segundo para los usuarios locales:

Ing. Eduardo A. Aparicio C.

Pgina 182

local_max_rate=5120

Parmetro max_clients

Establece el nmero mximo de clientes que podrn acceder simultneamente hacia el servidor FTP. En el siguiente ejemplo se limitar el acceso a 5 clientes simultneos max_clients=5

Parmetro max_per_ip

Establece el nmero mximo de conexiones que se pueden realizar desde una misma direccin IP. Tome en cuenta que algunas redes acceden a travs de un servidor proxy o puerta de enlace y debido a esto podran quedar bloqueados innecesariamente algunos accesos. en el siguiente ejemplo se limita el nmero de conexiones por IP simultneas a 5. max_per_ip=5

Aplicando los Cambios

A diferencia de otros servicios FTP, VSFTPD no requiere configurarse como servicio sobre demanda. Por lo tanto no depende de servicio xinetd. La versin incluida en distribuciones como Red Hat Enterprise Linux 3.0 y White Box Enterprise Linux 3.0 puede inicializarse, detenerse o reinicializarse a travs de un guin similar a los del resto del sistema. De modo tal, podr inicializarse, detenerse o reinicializarse a travs del mandato service y aadirse al arranque del sistema en un nivel o niveles de corrida en particular con el mandato chkconfig. Para ejecutar por primera vez el servicio, utilice: service vsftpd start Para hacer que los cambios hechos a la configuracin surtan efecto, utilice: service vsftpd restart Para detener el servicio, utilice: service vsftpd stop Para aadir VSFTPD al arranque del sistema en todos los niveles de corrida, utilice: chkconfig vsftpd on

Modificaciones necesarias en el muro Cortafuegos

Si se utiliza un cortafuegos con polticas estrictas, como por ejemplo Shorewall, es necesario abrir los puerto 20 y 21 por TCP (FTP-DATA y FTP, respectivamente). Las reglas para el fichero /etc/shorewall/rules de Shorewall correspondera a algo similar a lo siguiente:

#ACTION
#PORT

SOURCE PORT(S)1

DEST

PROTO

DEST tcp

SOURCE 20,21

ACCEPT net fw

#LAST LINE - ADD YOUR ENTRIES BEFORE THIS ONE - DO NOT REMOVE

HTTPD Servidor Web Apache Definicin


Ing. Eduardo A. Aparicio C. Pgina 183

Apache es el servidor web ms usado en sistemas Linux. Los servidores web se usan para servir pginas web solicitadas por equipos cliente. Los clientes normalmente solicitan y muestran pginas web mediante el uso de navegadores web como Firefox, Opera o Mozilla. Los usuarios introducen un Localizador de Recursos Uniforme (Uniform Resource Locator, URL) para sealar a un servidor web por medio de su Nombre de Dominio Totalmente Cualificado (Fully Qualified Domain Name, Fqdn) y de una ruta al recurso solicitado. Por ejemplo, para ver la pgina web del sitio web de Ubuntu, un usuario debera introducir nicamente el Fqdn. Para solicitar informacin especfica acerca del soporte de pago, un usuario deber introducir el Fqdn seguido de una ruta. El protocolo ms comnmente utilizado para ver pginas web es el Hyper Text Transfer Protocol (http). Protocolos como el Hyper Text Transfer Protocol sobre Secure Sockets Layer (https, y File Transfer Protocol (ftp), un protocolo para subir y descargar archivos, tambin son soportados. Los servidores web Apache a menudo se usan en combinacin con el motor de bases de datos mysql, el lenguaje de scripting PHP, y otros lenguajes de scripting populares como Python y Perl. Esta configuracin se denomina lamp (Linux, Apache, MySQL y Perl/Python/PHP) y conforma una potente y robusta plataforma para el desarrollo y distribucin de aplicaciones basadas en la web.

Configuracin

Apache se configura colocando directivas en archivos de configuracin de texto plano. El archivo principal de configuracin se llama apache2.conf. Adems, se pueden aadir otros archivos de configuracin mediante la directiva Include, y se pueden usar comodines para incluir muchos archivos de configuracin. Todas las directivas deben colocarse en alguno de esos archivos de configuracin. Apache2 slo reconocer los cambios realizados en los archivos principales de configuracin cuando se inicie o se reinicie. El servidor tambin lee un fichero que contiene los tipos mime de los documentos; el nombre de ese fichero lo establece la directiva TypesConfig, y es mime.types por omisin. El archivo de configuracin predeterminado de Apache2 es /etc/apache2/apache2.conf. Puede editar este archivo para configurar el servidor Apache2. Podr configurar el nmero de puerto, la raz de documentos, los mdulos, los archivos de registros, los hosts virtuales, etc.

Opciones Bsicas

Esta seccin explica los parmetros de configuracin esenciales para el servidor Apache2. Remtase a la documentacin de apache2 para ms detalles. Apache2 trae una configuracin predeterminada preparada para servidores virtuales. Viene configurado con un nico servidor virtual predeterminado (usando la directiva VirtualHost) que se puede modificar, o dejarlo tal cual si slo tiene un nico sitio web, o usarlo como plantilla para servidores virtuales adicionales si tienes varios sitios web. Si se deja solo, el servidor virtual predeterminado funcionar como tu servidor predeterminado, o los usuarios del sitio web vern si la URL que introducen no concuerda con la directiva ServerName de cualquiera de tus sitios personalizados. Para modificar el servidor virtual predeterminado, edita el archivo /etc/apache2/sitesavailable/default. Si deseas configurar un nuevo servidor o sitio virtual, copia ese archivo dentro del mismo directorio con el nombre que haya elegido. Por ejemplo, sudo cp /etc/apache2/sitesavailable/default /etc/apache2/sites-available/minuevositio edita el nuevo archivo para configurar el nuevo sitio usando algunas de las directivas que se describen a continuacin. La directiva ServerAdmin especifica la direccin de correo del administrador del servidor. El valor por omisin es webmaster@localhost. Cambia esta direccin por alguna a la que le puedan llegar los mensajes que te le enven (si tu eres el administrador del servicio). Si tu sitio web tiene algn problema, Apache2 mostrar un mensaje de error con en la que aparecer esta direccin de correo para que la gente pueda enviar un informe del error. La directiva se encuentra en el fichero

Ing. Eduardo A. Aparicio C.

Pgina 184

de configuracin de su sitio en /etc/apache2/sites-available. La directiva Listen especifica el puerto (y, opcionalmente, la direccin IP) por el que escuchar Apache2. Si no se especifica la direccin IP, Apache2 escuchar por todas las direcciones IP asignadas a la mquina en la que se ejecute. El valor predeterminado de la directiva Listen es 80. Cambiarlo a 127.0.0.1:80 provoca que Apache2 slo escuche por su dispositivo loopback, de forma que no estar disponible para Internet. Cmbialo a 81 (por ejemplo) para cambiar el puerto por el que escucha, o djalo tal cual para que funcione normalmente. La directiva se puede encontrar y cambiar en su propio archivo de configuracin, /etc/apache2/ports.conf. La directiva ServerName es opcional, y especifica con cul FQDN (Full Qualified Domain Name, Nombre de Dominio Totalmente Cualificado) responder tu sitio web. El servidor virtual predeterminado no especifica ninguna directiva ServerName, por lo que responder a todas las peticiones que no se ajusten a ninguna directiva ServerName en otro servidor virtual. Si acabas de adquirir el dominio ubuntumola.com, y desea asociar a l tu servidor Ubuntu, el valor de la directiva ServerName en el archivo de configuracin de su servidor virtual debera ser ubuntumola.com. Aade esta directiva al nuevo archivo de configuracin virtual que cre previamente /etc/apache2/sites-available/minuevositio). La directiva DocumentRoot especifica dnde debe buscar Apache los archivos que forman el sitio. El valor predeterminado es /var/www. No hay ningn sitio configurado all, pero si descomentas la directiva RedirectMatch en /etc/apache2/apache2.conf, las peticiones se redirigirn a /var/www/apache2-default, que es donde reside el sitio predeterminado de Apache2. Cambia este valor en el archivo de host virtual de tu sitio y recuerda crear ese directorio si fuese necesario. Apache2 no procesa el directorio /etc/apache2/sites-available. Los enlaces simblicos en /etc/apache2/sites-enabled apuntan a los sitios disponibles. Usa la utilidad a2ensite (Apache2 Enable Site) para crear esos enlaces simblicos, as:

sudo a2 en site minuevositio

Donde el archivo de configuracin de su sitio es /etc/apache2/sites-available/minuevositio. Igualmente, se debe usar la utilidad a2dissite para deshabilitar sitios.

Opciones predeterminadas

Esta seccin explica la configuracin de las opciones predeterminadas del servidor Apache2. Por ejemplo, si deseas aadir un host virtual, las opciones que configuras para el host virtual tienen prioridad para ese host virtual. Para las directivas no definidas dentro de las opciones del host virtual, se usan los valores predeterminados. El DirectoryIndex es la pgina servida por defecto por el servidor cuando un usuario solicita el ndice de un directorio aadiendo la barra de divisin (/) al final del nombre del directorio. La directiva ErrorDocument te permite especificar un archivo que usar Apache2 para los eventos de error especficos. Por ejemplo, si un usuario solicita un recurso que no existe, se producir un error 404, y (en base a la configuracin predeterminada de Apache2), se mostrar el archivo /usr/share/apache2/error/HTTP_NOT_FOUND. html.var . Ese archivo no est en el DocumentRoot del servidor, sino que existe una directiva Alias en /etc/apache2/apache2.conf que redirige hacia /usr/share/apache2/error/ las solicitudes dirigidas al directorio /error. Para ver una lista de las directivas ErrorDocument predeterminadas, usa la orden: De forma predeterminada, el servidor escribe los registros de las transferencias en el archivo /var/log/apache2/access.log. Puedes cambiar esto sitio a sitio en los archivos de configuracin de su servidor virtual con la directiva CustomLog, o tambin puedes omitirla para aceptar la opcin predeterminada, especificada en /etc/apache2/apache2.conf. Tambin puedes especificar el archivo en el que se registrarn los errores, por medio de la directiva ErrorLog, cuyo valor predeterminado es /var/log/apache2/error.log. Estos se mantienen separados de los registros de transferencias para ayudar en la resolucin de problemas con su servidor Apache2. Tambin

Ing. Eduardo A. Aparicio C.

Pgina 185

puedes especificar la directiva LogFormat (consulta en /etc/apache2/apache2.conf su valor predeterminado). Algunas opciones son especificadas por directorio en lugar de por servidor. Una de estas directivas es Option. Un prrafo Directory es encerrado entre etiquetas XML, como estas: <Directory /var/www/mynewsite> ... </Directory> La directiva Options dentro del prrafo Directory acepta un o ms de los siguientes valores (entre otros), separados por espacios: ExecCGI - Permite la ejecucin de scripts CGI. Los scripts CGI no sern ejecutados si esta opcin no fue escogida. Muchos archivos no deberan ser ejecutados como scripts CGI. Esto podra resultar muy peligroso. Los scripts CGI deberan mantenerse en un directorio separado fuera de su DocumentRoot, y dicho directorio debera ser el nico que tuviese activada la opcin ExecCGI. As est establecido desde el principio, y la ubicacin predeterminada para los scripts CGI es /usr/lib/cgi-bin. Includes - Permite server-side includes. stos, permiten a un fichero HTML incluir otros ficheros. No es una opcin muy comn, consulte el Apache2 SSI para ms informacin. IncludesNOEXEC - Permite server-side includes, pero deshabilita los #exec y #include en los scripts CGI. Indexes - Muestra una lista formateada del contenido de los directorios, si no existe el DirectoryIndex (como el index.html) en el directorio solicitado. Vistas mltiples - Soporte para vistas mltiples negociadas por contenido; esta opcin est desactivada de forma predeterminada por motivos de seguridad. Consulte la documentacin de Apache2 sobre esta opcin. SymLinksIfOwnerMatch - Solo seguir enlaces simblicos si el directorio de destino es del mismo usuario que el enlace.

Configuracin de Servidores Virtuales

Los servidores virtuales te permiten ejecutar, en la misma mquina, diferentes servidores para diferentes direcciones IP, diferentes nombres de mquina o diferentes puertos. Por ejemplo, puedes tener los sitios web http://www.ejemplo.com y http://www.otroejemplo.com en el mismo servidor web usando servidores virtuales. Esta opcin corresponde a la directiva <VirtualHost> para el servidor virtual predeterminado y para los servidores virtuales basados en IP. Corresponde a la directiva <NameVirtualHost> para un servidor virtual basado en el nombre. El conjunto de directivas para un servidor virtual slo se aplican a un servidor virtual particular. Si una directiva se establece a nivel del servidor completo y no se define dentro de las opciones del servidor virtual, entonces se usarn las opciones predeterminadas. Por ejemplo, puedes definir una direccin de correo electrnico para el webmaster y no definir direcciones de correo individuales para cada servidor virtual. Establece la directiva DocumentRoot apuntando al directorio que contenga el documento raz (como el index.html) para el host virtual. El DocumentRoot por defecto es /var/www. La directiva ServerAdmin dentro del apartado VirtualHost es la direccin de correo electrnico que se usa en el pie de las pginas de error si selecciona mostrar un pie de pgina con una direccin de correo en las pginas de error.

Ing. Eduardo A. Aparicio C.

Pgina 186

Configuracin del Servidor

Esta seccin explica como configurar bsicamente un servidor. LockFile - La directiva LockFile establece la ruta al archivo de bloqueo usado cuando el servidor se compila con la opcin USE_FCNTL_SERIALIZED_ACCEPT o USE_FLOCK_SERIALIZED_ACCEPT. Debe almacenarse en el disco local. Debe dejarse a su valor predeterminado, a menos que el directorio de registros est ubicado en un directorio NFS compartido. Si es ste el caso, debera cambiarse el valor predeterminado a una ubicacin en el disco local y a un directorio en el que slo tenga permisos de lectura el usuario root. PidFile - La directiva PidFile establece el archivo en el que el servidor registrar su identificador de proceso (pid). Sobre este archivo slo debe tener permisos de lectura el usuario root. En la mayora de los casos, debera dejarse a su valor predeterminado. User - La directiva User establece el identificador de usuario utilizado por el servidor para responder a las peticiones. Esta opcin determina el acceso de servidor. Todos los archivos inaccesibles para este usuario sern tambin inaccesibles para los visitantes de tu sitio web. El valor predeterminado para User es www-data. La directiva Group es similar a la directiva User. Group establece el grupo sobre el que el servidor aceptar las peticiones. El grupo por defecto es tambin www-data.

Mdulos de Apache

Apache es un servidor modular. Esto supone que en el ncleo del servidor slo est incluida la funcionalidad ms bsica. Las caractersticas extendidas estn disponibles a travs de mdulos que se pueden cargar en Apache. De forma predeterminada, durante la compilacin se incluye un juego bsico de mdulos en el servidor. Si el servidor se compila para que use mdulos cargables dinmicamente, los mdulos se podrn compilar por separado y se podrn aadir posteriormente usando la directiva LoadModule. En caso contrario, habr que recompilar Apache para aadir o quitar mdulos. Ubuntu compila Apache2 para que permita la carga dinmica de mdulos. Las directivas de configuracin ser pueden incluir condicionalmente en base a la presencia de un mdulo en particular, encerrndolas en un bloque <IfModule>. Puedes instalar mdulos adicionales de Apache2 y usarlos con su servidor web. Puedes instalar los mdulos de Apache2 usando la orden apt-get. Por ejemplo, para instalar el mdulo de Apache2 que proporciona autenticacin por MySQL, puedes ejecutar lo siguiente en la lnea de rdenes de una terminal: sudo apt-get install libapache2-mod-auth-mysql Una vez instalado el mdulo, este estar disponible en el directorio /etc/apache2/mods-available. Puedes utilizar el comando a2enmod para activar el mdulo. Puedes utilizar el comando a2dismod para desactivar el mdulo. Una vez que actives el mdulo, este estar disponible en el directorio /etc/apache2/mods-enabled.

Consola de Comandos

La consola de Linux es aquella pantalla negra donde puedes escribir los comandos (rdenes en un lenguaje especial), que permiten a Linux ejecutar las funciones definidas por los comandos que escribes. "cd" - Se utiliza para moverse entre los directorios Ejemplo: cd /home/oracle - Se va a "/home/oracle" "mkdir" - Se utiliza para crear un directorio Ejemplo: mkdir /home/oracle - Crea el directorio "/home/oracle"

Ing. Eduardo A. Aparicio C.

Pgina 187

"ls" - Lista el contenido de un directorio. Ejemplo: ls /home/oracle - Lista el contenido del directorio "/home/oracle" "cp" - Se utiliza para copiar archivos Ejemplo: cp /home/oracle/1.txt /home - copia el archivo 1.txt "/home/oracle/1.txt" en el directorio "/home" "mv" - Se utiliza para mover archivos Ejemplos: mv /home/oracle/1.txt /home - Mueve el archivo 1.txt /home/oracle/1.txt" al directorio"/home" "rm" - Se utiliza para eliminar archivos Ejemplo: rm /home/oracle/1.txt - Elimina el archivo 1.txt que se encuentra en "/home/oracle/1.txt" "rmdir" - Se utiliza para eliminar directorios: Ejemplo: rm /home/oracle "clear" - Se utiliza para limpiar la pantalla "pwd" - Se utiliza para saber en que path estamos trabajando "chmod" - Se utiliza para cambiar los permisos de un archivo Ejemplo: chmod 755 /home/oracle/1.txt - Este cambio da todos los permisos menos el de edicin al archivo 1.txt "man" - Entrega informacin sobre el comando ingresado (man=manual) Ejemplo: man pwd - Nos da la informacin en lnea del comando 'pwd' "vi" - Invoca al editor de archivos (vi=visual) Ejemplo: vi /home/oracle/1.txt - Invoca el editor vi para editar el archivo 1.txt "ps" - Lista los procesos que estn actualmente corriendo "find" - Se utiliza para localizar un archivo/directorio. Ejemplo: find /home/oracle -type f -name 1.txt - Busca el archivo 1.txt en el directorio /home/oracle "touch" - Se utiliza para cambiar el acceso al archivo y modificar el la hora de acceso, tambin para crear un archivo Ejemplo: touch /home/oracle/1.txt - Creara el archivo 1.txt si este no existe. Sino, cambiara la hora del ltimo acceso al archivo "more" - se utiliza para mostrar de a pantallas la informacin. Ejemplo: more /home/oracle/1.txt - muestra el contenido del archivo 1.txt de una pantalla a la vez "cat" - Tambien utilizado usualmente para ver el contenido de un archivo. Ejemplo: cat /home/oracle/1.txt - muestra el contenido del archivo 1.txt "cal" - Muestra el mes y el ao

"date" - Muestra la fecha del sistema "exit" - Se utiliza para salir de algn programa o del shell. "who" - Se utiliza para saber quien esta conectado al sistema.

Browser

Mysql Query Browser corre en maquinas con Linux que tienen entorno grfico instalado. Este est diseado para correo bajo Gnome con GTK2. Ha sido probado con las versiones del kernel de linux 2.4 y 2.6, pero debera tambin correr en otras versiones, y tambin en numerosos sistemas operativos tipo Unix.

Ing. Eduardo A. Aparicio C.

Pgina 188

Para instalar Mysql Query Browser.

Primero descargar el archivo comprimido de instalacin. El archivo tpicamente es nombrado mysql-query-browser-versin-linux.tar.gz, donde versin indica la versin de MySQL Query Browser (por ejemplo 1.0.5-alpha). Para visualizar el contenido del archivo comprimido, ejecutar este comando: shell> tar -tzf mysql-query-browser-version-linux.tar.gz Para instalar MySQL Query Browser, ejecutar este comando shell> tar --directory=/opt -xzvf mysql-query-browser-version-linux.tar.g Esto instala los binarios de la aplicacin en /opt/mysql-query-browser/bin. Cmbiese a este directorio y ejecute mysql-query-browser para iniciar la aplicacin. Usted puede reemplazar /opt por el directorio de instalacin de su preferencia.

Cliente FTP por lnea de Comandos + SSL

Participa en el tema cliente ftp por lnea de comandos + ssl en el foro GNU / Linux. Buenas linuxeros, mi consulta es la siguiente:"Conocen algn cliente FTP que funcione ... Consola de comandos cliente ftp linux Windows en Leopard Qt for embedded Linux Web Acceleration Software SSH control and audit Bandwidth Monitoring Tool

Comandos FTP para consola Linux


Open: Con este comando se abre una sesin con el ftp seleccionado. Este comando no funcionaria sin previamente haber establecido conexin con el servidor FTP mediante la siguiente sintaxis: ftp xxx.xxx.xxx.xxx Pudindose sustituir la direccin por el nombre del ftp del dominio al que deseas acceder. Close: Como es evidente, con este comando se cierra sesin. Get: Este comando probablemente es el ms utilizado ya que es el que se utiliza para bajarte los ficheros del servidor remoto de FTP. Tienes que estar en el directorio del servidor remoto donde est el archivo que quieres recibir. Se copiar en el directorio en local en el que ests. get fichero.txt Put: Este como el segundo es muy utilizado haciendo justo lo contrario, subiendo los ficheros al servidor de FTP. Los archivos de origen los toma del ordenador local, del directorio donde ests situado en local. Se suben al directorio remoto donde ests situado. put fichero.txt Lcd: Especfica el directorio local sobre el que vamos a trabajar, es decir donde colocaremos los archivos que queremos compartir con el servidor remoto. Cd: Este comando acta de la misma forma que en MS-DOS es decir, se utiliza para moverse a travs de los directorios del servidor de FTP. Lcd:Tiene la misma funcin que el anterior pero este aplicado a tus directorios locales. Ls: Con este comando sacamos una lista de directorios y archivos encontrados en el servidor, acta de la misma forma que en el intrprete de comandos en Linux.

Ing. Eduardo A. Aparicio C.

Pgina 189

Delete: Cuidado con este comando, que solo se puede aplicar al servidor remoto, ya que se utiliza para borrar archivos que se encuentren en dicho servidor con el que estamos conectados. Slo podrn utilizarlo usuarios que tengan los permisos adecuados. Append: Permite reanudar una descarga que por cualquier motivo haya sido interrumpida. Este comando puede resultar muy til cuando intentemos descargas archivos bastante pesados, que tarden mucho tiempo, ya que puedes reanudar la descarga en el punto donde la dejaste. Mput: Este comando nos permite subir varios archivos a la vez al servidor en remoto, es bastante til cuando se necesitan subir varios archivos. Mget: Hace la operacin inversa que el anterior, es decir, descarga varios archivos del servidor en remoto, a la vez. User: Con este comando cambiamos de usuario e iniciamos sesin con otro usuario distinto. Bye: Por ultimo hay un comando que cierra la sesin y sale del programa de ftp de forma que todas las sesiones abiertas se cierran. Todos estos comandos se utilizan en la consola, es decir en el modo texto de Linux. En MS-DOS (y la consola de comandos de Windows) funcionan prcticamente todos los comandos de la misma forma, por lo que si no tenis Linux y queris probar tan slo tendris que instalaros un cliente ftp para MS-DOS en vuestro sistema. Generalmente los sistemas Windows tienen ya instalado el cliente FTP por lnea de comandos, por lo que lo ms normal es que no necesites instalar nada.

Ing. Eduardo A. Aparicio C.

Pgina 190

Vous aimerez peut-être aussi