Anterior Siguiente Indice

4. Otras características de IP Masquerade y soporte de programas.

4.1 Problemas con IP Masquerade.

Algunos protocolos no funcionarán adecuadamente con masquerading porque presuponen cosas sobre números de puerto; --o lo impiden datos cifrados en sus cadenas de información sobre direcciones y puertos-- estos últimos protocolos necesitan un proxy específico en el código masquerading para que funcionen.

4.2 Servicios de entrada.

El Masquerading no puede manejar todos los servicios de entrada. Existen formas de permitirlos, pero son completamente independientes de masquerading, y son realmente parte de la práctica estándar de cortafuegos.

Si no requiere altos niveles de seguridad simplemente puede redireccionar los puertos. Hay varias formas para hacer esto --Yo uso un programa modificado llamado redir (espero que este disponible en sunsite y réplicas)--. Si desea tener algún nivel de autorización en conexiones entrantes puede usar TCP wrappers o Xinetd sobre redir (0.7 o superior) para permitir sólo direcciones IP específicas, o usar alguna otra herramienta. El TIS Firewall Toolkit es un buen lugar para buscar herramientas e información.

Se puede encontrar más detalles en http://ipmasq.home.ml.org.

4.3 Programas cliente soportados y otras notas de configuración.

La siguiente lista no será mantenida durante más tiempo.
Por favor, remítase a http://masqapps.home.ml.org para saber qué aplicaciones funcionan a través de un servidor Linux con IP masquerading y a http://ipmasq.home.ml.org/ para más detalles.

Generalmente, las aplicaciones que usan TCP y UDP deberían de funcionar. Si tiene alguna sugerencia sobre aplicaciones que no son compatibles con IP Masquerade, por favor envíeme correo electrónico con el nombre del cliente y una breve descripción.

Clientes que funcionan

Clientes Generales

HTTP

todas las plataformas soportadas, navegadores web.

POP & SMTP

todas las plataformas soportadas, clientes de correo electrónico.

Telnet

todas las plataformas soportadas, sesión remota.

FTP

todas las plataformas soportadas, con el módulo ip_masq_ftp.o (no todos los servidores funcionan con ciertos clientes; por ejemplo algún sitio puede no ser alcanzado usando ws_ftp32, pero sí con Netscape)

Archie

todas las plataformas soportadas, buscador de archivos (no todos los clientes archie son soportados).

NNTP (USENET)

todas las plataformas soportadas, cliente de noticias USENET.

VRML

Windows (posiblemente soportado en todas las plataformas), navegación con realidad virtual.

traceroute

principalmente las plataformas basadas en UNIX, algunas variantes pueden no funcionar.

ping

todas las plataformas, con el parche ICMP.

todo lo basado en IRC

todas las plataformas soportadas, con el módulo ip_masq_irc.o

Clientes Gopher

todas las plataformas soportadas.

clientes WAIS

todas las plataformas soportadas.

Clientes Multimedia

Real Audio Player

Windows, envío de audio por red, con el módulo ip_masq_raudio cargado.

True Speech Player 1.1b

Windows, envío de audio por red.

Internet Wave Player

Windows, envío de audio por red.

Worlds Chat 0.9a

Windows, programa Cliente-Servidor 3D de conversación.

Alpha Worlds

Windows, programa Cliente-Servidor 3D de conversación.

Internet Phone 3.2

Windows, comunicaciones de audio de Igual-a-igual (Peer-to-peer), la gente puede ponerse en contacto con Vd. si inicia Vd. la conexión, pero no le pueden llamar.

Powwow

Windows, comunicaciones tipo pizarra de audio texto de Igual-a-igual, la gente puede ponerse en contacto con Vd. si Vd. inicia la llamada, pero ellos no pueden llamarle.

CU-SeeMe

todas las plataformas soportadas, con el módulo cuseeme cargado, por favor mire en http://ipmasq.home.ml.org/ para los detalles.

VDOLive

Windows, con el parche vdolive.

Nota: Algunos clientes como IPhone y Powwow pueden funcionar incluso si Vd. no es el que inicia la llamada, si usa el paquete ipautofw (mire la sección ipautofw)

Otros Clientes

NCSA Telnet 2.3.08

DOS, un paquete que contiene telnet, ftp, ping, etc.

PC-anywhere para windows 2.0

MS-Windows, control remoto de PCs sobre TCP/IP, sólo funciona si es cliente pero no servidor.

Socket Watch

usa ntp - protocolo de tiempo por red.

Linux net-acct package

Linux, paquete de administración de cuentas de red.

Clientes que NO funcionan

Intel Internet Phone Beta 2

Conecta pero la voz viaja en una dirección (sale) sólo.

Intel Streaming Media Viewer Beta 1

No puede conectar con el servidor.

Netscape CoolTalk

No puede conectar con el lado opuesto.

talk, ntalk

no funcionarán - requieren que sea escrito un proxy en el núcleo.

WebPhone

No puede funcionar por el momento (asume direcciones no válidas).

X

Sin probar, pero creo que no podrá funcionar a menos que alguien construya un X proxy, el cual probablemente es un programa externo al código de masquerading. Una forma de hacer que esto funcione es usar un ssh como el enlace y usar un X proxy interno Ħque haga funcionar las cosas!

Plataformas/SO testeados como las OTRAS máquinas.

4.4 Administración de cortafuegos IP con ipfwadm.

Esta sección proporciona una guía más exhaustiva del uso de ipfwadm.

Esta es una configuración para un sistema de cortafuegos/masquerade detrás de un enlace PPP con la siguiente dirección PPP estática. El interfaz de confianza es 192.168.255.1, el interfaz PPP ha sido cambiado para proteger al culpable :). Listé cada interfaz de entrada y salida individualmente para capturar IP spoofing también como ruta relleno y/o masquerading. ĦTodo aquello no explícitamente permitido esta prohibido!

#!/bin/sh
#
# /etc/rc.d/rc.firewall, define la configuracion del cortafuegos, invocado
# desde rc.local.
#

PATH=/sbin:/bin:/usr/sbin:/usr/bin

# comprobacion, espera un bit luego limpia toda norma del cortafuegos.
# descomente las siguientes lineas si quiere que el cortafuegos se 
# desconecte automaticamente pasados 10 minutos
#
# (sleep 600; \
# ipfwadm -I -f; \
# ipfwadm -I -p accept; \
# ipfwadm -O -f; \
# ipfwadm -O -p accept; \
# ipfwadm -F -f; \
# ipfwadm -F -p accept; \
# ) &

# Entrante, purga y establece la politica por defecto de denegar. La
# verdad es que la politica por defecto es irrelevante porque hay un
# cierre de  toda norma con denegar y anotar

ipfwadm -I -f
ipfwadm -I -p deny

# interfaz local, maquinas locales, van a cualquier sitio valido 
ipfwadm -I -a accept -V 192.168.255.1 -S 192.168.0.0/16 -D 0.0.0.0/0

# interfaz remota, reclamando ser maquinas locales, IP spoofing, perdido
ipfwadm -I -a deny -V su.direccion.ppp.estatica -S 192.168.0.0/16 -D 0.0.0.0/0 -o

# interfaz remota, cualquier origen, es valido ir a direcciones PPP permanentes
ipfwadm -I -a accept -V su.direccion.PPP.estatica -S 0.0.0.0/0 -D su.direccion.PPP.estatica/32

# el interfaz loopback es valido.
ipfwadm -I -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0

# cierra toda norma, todas las otras entradas son denegadas y registradas.
# Lastima que no haya una opcion de registro, aunque esto hace el trabajo
# en su lugar

ipfwadm -I -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o

# Saliente, purga y pone la politica por defecto de denegar. La verdad es
# que la politica por defecto es irrelevante porque hay un cierre de toda
# norma con  denegar y anotar

ipfwadm -O -f
ipfwadm -O -p deny

# interfaz local, cualquier origen con destino a la red local es valido 
ipfwadm -O -a accept -V 192.168.255.1 -S 0.0.0.0/0 -D 192.168.0.0/16

# saliente para la red local sobre el interfaz remoto , stuffed routing,
# denegado

ipfwadm -O -a deny -V su.direccion.PPP.estatica -S 0.0.0.0/0 -D 192.168.0.0/16 -o

# saliente desde la red local sobre el interfaz remoto, stuffed masquerading, 
# denegado

ipfwadm -O -a deny -V su.direccion.PPP.estatica -S 192.168.0.0/16 -D 0.0.0.0/0 -o

# saliente desde la red local sobre el interfaz remoto, stuffed masquerading, 
# denegado

ipfwadm -O -a deny -V su.direccion.PPP.estatica -S 0.0.0.0/0 -D 192.168.0.0/16 -o

# algo mas saliente sobre la interfaz remota es valido.

ipfwadm -O -a accept -V su.direccion.PPP.estatica -S su.direccion.PPP.estatica/32 -D 0.0.0.0/0

# el interfaz loopback es valido.

ipfwadm -O -a accept -V 127.0.0.1 -S 0.0.0.0/0 -D 0.0.0.0/0

# norma de capturar todo, todo lo otro saliente es denegado y anotado. 
# Lastima que no hay una opcion de registro en la politica pero esto
# hace  el trabajo en su lugar. 

ipfwadm -O -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o

# Envios, purga y pone la politica por defecto de denegar. La verdad es
# que la politica por defecto es irrelevante porque hay una cierre de toda
# norma con  denegar y anotar. 

ipfwadm -F -f
ipfwadm -F -p deny

# Enmascaramiento (Masquerade) desde la red local sobre el interfaz local 
# hacia cualquier sitio.

ipfwadm -F -a masquerade -W ppp0 -S 192.168.0.0/16 -D 0.0.0.0/0

# norma de capturar todo, el resto de envios son denegados y anotados. 
# Lastima que no hay una opcion de registro en la politica, pero esto hace
# el trabajo en su lugar. 

ipfwadm -F -a deny -S 0.0.0.0/0 -D 0.0.0.0/0 -o

Puede bloquear el tráfico para un sitio en particular usando -I, -O o -F. Recuerde que el conjunto de las normas son examinadas desde arriba hacia abajo y -a significa "añadir" a los valores existententes de la norma, así cualquier restricción necesita venir antes de las normas generales. Por ejemplo (sin probar):

Usando normas -I. Probablemente es la más rápida pero sólo detiene las máquinas locales, el cortafuegos puede todavía acceder a sitios "prohibidos". Por supuesto le puede interesar permitir esa combinación.

... inicio de la norma -I ...
# rechaza y anota el interfaz local, las maquinas locales van a 204.50.10.13
ipfwadm -I -a reject -V 192.168.255.1 -S 192.168.0.0/16 -D 204.50.10.13/32 -o
# interfaz local, maquinas locales, ir a cualquier sitio es valido
ipfwadm -I -a accept -V 192.168.255.1 -S 192.168.0.0/16 -D 0.0.0.0/0
... fin de la norma -I ...

Usando la norma -O. Más lento porque los paquetes van primero a través de masquerading pero esta norma incluso detiene los accesos del cortafuegos a los sitios prohibidos.

... inicio de la norma -O  ...
# deniega y anota las salidas a 204.50.10.13
ipfwadm -O -a reject -V su.direccion.PPP.estatica -S su.direccion.PPP.estatica/32 -D 204.50.10.13/32 -o
# cualquier otra salida sobre el interfaz remoto es valida 
ipfwadm -O -a accept -V su.direccion.PPP.estatica -S su.direccion.PPP.estatica/32 -D 0.0.0.0/0
... fin de la norma -O  ...

Usando la norma -F. Probablemente más lento que -I y esto todavía solo detiene a las máquinas enmascaradas (por ejemplo: las internas), el cortafuegos puede todavía acceder a sitios prohibidos

... inicio de  la norma -F  ...
# deniega y anota desde la red local sobre el interfaz PPP hacia 204.50.10.13.
ipfwadm -F -a reject -W ppp0 -S 192.168.0.0/16 -D 204.50.10.13/32 -o
# Enmascara (Masquerade) desde la red local sobre interfaces locales hacia
# cualquier sitio.
ipfwadm -F -a masquerade -W ppp0 -S 192.168.0.0/16 -D 0.0.0.0/0
... fin de la norma -F ...

No es necesario una norma especial para permitir a 192.168.0.0/16 para ir a 204.50.11.0, está cubierto por la norma global.

Hay más de una forma de codificar el interfaz en las normas de arriba. Por ejemplo en lugar de -V 192.168.255.1 puede poner -W eth0, en lugar de -V su.direccion.PPP.estatica y puede usar -W ppp0. La elección es más que otra cosa personal y de documentación.

4.5 IP Masquerade y llamada bajo demanda (Dial On Demand).

  1. Si le gustaría activar su red automáticamente para llamar a Internet, el paquete de llamada bajo demanda diald le será de gran utilidad.
  2. Para configurar diald, por favor mire en http://home.pacific.net.sg/~harish/diald.config.html
  3. Una vez que diald e ip_masq hayan sido configurados, puede ir a alguna de las máquinas clientes e iniciar una sesión web, telnet o ftp.
  4. diald detectará peticiones entrantes, luego llamará a su ISP y establecerá la conexión.
  5. Hay un tiempo de espera que ocurrirá con la primera conexión. Esto es inevitable si esta usando un módem analógico. El tiempo dado para establecer el enlace entre el módem y la conexión PPP causará que su programa cliente termine. Esto puede ser evitado si esta usando un conexión RDSI. Todo lo que necesita hacer es terminar el proceso actual en el cliente y reiniciarlo.

4.6 Reenvío de paquetes ipautofw.

ftp://ftp.netis.com/pub/members/rlynch/ipautofw.tar.gz es un transportador genérico de TCP y UDP para masquerading de Linux. Generalmente para utilizar un paquete que requiera UDP necesitará cargar un módulo específico de ip_masq; ip_masq_raudio, ip_masq_cuseeme, ... ipautofw actúa de una forma más genérica, enviará cualquier tipo de tráfico incluído aquel que los módulos específicos no envían. Esto puede crear un agujero de seguridad si no se administra correctamente.


Anterior Siguiente Indice