Previous Next Table of Contents

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

4.1 Problemas con IP Masquerade

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

4.2 Servicios de entrada

Masquerading no puede manejar todos los servicios de entrada. Hay unos pocas 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 simplemete puede redirecionar los puertos. Hay varias formas para hacer esto - Yo uso un programa modificado redir ( espero que este disponible en sunsite y mirrors). 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 direciones IP específicas, o usar alguna otra herramienta. El TIS Firewall Toolkit es un buen lugar para buscar herramientas e información.

Mas detalles pueden ser encontrados en IP Masquerade Resource.

4.3 Programas cliente soportados y otras notas de configuración

** La siguiente lista no esta siendo mantenida durante mas tiempo. Porfavor remitase a esta pagina para saber que aplicaciones funionan atraves de un servidor Linux con IP masquerading y a IP Masquerade Resource para mas 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 modulo ip_masq_ftp.o (no todos los servidores funcionan con ciertos clientes; p.e. algun sitio puede no ser alcanzado usando ws_ftp32 pero funciona 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 whiteboard 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 plataforma soportadas, con el módulo cuseeme cargado, por favor mire IP Masquerade Resource para los detalles

VDOLive

Windows, con el parche vdolive

Nota: Algunos clientes como IPhone y Powwow pueden trabajar incluso si vd. no es el que inicia la llamada por usar el paquete ipautofw (mire la sección 4.6)

Otros Clientes

NCSA Telnet 2.3.08

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

PC-anywhere para windows 2.0

MS-Windows, controla remotamante un PC sobre TCP/IP, sólo trabaja 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)Trafico 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á - requiere que sea escrito un proxy en el núcleo .

WebPhone

No puede trabajar por el momento(asume direcciones inválidas).

X

Sin probar,pero creo que no puede trabajar 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 las cosas funcionar!

Plataformas/SO testeados como las OTRAS máquinas

4.4 Administración de IP cortafuegos 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. Además algo no explicitamente permitido esta prohibido !

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

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

# comprobación, 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 pone la política por defecto de denegar. La verdad es que la 
# política por defecto es irrelevante porque hay un cierre de toda 
# norma con denegar y anotar
ipfwadm -I -f
ipfwadm -I -p deny
# interfaz local, máquinas locales, van a cualquier sitio válido 
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 máquinas locales, IP spoofing, perdido
ipfwadm -I -a deny -V su.dirección.ppp.estática -S 192.168.0.0/16 -D 0.0.0.0/0 -o
# interfaz remota, cualquier origen, es válido ir a direcciones PPP permanentes
ipfwadm -I -a accept -V su.dirección.PPP.estática -S 0.0.0.0/0 -D
su.dirección.PPP.estática/32
# el interfaz loopback es válido.
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. Lástima 
# que no hay un opción de registro en la política pero 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 política por defecto de denegar. La verdad es que  
# la política 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 válido 
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.dirección.PPP.estática -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.dirección.PPP.estática -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.dirección.PPP.estática -S 0.0.0.0/0 -D 192.168.0.0/16 -o
# algo más saliente sobre la interfaz remota es válido.
ipfwadm -O -a accept -V su.dirección.PPP.estática -S su.dirección.PPP.estática/32 -D
0.0.0.0/0
# la interfaz loopback es válido.
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. Lástima
# que no hay una opción de registro en la política 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

# Envíos, purga y pone la política por defecto de denegar. La verdad es que 
# la política 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 envíos son denegados y anotados. Lástima 
# que no hay una opción de registro en la política, 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 máquinas 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, máquinas locales, ir a cualquier sitio es válido
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 atravé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.dirección.PPP.estática -S su.dirección.PPP.estática/32 -D
204.50.10.13/32 -o

# cualquier otra salida sobre el interfaz remoto es válida 
ipfwadm -O -a accept -V su.dirección.PPP.estática -S su.dirección.PPP.estática/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 que 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.dirección.PPP.estática y puede usar -W ppp0. La eleción es más que otra cosa personal y de documentación.

4.5 IP Masquerade y llamada bajo demanda(Demand-Dial-Up)

  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 Setting Up Diald for Linux Page
  3. Una vez que diald e IP masq hayan sido configurados, puede ir a alguna de las máquina clientes e iniciar una sesion web, telnet o ftp.
  4. Diald detectará peticiones entrantes, luego llama a su ISP y establece 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 corriente en el cliente y reiniciarlo.

4.6 Envío de paquete IPautofw

IPautofw es un transportador genérico de TCP y UDP para masquerading de Linux. Generalmente para utilizar un paquete el cual requiere UDP necesita ser cargado 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 especificos no envían. Esto puede crear un agujero de seguridad si no se administra corrrectamente.


Previous Next Table of Contents