WAN e Internet
En la gestin de redes, es importante definir zonas confiables por las que los datos pueden
distribuirse sin miedo de que lleguen a manos indebidas, y en las que los usuarios pueden ir de
un sitio a otro sin tener que identificarse a cada momento. Una zona es confiable si podemos
fiarnos de quienes estn dentro, bien porque est fsicamente segregada del resto del mundo,
bien porque el nexo de unin con otras redes establece una poltica fiable de control de
acceso.
Normalmente se quiere conectar una red interna (Intranet) a la red pblica mundial (Internet)
pero evitando la falta de limitaciones y controles implcitos en Internet. Para lo cual se suele
establecer un nico nexo de unin entre las dos redes con un estrecho control. Un punto de
paso obligado permite evitar que nada se escape de una red a otra red, y que nadie la
atraviese sin la debida autorizacin.
Los cortafuegos (firewalls) son dispositivos que controlan el flujo de trfico entre dos o ms
redes, permiten o bloquean el trfico en base a una serie de reglas emanadas de las polticas
de seguridad de la organizacin. Su complejidad reside en las reglas que admiten y en como
toman las decisiones en base a dichas reglas.
Un cortafuegos rara vez se basa en una sola tcnica: por lo general es una combinacin de
tcnicas desarrolladas para solucionar diferentes problemas. La mayora de los cortafuegos
emplean una combinacin de filtrado de paquetes y de servidores proxy. Los problemas a
resolver dependen de los servicios a proporcionar y del nivel de riesgo que se est dispuesto a
aceptar.
Los cortafuegos pueden hacer mucho por la seguridad de un sitio, de hecho pueden:
Permitir que slo pasen los servicios que cumplan con las reglas establecidas para
ello.
Limitar los riesgos. A veces se utiliza un cortafuegos para mantener separada una
seccin de una red local de otra, y as evitar que los problemas que impactan en
una seccin se extiendan a travs de toda la red.
Ataques internos.
Virus. Aunque los cortafuegos revisan todo el trnsito que entra para determinar si
puede pasar a la red interna, la revisin, en la mayora de los casos, se realiza a nivel
de direcciones fuente y destino y de nmeros de puerto, no en los detalles de los
datos. La proteccin contra virus en un cortafuegos no es muy prctico.
Los cortafuegos son cada vez ms necesarios en nuestras redes, pero todos los expertos
recomiendan que no se usen en lugar de otras herramientas, sino junto a ellas.
Como regla general, podemos afirmar que cuanto ms bajas sean las capas en las que trabaja,
su evaluacin ser ms rpida y transparente, pero su capacidad de accin ante ataques
complejos es menor.
Los cortafuegos a nivel de aplicacin evalan los paquetes en la capa de aplicacin, nivel 7 de
OSI, antes de permitir una conexin manteniendo un riguroso control del estado de todas las
La prctica totalidad de los cortafuegos de este tipo, suelen prestar servicios de proxy
(intermediario). Tanto es as que a menudo se identifican biunvocamente unos con otros. Un
proxy es un servicio especfico que controla el trfico de un determinado protocolo (como
HTTP, FTP, DNS, LDAP, SMTP, Telnet, etc.), proporcionando un control de acceso adicional y un
registro detallado de sucesos respecto al mismo.
Los paquetes son las unidades bsicas de informacin de los protocolos TCP/IP, en cada nivel
un paquete tiene dos partes: el encabezado y el cuerpo. El filtrado de paquetes es un
mecanismo que, en base a la informacin del encabezado del paquete, permite controlar qu
informacin puede fluir desde y hacia una red. Los filtros permiten o bloquean los paquetes,
en general mientras se enrutan de una red a otra. Para realizar el filtrado de paquetes se
deben establecer un conjunto de reglas que especifiquen qu tipos de paquetes van a
permitirse y qu tipos van a bloquearse.
La interface fsica del cortafuegos a travs de la que llega el paquete y por la que
habra de darle salida (capa 1).
Bloquear todas las conexiones hacia o desde ciertos sistemas de los que se desconfa.
Bloquear todas las conexiones que entran de la red externa, excepto las conexiones
SMTP (para poder recibir correo electrnico) y HTTP al servidor web.
Bloquear servicios peligrosos, como TFTP, el sistema X Windows, RPC y los servicios r
(rlogin, rsh, rcp, etc.), permitir en su lugar los servicios s (slogin, ssh, scp, etc.)
El filtrado de paquetes puede permitir o negar un servicio, pero no puede identificar a los
usuarios ni a los archivos, ni tampoco puede proteger operaciones individuales dentro de un
servicio. En los firewalls de nivel de aplicacin esto es tericamente posible, utilizando
procedimientos como los denominados DPI (Deep Packet Inspection), esto es inspeccin ms
profunda de los paquetes. Sin embargo el hecho de que la mayora del trfico viene cifrado a
nivel de aplicacin hacen que esto no sea posible.
Tambin hay que tener en cuenta que, por lo general, los protocolos son bidireccionales; casi
siempre incluyen un extremo que enva una solicitud o comando, y otro que enva una
respuesta. Cuando se diseen las reglas para el filtrado de paquetes, se debe tener en cuenta
que los paquetes viajan en ambas direcciones. Por ejemplo, no sirve de nada permitir
paquetes Telnet de salida que enviarn comandos desde el teclado a un anfitrin remoto, si no
se permite que regresen los paquetes para esa conexin que traen el despliegue en pantalla.
Por el contrario, tampoco sirve de nada bloquear media conexin. Muchos ataques pueden
llevarse a cabo si los atacantes pueden introducir paquetes en nuestra red, aunque no puedan
obtener respuestas. Esto es posible porque las respuestas pueden ser lo suficientemente
predecibles para permitir que los atacantes lleven a cabo su parte de la conversacin sin tener
que ver las respuestas. Por ejemplo, aunque el atacante no pueda ver directamente el archivo
/etc/passwd, quiz puedan ejecutar un comando para que le enve una copia.
Las reglas de filtrado, generalmente se expresan como una simple tabla de condiciones y
acciones que se consulta en orden hasta encontrar una regla que permita tomar una decisin
sobre el bloqueo o el reenvo de la trama.
En otros sistemas existe una nica lista de reglas y el paquete es procesado segn
la primera regla de la tabla que defina como tratarlo.
Aparte de Aceptar (accept) o Rechazar (Deny o Drop), la mayora de los cortafuegos de este
tipo poseen un tercer tipo de accin: Descartar (Discard o Stealth). Cuando un paquete es
procesado por una regla que define esta accin, este se elimina silenciosamente sin devolver
error alguno al originario del mismo creando un efecto de agujero negro y evitando as el
cortafuegos revelar su presencia.
Una regla para bloquear los paquetes que entran con direcciones fuente falsificadas
(direcciones de nuestra red interna), podra ser:
No es necesariamente seguro confiar en las direcciones fuente, ya que pueden ser falsas. A
menos que se use alguna clase de autenticacin criptogrfica, no se sabr si en verdad nos
comunicamos con quien queremos o con otra mquina que finge ser ese anfitrin.
Las capacidades para filtrado estn incompletas, lo cual hace difcil o imposible la
implementacin de ciertos tipos de filtros deseables
Los programas para filtrado de paquetes pueden tener errores, los cuales son ms
propensos a convertirse en problemas de seguridad que los errores de los proxy.
Algunos protocolos como los comandos r de Berkeley (rcp, rlogin, rdist, rsh, etc.) y los
protocolos basados en RPC, como VFS y NIS/YP no estn diseados para dar seguridad por
medio del filtrado de paquetes
Cuando una aplicacin crea una sesin TCP con un host remoto, se establece un puerto en el
sistema originario de la conexin con objeto de recibir all los datos provenientes del sistema
remoto. De acuerdo a las especificaciones de TCP, este puerto del host cliente estar
comprendido entre 1.023 y 16.384. En el sistema remoto se establecer, as mismo, un puerto
que ser siempre menor que 1024.
Los cortafuegos con filtrado de paquetes deben permitir trfico entrante en todos los puertos
superiores (1.023 hasta 16.384) para permitir los datos de retorno de las conexiones salientes.
Esto crea un gran riesgo de intrusiones. Los cortafuegos con inspeccin de estado resuelven
eficazmente este problema construyendo una tabla con informacin correspondiente a todas
las sesiones TCP abiertas y los puertos que utilizan para recibir los datos y no permitiendo el
trfico entrante a ningn paquete que no corresponda con ninguna de estas sesiones y
puertos.
Los cortafuegos con inspeccin de estado examinan el establecimiento de cada conexin (en la
capa 4 del modelo OSI) para asegurarse de que es legtima y est permitida. Los paquetes no
son remitidos a su destino hasta que el establecimiento de la conexin ha sido correctamente
completado y verificado.
El cortafuegos mantiene una tabla de conexiones vlidas (en las que se incluye informacin del
estado de cada sesin) y deja pasar los paquetes que contienen informacin correspondiente a
una entrada vlida en dicha tabla de circuitos virtuales. Una vez que la conexin finaliza la
entrada en la tabla es eliminada y el circuito virtual entre los dos hosts es cerrado.
Las tablas de estado de circuitos virtuales suelen contener, por cada conexin, la siguiente
informacin:
La interfaz fsica de la red, si procede, a travs de la que los paquetes llegan (capa 1)
Usando esta informacin y analizando las cabeceras de los paquetes, el cortafuegos es capaz
de determinar cundo un paquete es vlido y cuando no lo es. Los campos de la cabecera de
TCP que habitualmente inspeccionan los cortafuegos son Puertos origen y destino, nmero de
secuencia y nmero de acknowledgement.
Sobre esta base se realizan otro tipo de verificaciones para, por ejemplo, asegurarnos que no
ha habido suplantacin (spoofing), que no existen paquetes mal formados etc. Tambin son
comunes en ellos la implantacin de sistemas de translacin de direcciones, NAT, que ocultan
eficazmente el interior de nuestra red a intrusos externos.
Fragmentacin IP
El campo de banderas TCP contiene el bit ACK (de confirmacin de recepcin). Al examinar
este bit ACK, un enrutador puede determinar si un paquete especfico es el que inicia una
conexin TCP, si el bit ACK no est encendido, o es un paquete subsiguiente si el bit ACK est
encendido. El bit ACK se activa siempre que un extremo de la conexin ha recibido informacin
del otro extremo (confirma la informacin recibida). Por lo tanto, el bit ACK se activa en todos
los paquetes que van en cualquier direccin, excepto en el primer paquete del cliente al
servidor.
Desde el punto de vista del filtrado de paquetes, el problema de la fragmentacin es que slo
el primer fragmento contendr en el encabezado la informacin para los protocolos del nivel
superior, como TCP, que el sistema para filtrado de paquetes necesita para decidir si permite o
no todo el paquete. Normalmente la regla que se aplica es permitir el paso de fragmentos no
iniciales, y hacer el filtrado slo en el primer fragmento de un paquete. Esto es seguro ya que,
si el filtrado decide eliminar el paquete original, sin importar cuntos reciba. Si no se puede
reconstruir el paquete original, el paquete reunido en forma parcial no ser aceptado.
El anfitrin destino guarda los fragmentos en la memoria durante cierto lapso de tiempo,
esperando obtener la pieza que falta, cuando el anfitrin destino se da por vencido para
unificar el paquete, enva un mensaje ICMP de tiempo expirado para unificacin de paquete
al anfitrin fuente. Este mecanismo hace posible que los atacantes usen los paquetes
fragmentados en un ataque de negacin del servicio. No hay nada que hacer con tal ataque de
negacin del servicio, pero se pueden filtrar los mensajes de ICMP, para que el atacante no
reciba informacin sobre la existencia del servidor y sobre porque no tuvo xito la conexin.
TCP
Reconocer los paquetes TCP de inicio de conexin permite aplicar una poltica para que los
clientes internos se conecten a servidores externos pero que evite que clientes externos se
conecten a servidores internos. Esto se lograr permitiendo que los paquetes TCP de inicio de
conexin (los que no tienen encendido el bit ACK) slo salgan de los clientes internos a
UDP
El cuerpo de un paquete IP puede contener un paquete UDP en lugar de un paquete TCP. Cada
paquete (datagrama) UDP es independiente. Los paquetes UDP no son parte de un circuito
virtual, como los de TCP.
Algunos productos de filtrado de paquetes, utilizan tablas en memoria para apuntar los
paquetes UDP salientes que han visto. As, pueden permitir que nicamente regresen los
paquetes de respuesta correspondientes a travs del mecanismo de filtrado. Para que un
paquete entrante se tome como una respuesta debe ser del anfitrin y puerto que envi el
paquete de salida. Las reglas creadas para permitir las respuestas son de tiempo limitado;
vencen despus de un lapso determinado de tiempo.
ICMP
ICMP se usa para mensajes de estado y control de IP. Muchos sistemas para filtrado de
paquetes permiten filtrar paquetes ICMP basados en el campo tipo del mensaje.
Los sistemas proxy evitan la frustracin del usuario y las inseguridades de un anfitrin con
doble acceso, automatizando la interaccin con tal anfitrin. El usuario tiene la ilusin de que
trata directamente (o casi en forma directa) con el servidor que est en Internet, con un
mnimo de interaccin directa con el anfitrin con doble acceso.
Un servicio proxy requiere dos componentes: un servidor proxy y un cliente proxy. En esta
situacin, el servidor proxy se ejecuta en el anfitrin con doble acceso. Un cliente proxy es una
versin especial de un programa cliente comn (por ejemplo, un cliente Telnet o FTP) que se
comunica con el servidor proxy en lugar de hacerlo con el verdadero servidor que est en
Internet, con frecuencia, los programas cliente comunes pueden usarse como clientes proxy.
El servidor proxy evala solicitudes del cliente proxy y decide, en base a un conjunto de reglas,
cules aprobar y cules negar. Si aprueba una solicitud, el servidor proxy contacta con el
verdadero servidor en nombre del cliente (de ah viene el trmino proxy, representante), y
procede a transmitir las solicitudes del cliente proxy al verdadero servidor, y las respuestas del
verdadero servidor al cliente proxy.
Los servidores proxy manejan toda la comunicacin entre usuarios y servicios de Internet de
una forma transparente. Para el usuario, un servidor proxy presenta la ilusin de que trata
directamente con el verdadero servidor. Al verdadero servidor, el servidor proxy presenta la
ilusin de que trata directamente con un usuario en el anfitrin proxy. La figura VII-3 ilustra la
diferencia entre la realidad y la ilusin con los sistemas proxy.
Los sistemas proxy slo son efectivos cuando se utilizan junto con algn mtodo para restringir
el trfico a nivel IP entre los clientes y los verdaderos servidores, como un enrutador de
proteccin o un anfitrin con doble acceso. Si hay conexin a nivel IP entre los clientes y los
verdaderos servidores, los clientes pueden saltarse el sistema proxy (y supuestamente tambin
puede hacerlo alguien del exterior). Un sistema proxy proporciona acceso a Internet a un solo
anfitrin, o a un nmero muy pequeo de anfitriones, aunque parece que lo proporciona a
todos.
El servidor proxy no slo enva las solicitudes de los usuarios a los verdaderos servicios de
Internet. Tambin puede controlar lo que hacen los usuarios, ya que puede tomar decisiones
sobre las solicitudes que procesa.
Aunque los programas proxy estn ampliamente disponibles para los servicios ms antiguos y
simples, es ms difcil encontrar software para servicios nuevos o poco comunes. Es usual que
exista un retraso entre la introduccin de un servicio y la disponibilidad de servidores proxy
para l. Hasta que no se disponga de un software proxy adecuado, un sistema que necesite
nuevos servicios tal vez deba ponerse fuera del cortafuegos, lo cual abre riesgos potenciales de
seguridad.
Los servicios proxy pueden requerir servidores diferentes para cada servicio
Quiz se necesite un servidor proxy para cada protocolo, porque el servidor proxy debe
comprender el protocolo para determinar que permite y que no, y para hacerse pasar como
cliente ante el verdadero servidor y como verdadero servidor ante el cliente proxy.
Coleccionar, instalar y configurar todos estos servidores puede requerir mucho trabajo
Los servicios proxy por lo general requieren de modificaciones a los clientes, a los
procedimientos o a ambos
Excepto en contadas ocasiones los servidores proxy necesitan modificar los clientes y/o los
procedimientos. Cualquier tipo de modificacin acarrea problemas, las personas no pueden
utilizar las herramientas con sus instrucciones normales. Las aplicaciones proxy funcionan peor
que las aplicaciones no proxy.
Un servicio proxy requiere insertar el servidor proxy entre el cliente y el verdadero servidor, lo
cual exige interaccin directa entre los dos. Por ejemplo, un servidor como talk, que tiene
interacciones complicadas y desordenadas, quiz nunca pueda usarse con un servicio proxy.
El uso de proxy requiere determinar que operaciones son seguras en un protocolo. No todos
los protocolos proporcionan formas fciles de hacer esto. Por ejemplo, el protocolo X
Windows, proporciona un gran nmero de operaciones inseguras, y es difcil hacerlo funcionar
cuando se le quitan las operaciones inseguras.
Un proxy a nivel aplicacin es el que sabe sobre la aplicacin especfica para la cual
est proporcionando servicios; comprende e interpreta los comandos en el protocolo
de la aplicacin. Un ejemplo de este tipo es Sendmail o Apache o NGINX que
implementan un protocolo de recibir y enviar.
Un proxy a nivel circuito es el que crea un circuito entre el cliente y el servidor sin
interpretar el protocolo de la aplicacin. Un ejemplo son las modernas compuertas
proxy hbridas que parecen como proxy para el exterior pero como enrutador con
filtrado para el interior.
Para poder establecer una conexin proxy, se debe saber a dnde dirigirla, un anfitrin proxy
slo puede recibir conexiones que van hacia l y tambin hay que indicarle donde hacer la
conexin hacia fuera. Un proxy a nivel de aplicacin puede obtener esa informacin del
protocolo de aplicacin (ya sea utilizando las caractersticas de diseo, o interpretando datos
proporcionados por el usuario). Un proxy a nivel de circuito no puede interpretar el protocolo
de aplicacin y necesita que le proporcionen la informacin a travs de otros medios (por
ejemplo mediante un cliente modificado que le d al servidor la direccin de destino).
Aunque a nivel aplicacin y a nivel circuito, son trminos utilizados, a menudo se suelen
utilizar los trminos dedicados y genricos. Un servidor proxy dedicado es el que sirve a un
solo protocolo; un servidor proxy genrico es el que sirve a varios protocolos. En la prctica, los
servidores proxy dedicados son a nivel aplicacin; los servidores proxy genricos son a nivel
circuito.
Hay otro tipo de proxy, denominados inteligentes, un servidor proxy inteligente hace ms
cosas que simplemente transmitir peticiones. Por ejemplo, el servidor proxy CERN HTTP utiliza
l cach de datos; para por ejemplo que las distintas peticiones para los mismos datos no
salgan a travs de Internet. Es ms fcil que sea inteligente un servidor proxy a nivel aplicacin
que uno a nivel circuito que tiene habilidades limitadas.
Translacin de Puertos
El sistema de translacin de Puertos (PAT) resuelve los dos problemas vistos en el esquema
anterior convirtindolo en la mejor forma de implementar NAT. En primer lugar no es
necesario usar la direccin externa del cortafuegos, sino que podemos crear otra direccin
virtual para este propsito. En segundo lugar, es posible hacer accesibles recursos internos a
los usuarios del exterior.
El cortafuegos usa el puerto del cliente para identificar cada conexin entrante y construye a
tal efecto una tabla de translaciones como la siguiente:
En el mdulo anterior mencionamos diferentes formas de construir una VPN: IPSec o L2TP del
IETF o el PPTP de Microsoft.
El principal problema de las VPN es elevado coste de recursos que supone el cifrado completo
de las comunicaciones, lo cual reduce considerablemente el ancho de banda efectivo. Una
solucin para mitigar este problema es usar una tarjeta cifradora por hardware, que suelen
reducir aproximadamente un 50% el tiempo necesario en realizar el cifrado.
Un modelador del ancho de banda se emplaza entre la red interna y la salida a Internet (el
mismo lugar del cortafuegos, de ah su inclusin en los mismos) y puede ser comparado con
un guardia de trfico. Mediante reglas se definen distintas colas, cada una de las cuales
alberga un tipo distinto de trfico: e-mails, transferencias de ficheros, trfico http, archivos
musicales o de vdeo, etc. Cada una de las colas de trfico posee una prioridad distinta, de
forma que podemos poner en primer lugar aquellas que correspondan al trfico ms crtico
para nuestra organizacin.
Aunque pueda parecer que estos mtodos introducen ms retardo que desahogo en el trfico
de la red no es as en absoluto: los Shapers analizan, al igual que los cortafuegos con
inspeccin de estado slo los primeros paquetes de una conexin y una vez que esta es
identificada la asignan a una cola de trfico en particular hasta que esta finaliza.
Los anfitriones con doble acceso pueden proporcionar un alto nivel de control. Sin embargo, es
necesario mucho trabajo para aprovechar de manera consistente las ventajas potenciales de
anfitrin con doble acceso.
Internet
Anfitrin con
doble acceso
FIREWALL
RED INTERNA
Un anfitrin con doble acceso slo puede proporcionar servicios tipo proxy, o permitir que los
usuarios inicien una sesin directa con l. Pero esto ltimo puede activar servicios
considerados inseguros, por ello, muchos usuarios no consideran conveniente emplear un
anfitrin con doble acceso iniciando una sesin con l antes de salir a Internet.
El filtrado de paquetes tambin permite que el anfitrin bastin abra conexiones permitidas al
mundo exterior (lo permitido lo determina la poltica de seguridad especfica del sitio).
Permitir que otros anfitriones internos abran conexiones con anfitriones en Internet para
ciertos servicios (permitiendo esos servicios a travs del filtrado de paquetes).
Se pueden mezclar estos enfoques para diferentes servicios; algunos pueden permitirse
directamente por medio del filtrado de paquetes; otros pueden permitirse slo de manera
indirecta por medio de proxies. Todo depende de la poltica especfica que el sitio intente
cumplir.
Debido a que esta arquitectura permite que los paquetes se muevan de Internet a las redes
internas, puede parecer ms arriesgada que la arquitectura de anfitrin con doble acceso,
diseada para que ningn paquete externo alcance la red interna. Sin embargo, en la prctica,
la arquitectura de anfitrin con doble acceso tambin es propensa a fallar permitiendo que, en
realidad, pasen los paquetes de la red externa a la interna. Adems, es ms fcil defender un
enrutador, que proporciona un conjunto muy limitado de servicios, que defender un anfitrin.
Para casi todos los propsitos, la arquitectura de anfitrin de proteccin proporciona ms
seguridad y facilidad de uso que la arquitectura de anfitrin con doble acceso.
En una arquitectura de anfitrin de proteccin, la red interna est totalmente abierta para ser
atacada desde el anfitrin bastin. Al aislar al anfitrin bastin en una red de permetro, se
puede reducir el impacto de una entrada forzada.
La figura muestra una posible configuracin de cortafuegos con una arquitectura de subred de
proteccin.
Con una red de permetro, si alguien entra a un anfitrin bastin, podr curiosear slo su
trfico. Todo el trfico en la red de permetro debe ser de o para el anfitrin bastin, o hacia o
desde Internet.
Consultas que entran al servicio de nombres de dominio (DNS) del sitio, etctera
Los servicios que salen (de clientes internos a servidores en Internet) se manejan de alguna de
las formas siguientes:
Instalando los servidores proxy para que se ejecuten en el anfitrin bastin para permitir a
los clientes internos acceder a los servidores externos de manera directa.
Configurando el filtrado de paquetes a fin de que los clientes internos se comuniquen con
los servidores proxy en el anfitrin bastin y viceversa, para prohibir las comunicaciones
directas entre clientes internos y el mundo exterior.
La mayora de las tareas del anfitrin bastin son para actuar como servidor proxy para varios
servicios, ya sea ejecutando software servidor proxy especializado para protocolos especficos
(como HTTP o FTP), o ejecutando servidores estndar para protocolos basados en proxy (como
SMTP).
El enrutador interior realiza la mayor parte del filtrado de paquetes para el cortafuegos.
Permite que servicios seleccionados salgan de la red interna hacia Internet. Estos servicios son
los que un sitio puede soportar y proporcionar con seguridad utilizando el filtrado de paquetes
en lugar de servicios proxy. Cada sitio debe establecer su propia definicin de qu significa
seguro, tendr que considerar sus propias necesidades, capacidades y limitaciones; no hay
una respuesta nica sobre los servicios a permitir para todos los sitios.
El objetivo del enrutador interior es limitar los servicios entre el anfitrin bastin y la red
interna para reducir el nmero de mquinas (y de servicios en esas mquinas) que pueden ser
Limitar los servicios permitidos entre el anfitrin bastin y la red interna slo a los que
en realidad se necesiten, como SMTP (para que el anfitrin bastin pueda enviar el
correo electrnico que entra), o DNS (para que el anfitrin bastin pueda responder a
las preguntas de las mquinas internas, o preguntarles).
Limitar los servicios, hasta donde sea posible, permitindoles ir o venir de anfitriones
internos determinados; por ejemplo, SMTP podra estar limitado slo a conexiones
entre el anfitrin bastin y el servidor o servidores de correo interno.
Las nicas reglas para el filtrado de paquetes realmente especiales en el enrutador exterior
son las que protegen las mquinas de la red de permetro (esto es, los anfitriones bastin y el
enrutador interno).
El resto de reglas que se podran establecer en el enrutador exterior son duplicados de las del
enrutador interior. Son reglas que evitan que el trfico inseguro pase entre los anfitriones
internos e Internet. Para soportar los servicios proxy, el enrutador interior debe permitir que
los anfitriones internos enven paquetes de algunos protocolos hacia el anfitrin bastin, el
enrutador exterior debera dejar pasar esos protocolos siempre y cuando vengan del anfitrin
bastin. Estas reglas son deseables para dar un nivel adicional de seguridad, pero en teora
slo bloquean paquetes que no pueden existir porque ya han sido bloqueados por el
enrutador interior. Si en realidad existen, es porque el enrutador interior fall o alguien ha
conectado un anfitrin inesperado a la red de permetro.
Una de las tareas que el enrutador exterior puede realizar con xito, y que no se puede hacer
fcilmente en otro lugar, es el bloqueo de cualquier paquete que entra de Internet que tiene
direcciones fuentes falsificadas. Tales paquetes dicen venir desde la red interna, pero en
realidad entran de Internet.
El enrutador interior puede hacer esto, pero no determinar si los paquetes que deben provenir
de la red permetro son falsos. Aunque en la red permetro no debe haber nada totalmente
Para que el rendimiento de los usuarios propios no se vea mermado por las actividades de
usuarios externos, se puede decidir que un anfitrin bastin gestione los servicios importantes
para los usuarios internos (como SMTP, proxy, etc.), mientras que el otro anfitrin maneje los
servicios que proporciona Internet (por ejemplo, FTP annimo).Tambin, por razones de
rendimiento, se pueden instalar varios anfitriones bastin con los mismos servicios, aunque
esta solucin presenta el problema del balanceo de cargas.
Para obtener redundancia el cortafuegos se puede configurar con varios anfitriones bastin,
de este modo, si uno falla o est sobrecargado los servicios pueden ser proporcionados por
otro. Por ejemplo, se podra configurar y designar varios anfitriones bastin como servidores
DNS para un dominio (por medio de registros NS de DNS que especifiquen los servidores de
nombre para un dominio) o como servidores SMTP (por medio de registros MX [Intercambio
de correo] de DNS, que especifican qu servidores aceptarn correo para un anfitrin o
dominio determinados) o ambos.
Por razones de seguridad y para evitar que los conjuntos de datos de los servicios se
interfieran entre s, se podra, por ejemplo, proporcionar un servidor http para que lo usen los
clientes de la empresa en Internet, y otro para que lo use el pblico en general. Al
proporcionar dos servidores, se pueden ofrecer diferentes datos a los clientes y es posible
mejorar el rendimiento, pues permite usar una mquina menos cargada y ms potente.
Tambin se podran ejecutar los servidores http y el FTP annimo en mquinas
independientes, a fin de eliminar la posibilidad de que se pueda utilizar un servidor para poner
en riesgo el otro
Se necesita un enrutador que permita especificar tanto los filtros de entrada como los de
salida en cada interface. En una interface del enrutador se mantiene la red de permetro, y en
la otra interfaz se efecta la conexin a la red interna. Cierta parte del trfico fluira de manera
directa entre la red interna e Internet (el trfico permitido por las reglas establecidas en el
enrutador para el filtrado de paquetes) y la otra parte fluira entre la red de permetro e
Internet, o la red de permetro y la red interna (el trfico manejado por los servidores proxy).
Esta arquitectura, como la de anfitrin de proteccin, hace vulnerable el sitio porque slo hay
un enrutador.
Quiz haya casos en que se utilice una sola mquina con doble acceso como anfitrin bastin y
como enrutador exterior. Se puede usar un anfitrin con doble acceso para enrutar trfico y
aunque no dar el mismo rendimiento o la flexibilidad que un enrutador dedicado, ser
suficiente para una sola conexin de bajo ancho de banda.
Usar varios enrutadores interiores para conectar la red de permetro a varias partes de la red
interna puede causar muchos problemas y, en general, es mala idea.
Una razn para instalar varios enrutadores interiores es si se tienen varias redes internas, y
existen razones tcnicas, organizativas o polticas para no compartir un solo enrutador.
Aunque la forma ms sencilla de acomodar estas redes sera darles interfaces separadas en un
solo enrutador, si hay demasiadas redes para un solo enrutador, o si compartir un enrutador
es inaceptable por otras razones, se puede instalar un backbone interno (red dorsal interna) y
conectarlo a la red de permetro con un solo enrutador, como muestra la figura de abajo:
Para tener redundancia, se tienen varias conexiones con Internet, a travs de diferentes
proveedores de servicio (multihoming).
Anexar varios enrutadores exteriores que van a la misma red externa (por ejemplo, dos
proveedores de Internet distintos) no es un problema de seguridad significativo. Aunque esta
solucin permite tener diferentes conjuntos de filtros, sera mejor tener un enrutador exterior
con mltiples interfaces de red exterior.
Las cosas son ms complejas si las conexiones son a diferentes lugares; por ejemplo, una a
Internet y otra a un sitio con el que se est colaborando y para el que se necesita ms ancho
de banda. Este tipo de arquitectura tiene sentido para evitar que un atacante que entrara al
anfitrin bastin de la red de permetro curiosease el trfico sensible entre su sitio y el
colaborador. En caso de ser as, convendra instalar varias redes de permetro en lugar de
varios enrutadores exteriores en una sola red de permetro.
No tiene mucho sentido pagar por dos conexiones a Internet y luego ejecutar ambas a travs
del mismo enrutador o enrutadores o dos enrutadores a travs de una nica red de permetro.
Tener mltiples redes de permetro es menos arriesgado que tener mltiples enrutadores
interiores compartiendo la misma red interna, pero aun as el mantenimiento es un problema.
Teniendo mltiples enrutadores internos se pueden presentar varios puntos de riesgo. Esos
enrutadores deben vigilarse con cuidado para que continen aplicando las polticas de
seguridad apropiadas.
Muchas de las herramientas y tcnicas que se utilizan para construir cortafuegos para Internet
tambin son tiles para construir estos cortafuegos internos.
El correo electrnico es uno de los servicios ms vulnerables. Los servidores de correo son
blancos tentadores para los atacantes, porque aceptan datos arbitrarios de cualquier anfitrin
externo.
Un sistema de correo tiene tres partes, cada una de estas partes es vulnerable por razones
distintas:
Un agente de usuario deja que el receptor lea el correo y componga correo de salida.
El agente de usuario se ejecuta como un usuario y no se comunica con el mundo
exterior; sin embargo, con frecuencia puede ejecutar otros programas arbitrarios en
respuesta a los datos recibidos.
No hay mucho que pueda hacer un servidor contra ataques manejados por datos; tiene que
permitirse el paso de los datos, o no se podr recibir correo. La mejor postura es ejecutar
agentes de entrega y agentes de usuario actualizados y educar a los usuarios.
Existe una tendencia generalizada a ofrecer acceso al correo a travs de un interfaz web. Esto
no sustituye a los protocolos que aqu se explican que los tendr que implementar el servidor
web a travs de una pasarela.
SMTP es un sistema de guardar y enviar, y tales sistemas se combinan bien con las aplicaciones
de cortafuegos, en particular con las que utilizan servicios proxy. La mayora de los sitios
envan las conexiones SMTP a un anfitrin bastin que ejecuta un servidor SMTP seguro, que
es el proxy. Por ello no se permitir que los anfitriones externos se pongan en contacto con
anfitriones internos por medio de SMTP. Slo anfitriones configurados especialmente pueden
aceptar conexiones SMTP en forma segura.
SMTP es un servicio basado en TCP; los receptores SMTP utilizan el puerto 25. Los remitentes
de SMTP emplean un puerto seleccionado al azar por encima del 1023.
El programa de correo ms usado por los sistemas UNIX es Sendmail. Sendmail es muy potente
pero tambin tiene un largo y preocupante historial de problemas de seguridad. Una de las
razones por las cuales Sendmail tiene problemas de seguridad es que es un programa muy
complejo, que realiza varias funciones y necesita obtener los permisos necesarios para
hacerlas todas, Sendmail necesita privilegios de root.
Utilizar las caractersticas de guardar y enviar de SMTP para enviar todo el correo
que entra y sale a travs del anfitrin bastin
Utilizar el filtrado de paquetes para limitar las conexiones SMTP de los anfitriones
externos slo al anfitrin bastin
Utilizar el filtrado de paquetes para limitar las conexiones SMTP del anfitrin
bastin a un servidor interno o conjunto de servidores especficos
Permitir que cualquier sistema interno enve correo de salida al anfitrin bastin
Educar a los usuarios en relacin con los engaos basados en el correo, as como
darles instrucciones sobre la ejecucin de determinados programas o para cambiar
sus contraseas a cadenas especficas
Generalmente, los filtros a establecer son para permitir SMTP de entrada y salida slo entre
anfitriones externos y el anfitrin bastin, y entre el anfitrin bastin y los servidores de
correo internos.
POP e IMAP son protocolos cliente-servidor que sirven para manejar buzones electrnicos de
usuario.
Con POP, el buzn de un usuario (el verdadero archivo donde el correo electrnico del usuario
se guarda para que lo vea despus) est en un servidor, no en la mquina personal del usuario.
Cuando el usuario quiere su correo electrnico, accede a su buzn utilizando un programa
cliente en su propia mquina empleando el protocolo POP. POP echa un cerrojo al buzn y no
permite el acceso concurrente al buzn a ninguna otra aplicacin, ni siquiera para recibir
mensajes nuevos. POP permite conocer los mensajes que hay en el servidor y su longitud,
transferir mensajes, marcarlos para su borrado y cerrar la sesin borrando los mensajes
marcados.
Primera, evitar que los clientes y servidores POP estndar enven la contrasea POP del
usuario a travs de Internet en forma clara, de modo que cualquiera que espe la conexin
puede captar y volver a utilizarla despus con todos los privilegios del usuario (no slo su
correo electrnico); en la mayora de los casos, la contrasea POP es la misma que la
contrasea de usuario de inicio de sesin. Existen variantes de POP ms seguras que
soportan Kerberos (con frecuencia llamado KPOP) y contraseas que no se pueden volver
a utilizar para autenticar (con frecuencia llamado APOP), pero estas variantes seguras no
estn soportadas ampliamente.
POP es un servicio basado en TCP. Los servidores POP para la versin actual del protocolo POP,
denominada POP3, emplean el puerto 110. Los servidores para el protocolo POP2, que es ms
antiguo, utilizan el puerto 109 (POP1 nunca se utiliz extensamente). Los clientes POP ocupan
puertos por encima del 1023. Las reglas a establecer para el filtrado de paquetes podran ser
las siguientes:
Conexin POP de
Fuera Interno Externo TCP 110 >1023 S entrada, servidor a
109a cliente
Conexin POP de
salida, cliente a
b
Fuera Interno Externo TCP >1023 110 servidor
109a >1023
a
POP3 utiliza el puerto 110; POP2 utiliza el puerto 109.
b
ACK no est encendido en el primer paquete de este tipo (establecer conexin) pero lo estar
en los dems
Una conexin POP de salida permitira a los usuarios de un sitio obtener su correo desde otros
sitios, la cual habra que permitir si existiera cierta demanda. POP a travs de Internet es tan
poco comn que quiz a nadie le interesa POP de salida.
Las conexiones POP entrantes son las que permiten a las personas que estn en otros sitios
leer el correo entregado para ellas en su sitio. Si se requiere esta funcionalidad las conexiones
POP se deben limitar a un servidor POP ejecutndose en un solo anfitrin, lo cual limitar el
nmero de cuentas vulnerables y la informacin que pasa a travs de Internet.
No permitir que los usuarios transfieran el correo de su sitio a travs de Internet por medio
de POP, a no ser que se pueda hacer sin dar a conocer contraseas o que no preocupe la
confidencialidad del correo en s o se tenga un canal cifrado para transferirlo.
Si hay usuarios que desean transferir correo desde otros sitios por medio de POP, se debe
hacer filtrado de paquetes, tal vez limitndolo a conexiones provenientes de sitios
especficos o a anfitriones especficos de la red interna.
El uso de proxy podra ser una solucin efectiva para algunos problemas de POP.
IMAP se defini desde su versin 3 con capacidades de seguridad de forma que permite el uso
de avanzados APIs como Servicio Genrico de Seguridad (GSS), o STARTTLS. IMAP se presta
sobre TCP en el puerto 220, o sobre SSL/TLS en el puerto 993.
El servicio WWW se proporciona sobre el protocolo HTTP, que va sobre TCP en su puerto 80,
habitualmente.
Los proxy-caches de HTTP a menudo los encontramos en el puerto 8080. Cuando se quiere dar
un servicio seguro, se utiliza HTTP sobre un canal seguro SSL/TLS en el puerto 443.
El uso del servidor http como servidor proxy puede proporcionar un beneficio adicional, al
utilizar cach localmente con las pginas web obtenidas de Internet, que permite mejorar el
rendimiento del cliente y reducir los requerimientos de ancho de banda de la red. Esto lo hace
asegurndose que las pginas web ms usuales se obtengan solamente una vez en un sitio; la
segunda vez y subsiguientes se obtiene la copia de la pgina del cach local, en lugar de una
copia nueva del servidor original desde Internet.
Los clientes pueden ser atacados por servidores maliciosos, que pueden intentar desde
acceder a informacin de contexto/sesin presente en el cliente (navegador), instalar
programas maliciosos, o hacerles vcitimas de ataques ms sofisticados como los de cross-site
scripting, en los que participa ms de un servidor y ms de uno puede ser malicioso.
Los problemas de seguridad para los servidores http son muy similares a los de cualquier otro
servidor que maneja conexiones en Internet. Habr que asegurarse que los usuarios de esas
conexiones slo puedan acceder a lo que se quiere que tengan acceso y que no puedan
engaar al servidor para obtener algo que no debieran. Para ello se pueden emplear la
combinacin de las siguientes acciones:
No poner nada confidencial en la mquina servidor. De esta forma, aunque alguien logre
entrar, no encontrar nada que no pudiera obtener por los procedimientos de acceso
normales.
Utilizar el mecanismo chroot para restringir la operacin del servidor a una seccin
especfica de su jerarqua en el sistema de archivos.
Configurar el resto de la seguridad de la red para que, aun cuando un atacante logre
comprometer totalmente el anfitrin servidor, le cueste mucho trabajo llegar ms adentro.
No poner el servidor en la red interna.
1. Que un atacante engae a los programas externos para hacer algo que no debe
Debido a que es difcil tener certeza de la seguridad de los guiones en s, lo mejor que se puede
hacer es proporcionar un entorno seguro (utilizando chroot y otros mecanismos) donde se
puedan ejecutar los guiones sin que se puedan salir de l.
Mediante una inyeccin de cdigo, o utilizando una combinacin con otro servicio: servidor de
ficheros en red CIFS, NFS, o FTP annimo, etc.
Ante este tipo de casos, de nuevo, la mejor postura es limitar las reas del sistema de archivos
a las que cada servidor pueda acceder (normalmente usando el comando chroot) y
proporcionar un entorno restringido en donde se pueda ejecutar cada servidor
Los servidores http pueden proporcionar archivos de datos en varios formatos: de texto
simple, html, documentos PostScript, de video sin movimiento (DIF y JPEG), de pelculas
(MPEG), de audio, etc. Los clientes http casi nunca intentan comprender y procesar todos
estos formatos de datos. Comprenden alguno (como HTML, texto libre y GIF) pero en
ocasiones dependen de programas externos para manejar el resto. Estos programas externos
muestran, reproducen, hacen una presentacin preliminar, imprimen o hacen lo que sea
apropiado para el formato de los datos.
El problema que se plantea es como evitar que los usuarios cambien sus archivos de
configuracin para agregar nuevas aplicaciones, ejecutar aplicaciones distintas o pasar
argumentos diferentes.
No existe una defensa simple e infalible contra este tipo de problemas. Se depende del
cuidado con que se hayan configurado los programas cliente y auxiliares que se hayan
instalado, as como de la formacin y entrenamiento de los usuarios para que sean conscientes
de estos problemas.
Configurar el servidor http para que controle a que se tiene acceso; en especial, hay que
estar pendiente de las formas en que se podra cargar un programa en el sistema (por
ejemplo, por medio de correo o FTP) y luego ejecutarlo por medio del servidor http.
Controlar cuidadosamente los programas externos a los que puede acceder el servidor http.
Utilizar http en un servidor proxy con capacidad de memoria cach brinda beneficios en cuanto
a ancho de banda de la red, as como en el control de usuarios.
Configurar los clientes http con cuidado y advertir a los usuarios de que no deben cambiar la
configuracin ni instalar extensiones, etc. basndose en consejos externos y nunca por correo
electrnico.
Por lo general los servidores SSH utilizan el puerto 22 y los clientes puertos por encima del
1023.
SSH permite establecer una sesin en un servidor remoto y adems facilita el establecimiento
de tneles para transportar otros servicios, por ejemplo la interfaz grfica (XWindows o el que
sea), una conexin con un servidor de base de datos, etc. Hay clientes y servidores de SSH para
la inmensa mayora de los sistemas operativos ms populares, y muchos de ellos son software
libre.
No permitir a todos los usuarios, por ejemplo limitarlo a usuarios fsicos que lo
soliciten.
El nico punto dbil es que las credenciales tpicamente se almacenan en la mquina del
usuario.
Hoy en da los usuarios a menudo acceden a los servicios utilizan mquinas diferentes, si
queremos garantizar el acceso a SSH desde cualquiera de ellas, debera de actualizarse en el
servidor la clave pblica del usuario en cada mquina y aadirla a la lista de mquinas
autorizadas (authorized_keys) en su cuenta del servidor de SSH, y el administrador debera de
encargarse de mantener actualizada la lista de mquinas conocidas (known_hosts) en todas las
mquinas.
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyWRhtTB2ugfTLPYbeqw...=
amarin@host
JAEFw012ofBNfaFbLiaOJfOTwQbsyfzqRnGJyhRtcjo4P4il+v/mcJkQV1R5gqiu
Itr
...
3I26DcyG/fzfd4E+5GGsAz0z/CPSpzUzgzBMkWFbDEqVlkVeOHFYrQ==
-----END RSA PRIVATE KEY-----
The programs included with the Debian GNU/Linux system are free
software; the exact distribution terms for each program are
described in the individual files in /usr/share/doc/*/copyright.
IPTables es una potente herramienta para gestionar y especificar el filtrado de paquetes y las
traducciones NAT disponible en cualquier ditribucin linux. IPTables utiliza por debajo netfilter.
Desde los kernels 2.4, netfilter es el sucesor de ipchains (2.2) y de ipfwadm (2.0).
IPTables utiliza listas de reglas en la tabla de filtros, a estas listas se les denomina cadenas.
Cuando un paquete entra en una cadena, se va comparando con las reglas de la cadena. Si
encaja con la regla, se tomar la poltica de la regla, si no encaja con ninguna, se aplicar la
poltica de la cadena (generalmente DROP, ACCEPT o REJECT). El ncleo comienza con tres
cadenas por defecto: INPUT, FORWARD y OUTPUT. Grficamente se representa as:
iptables -N RULE_POP
iptables -A OUTPUT -p tcp -m tcp --dport 110 -m state --state NEW -j RULE_POP
iptables -A INPUT -p tcp -m tcp --dport 110 -m state --state NEW -j RULE_POP
iptables -A FORWARD -p tcp -m tcp --dport 110 -m state --state NEW -j RULE_POP
Ahora bien, si lo que queremos es denegar el uso de POP3 y solo permitir el uso de POP con
SSL, cambiaramos en la ltima regla anterior ACCEPT por DROP y aadiramos las reglas:
iptables -A OUTPUT -p tcp -m tcp --dport 995 -m state --state NEW -j RULE_POP3S
iptables -A INPUT -p tcp -m tcp --dport 995 -m state --state NEW -j RULE_POP3S
iptables -A FORWARD -p tcp -m tcp --dport 995 -m state --state NEW -j RULE_POP3S
iptables -X ATSSH
iptables -N ATSSH
iptables -A ATSSH -m recent ! --rcheck --seconds 600 --hitcount 15 --rttl --name SSH --rsource -
j RETURN
iptables -A ATSSH -j LOG --log-level debug --log-prefix "Parado ataque a SSH: "
Por ltimo aadimos mediante una regla en la cadena INPUt la cadena que acabamos de
definir (ATSSH):
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --name SSH --set --
rsource -j ATSSH
Seguir la especificacin de cadenas y reglas, puede llegar a ser tedioso e incluso complicado.
Existen herramientas que ofrecen un interfaz de usuario ms amigable que la lnea de
comandos de iptables, por ejemplo fwbuilder, turtle firewall, o ufw.
Tambin podemos seleccionar una regla y pedirle que la compile para examinar el resultado:
DNS define los dominios de nombres en Internet de frma jerrquica en rbol, y las separa por
etiquetas y un carcter de separacin, el punto (.), por ejemplo www.google.es.
DNS establece una separacin entre las administraciones de las distintas zonas de Internet.
Por ejemplo uc3m.es denota la zona correspondiente a la autoridad de la Universidad Carlos III
de Madrid.
Cada zona corresponde a un dominio, en el que puede haber otros subdominios. Si se delega
la autoridad de los subdominios a otra autoridad, entonces se crea una nueva zona. Por
ejemplo, it.uc3m.es denota la zona del departamento de ingeniera telemtica dentro de la
misma universidad, sin embargo der.uc3m.es es un subdominio dentro del dominio de la
universidad, porque no se ha pedido la delegacin.
La zona jerrquicamente ms alta es la que cubren los servidores raz de Internet (root-
servers) y corresponde a la etiqueta despus del punto final (etiqueta vaca). A continuacin se
encuentran las etiquetas de dominios ms altos o top-level domains (.com, .edu, .gov, .mil) y
las geogrficas (.es, .de, .fr, uk). El ICANN es la autoridad que se encarga de los nombres en
Internet, creacin de TLD, etc. Esto comporta asignacin de nombres y llevar las tareas de
gestin asociadas al seguimiento de zonas asignadas, el ICANN cuenta con agentes de registro
DNS funciona de la siguiente manera: cuando una aplicacin necesita conocer algn dato
sobre un dominio/nombre, construye una consulta que enva a su servidor DNS. Si ste tiene la
informacin guardada de preguntas anteriores la devolver directamente, y en caso contrario
reenviar la consulta al servidor de nombres sufijo cuya direccin conozca. Por esta razn
todos los servidores DNS estn obligados a conocer las direcciones de todos los servidores raz.
Una vez obtenida la respuesta se devolver al que la origin (y los servidores intermedios la
almacenarn en sus cachs durante el tiempo marcado por el administrador de la zona.
Las bsquedas se producen cuando un cliente DNS (o un servidor DNS que acta por parte
de un cliente) consulta a un servidor DNS sobre cierta informacin; por ejemplo, la
direccin IP de un nombre de anfitrin especfico, el nombre de anfitrin de una direccin
IP determinada, el servidor de nombres para un dominio especfico, o el servidor de correo
para un anfitrin.
Las transferencias de zona se producen cuando un servidor DNS (el servidor secundario)
solicita de otro servidor DNS (el servidor principal) todo lo que sabe sobre una pieza
determinada del rbol de nombres de DNS (la zona)
Por razones de rendimiento, las bsquedas de DNS normalmente se ejecutan mediante UDP. Si
el resultado no cabe en un solo datagrama UDP, la bsqueda se volver a hacer empleando
TCP. Un servidor DNS utiliza el puerto 53 para todas sus actividades UDP y TCP. Ocupa un
puerto al azar por encima del 1023 tanto para UDP como para TCP. Por lo tanto, se puede
diferenciar entre:
Una solicitud de cliente a servidor: el puerto fuente est por encima del 1023, el puerto
destino es el 53.
Una respuesta de servidor a cliente: el puerto fuente es el 53, el puerto destino est por
encima del 1023.
Una solicitud o respuesta de servidor a servidor: con UDP, tanto el puerto fuente como el
destino son el 53; con TCP el servidor que solicita utilizar un puerto por encima del 1023.
Las transferencias de zona DNS se hacen mediante TCP. La conexin se inicia desde un puerto
al azar por encima del 1023 en el servidor secundario (que solicita los datos) al puerto 53 en el
servidor principal (que enva los datos solicitados por el secundario). Un servidor secundario
tambin debe hacer una solicitud DNS normal de un servidor principal para decidir cundo
hacer una transferencia de zona
Algunas implementaciones de bsqueda doble inversa fallan con los anfitriones con mltiples
direcciones, por ejemplo, anfitriones con doble acceso usados como proxy. Si ambas
direcciones estn registradas con el mismo nombre, una bsqueda DNS por nombre devolver
ambas, pero muchos programas slo leern la primera. Si resulta que la conexin vena de la
segunda direccin, la comprobacin doble inversa fallar aun cuando el anfitrin est
registrado correctamente.
La informacin de nombre de anfitrin ms sencilla puede ser til para un atacante que quiere
infiltrarse en un sitio por medio de engaos, de manera fsica o electrnica, por ejemplo
mediante un ataque de ingeniera social.
Adems de los nombres de anfitriones internos, con frecuencia se coloca otra informacin
complementaria dentro del DNS, la cual es til localmente pero no se desea que la vea un
atacante. Los registros de recursos HINFO y TXT de DNS son muy reveladores.
A continuacin se dan algunas recomendaciones para revelar slo los datos que se quiere que
la gente conozca.
3.5.3.1 Configurar un servidor DNS falso en el anfitrin bastin para que lo utilice
el mundo exterior
El primer paso para ocultar informacin DNS al mundo exterior es configurar un servidor DNS
falso en el anfitrin bastin. A este servidor deben apuntar los registros del servidor de
nombres mantenido por el dominio padre, el servidor falso debe configurarse para que sea el
servidor principal del conjunto de servidores autorizados; los otros servidores DNS son
secundarios de este servidor principal.
Todo lo que sabe este servidor falso, en el anfitrin bastin, sobre su dominio es la
informacin que se quiere revelar al mundo exterior, que, tpicamente, slo incluye los datos
bsicos del nombre del anfitrin y direccin IP de los siguientes anfitriones:
Las mquinas que estn en la red de permetro (por ejemplo, las mquinas que
conforman el cortafuegos).
Tambin se debe publicar informacin falsa para cualquier mquina que pueda contactar el
mundo exterior en forma directa. Muchos servidores en Internet (por ejemplo, la mayora de
los servidores de FTP annimo principales) insisten en conocer el nombre de anfitrin (no slo
la direccin IP) de cualquier mquina que se comunica con ellos, aunque no hagan nada con el
nombre de anfitrin excepto registrarlo.
Si todo lo que queran estos servidores con las bsquedas inversas era un nombre para el
registro, se podra simplemente crear un registro PTR comodn. Ese registro indicara que un
rango de direcciones pertenece a un anfitrin desconocido en un dominio determinado. Por
ejemplo, podra tener una bsqueda para *.19.16.172.IN-ADDR.ARPA que devuelva
desconocido.algnlado.net). Devolver esta informacin sera ms o menos til; por lo menos le
indicara al administrador del servidor de quien era la mquina (de algnlado.net). Cualquiera
que tuviera un problema con la mquina podra efectuar un seguimiento a travs de los
contactos publicados para el dominio algnlado.net.
Sin embargo, si slo se hace esto existe un problema. Muchos servidores (en especial los
servidores de FTP annimo) hacen una bsqueda doble inversa, y no se comunican con el
cliente a menos que la bsqueda tenga xito.
Las personas que ejecutan servidores FPT annimos que hacen bsquedas dobles inversas
argumentan que quienes quieren los servicios tienen la responsabilidad de ser miembros de la
comunidad de redes, y eso requiere que sean identificables. En realidad es cierto que quienes
mantienen alguno de los servidores FTP annimos ms grandes y mejor conocidos estn del
lado de quienes favorecen la bsqueda doble inversa, y no proporcionarn servicio a no ser
que sta tenga xito.
Realiza una bsqueda inversa para traducir una direccin IP a un nombre de anfitrin.
Hace una bsqueda normal en ese nombre de anfitrin para determinar su direccin
IP nominal.
El servidor falso debe proporcionar datos falsos coherentes para todos los anfitriones de ese
dominio cuyas direcciones IP sern vistas por el mundo exterior. Para cada direccin IP que le
pertenezca, el servidor falso debe publicar un registro PTR con un nombre de anfitrin falso,
as como un registro A correspondiente que relacione el nombre de anfitrin falso de nuevo a
la direccin IP. Por ejemplo, para la direccin 172.16.1.2, podra publicar un registro PTR con el
nombre host-172-16-1-2.algnlado.net y un registro A correspondiente que relacione host-
172-16-1-2.algnlado.net de nuevo a la direccin IP correspondiente (172.16.1.2). Cuando se
conecte con algn sistema remoto que intenta hacer una bsqueda inversa de su direccin IP
(por ejemplo, 172.16.1.2) para determinar su nombre de anfitrin ese sistema obtendr el
nombre de anfitrin falso (por ejemplo, host-172-16-1-2). Si luego el sistema intenta hacer una
bsqueda doble inversa para traducir ese nombre de anfitrin a una direccin IP, le devolver
172.16.1.2, que es igual a la direccin IP original luego cumple con la comprobacin de
coherencia.
Si se utiliza proxy estrictamente para conectar los anfitriones internos con el mundo exterior,
no se necesita configurar informacin falsa para sus anfitriones internos; tan solo debe poner
informacin para el anfitrin o anfitriones que ejecutan el servidor proxy. El mundo exterior
Una forma de lograr esto es proporcionar acceso a informacin DNS externa configurando el
servidor DNS interno para consultar a los servidores DNS remotos directamente, conforme sea
apropiado, a fin de resolver las solicitudes hechas por los clientes internos sobre anfitriones
externos.
Por fortuna, el servidor DNS ms comn (el programa named de UNIX) proporciona una
solucin a este dilema: la instruccin forwarders. Esta instruccin le indica al servidor que si l
mismo no conoce la informacin (ya sea de su propia informacin de zona o de su cach), debe
transmitir la solicitud a un servidor especfico y dejar que ste encuentre la respuesta, en
lugar de intentar ponerse en contacto con servidores por toda Internet en un intento por
determinar l mismo la respuesta.
El siguiente paso es configurar los clientes DNS internos para que hagan todas sus
indagaciones al servidor interno. En los sistemas UNIX, existen dos casos:
Solicitudes DNS del servidor interno al servidor del anfitrin bastin: los
paquetes UDP del puerto 53 en el servidor interno al puerto 53 en el anfitrin
bastin (regla A), y los paquetes TCP de los puertos por encima del 1023 en el
servidor interno al puerto 53 en el anfitrin bastin (regla B)
Solicitudes DNS de los clientes DNS del anfitrin bastin al servidor interno; los
paquetes UDP y TCP de los puertos por encima del 1023 en el anfitrin bastin
al puerto 53 en el servidor interno (reglas E y F)
Respuestas del servidor interno a esos clientes DNS del anfitrin bastin: los
paquetes UDP y los paquetes TCP con el bit ACK encendido del puerto 53 en el
servidor interno a los puertos por encima del 1023 en el anfitrin bastin ( G y
H)
a
Los paquetes UDP no tienen flag de ACK
Con este enfoque todava debe haber un servidor DNS en el anfitrin bastin y un servidor
DNS interno; sin embargo, uno de ellos puede ser un servidor secundario del otro. Por lo
general es ms fcil hacer al servidor DNS bastin dependiente (secundario) del servidor DNS
interno y mantener los datos de DNS en el servidor interno. El servidor DNS interno an se
debe configurar para que transmita solicitudes al servidor DNS del anfitrin bastin, pero los
clientes DNS del anfitrin bastin pueden configurarse para consultar al servidor del anfitrin
bastin en lugar de al servidor interno.
Solicitudes DNS del servidor DNS interno al servidor DNS bastin: los paquetes UDP del
puerto 53 en el servidor interno al puerto 53 en el anfitrin bastin y los paquetes TCP de
los puertos por encima del 1023 en el servidor interno al puerto 53 en el anfitrin bastin.
Respuestas del servidor DNS bastin al servidor DNS interno: los paquetes UDP del puerto
53 en el anfitrin bastin al puerto 53 en el servidor interno y los paquetes TCP con el bit
ACK encendido del puerto 53 en el anfitrin bastin a los puertos por encima del 1023 en
el servidor interno.
Solicitudes DNS del servidor DNS del anfitrin bastin al servidor DNS interno: los paquetes
UDP del puerto 53 en el anfitrin bastin al puerto 53 en el servidor interno, y los
paquetes TCP de los puertos por encima del 1023 en el anfitrin bastin al puerto 53 en el
servidor interno
Respuestas del servidor DNS interno de regreso al servidor DNS bastin: los paquetes UDP
del puerto 53 en el servidor interno al puerto 53 en el anfitrin bastin, y los paquetes
TCP con el bit ACK encendido del puerto 53 en el servidor interno a los puertos por
encima del 1023 en el anfitrin bastin
Peticiones para transferencia de zona DNS del anfitrin bastin al servidor interno: los
paquetes TCP de los puertos por encima del 1023 en el anfitrin bastin al puerto 53 en el
servidor interno
Respuestas de transferencia de zona DNS del servidor interno al anfitrin bastin: los
puertos TCP con el bit ACK encendido del puerto 53 al servidor interno a los puertos por
encima del 1023 en el anfitrin bastin
Instalar un servidor DNS externo en un anfitrin bastin para que el mundo exterior
acceda a l.
Utilizar una implementacin del BIND actualizada y bsquedas dobles inversas para
evitar engaos
3.6. CONCLUSIONES
El esquema descrito ofrece muchas ventajas, las desventajas potenciales son el costo y la
complejidad y pensamos que estos factores son relativos y asumibles.
Los servicios Telenet y FTP, se deberan evitar y migrar a sus versiones seguras. Adems el uso
de FTP est en declive, debido al uso intensivo de HTTP para descarga de ficheros, o de otros
programas P2P, que estn ms all del alcance de este programa.
Si se necesita ahorrar dinero, sera factible construir una arquitectura de subred de proteccin
usando un solo enrutador con tres interfaces. La solucin sera un poco ms compleja, pues
habra que unir los dos grupos de filtrado anteriormente descritos.