6927538-shorewall

49
Shorewall Instalación y Actualización de Shorewall Importante Antes de actualizar, asegúrese de revisar Problemas al Actualizar . Nota Los RPM de Shorewall están firmados. Para evitar alertas tales como la siguiente warning: shorewall-3.0.1-1.noarch.rpm: V3 DSA signature: NOKEY, key ID 6c562ac4 descargue la llave GPG de Shorewall y ejecute el siguiente comando: rpm --import shorewall.gpg.key Instalar usando RPM Para instalar Shorewall usando RPM: 1. Asegúrese que tiene el paquete RPM correcto El paquete RPM estandar descargado desde shorewall.net y sus espejos se sabe funciona con SuSE™, Power PPC™, Trustix™ y TurboLinux™. También hay paquetes RPM provisto por Simon Matter que están ajustados para RedHat/Fedora™ y otro paquete de Jack Coates que está personalizado para Mandrake™. Todos estos están disponibles en la página de descarga . Si intenta instalar el paquete equivocado, probablemente no funcione. 2. Instale el RPM rpm -ivh <shorewall rpm> Precaución Algunos usuarios tienen el hábito de usar el comando rpm -U para instalar como para actualziar paquetes. Si usa este comando cuando instale el RPM Shorewall entonces tendrá que manualmente habilitar Shorewall para se inicie al arranque del sistema usando chkconfig, insserv o cualquiera sea el utilitario para manipular los enlaces simbólicos. Nota Algunos usuarios SuSE han encontrando un problema en donde rpm reporta un conflicto con kernel <= 2.2 incluso si un kernel 2.4 está instalado. Si esto sucede, simplemente use la opción --nodeps de rpm. rpm -ivh --nodeps <shorewall rpm> Nota Shorewall depende del paquete iproute. Desafortunadamente algunas distribuciones llaman a este paquete iproute2 lo que provoca que la instalación de Shorewall falle con el mensaje diagnóstico:

Upload: arodv-rrv

Post on 10-Aug-2015

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 6927538-Shorewall

Shorewall

Instalacioacuten y Actualizacioacuten de Shorewall

Importante

Antes de actualizar aseguacuterese de revisar Problemas al Actualizar

Nota

Los RPM de Shorewall estaacuten firmados Para evitar alertas tales como la siguiente

warning shorewall-301-1noarchrpm V3 DSA signature NOKEY key ID 6c562ac4

descargue la llave GPG de Shorewall y ejecute el siguiente comando

rpm --import shorewallgpgkey

Instalar usando RPM

Para instalar Shorewall usando RPM

1 Aseguacuterese que tiene el paquete RPM correcto

El paquete RPM estandar descargado desde shorewallnet y sus espejos se sabe funciona con SuSEtrade Power PPCtrade Trustixtrade y TurboLinuxtrade Tambieacuten hay paquetes RPM provisto por Simon Matter que estaacuten ajustados para RedHatFedoratrade y otro paquete de Jack Coates que estaacute personalizado para Mandraketrade Todos estos estaacuten disponibles en la paacutegina de descarga

Si intenta instalar el paquete equivocado probablemente no funcione

2 Instale el RPM

rpm -ivh ltshorewall rpmgt

Precaucioacuten

Algunos usuarios tienen el haacutebito de usar el comando rpm -U para instalar como para actualziar paquetes Si usa este comando cuando instale el RPM Shorewall entonces tendraacute que manualmente habilitar Shorewall para se inicie al arranque del sistema usando chkconfig insserv o cualquiera sea el utilitario para manipular los enlaces simboacutelicos

Nota

Algunos usuarios SuSE han encontrando un problema en donde rpm reporta un conflicto con kernel lt= 22 incluso si un kernel 24 estaacute instalado Si esto sucede simplemente use la opcioacuten --nodeps de rpm

rpm -ivh --nodeps ltshorewall rpmgt

Nota

Shorewall depende del paquete iproute Desafortunadamente algunas distribuciones llaman a este paquete iproute2 lo que provoca que la instalacioacuten de Shorewall falle con el mensaje diagnoacutestico

error failed dependenciesiproute is needed by shorewall-22x-1

Este problema no debiera ocurrir si estaacute usando el paquete RPM correcto (vea 1 arriba) pero puede resolverse daacutendole la vuelta usando la opcioacuten --nodeps de rpm

rpm -ivh --nodeps ltshorewall rpmgt

3 Edite los archivos de configuracioacuten para ajustarse a sus necesidades de configuracioacuten

Alerta

USTED NO PUEDE SIMPLEMENTE INSTALAR EL RPMY MANDAR EL COMANDO ldquoshorewall startrdquo SE REQUIERE DE CONFIGURACION ANTES DE QUE EL FIREWALL PUEDA ARRANCAR SI ENVIA EL COMANDO ldquostartrdquo Y EL FIREWALL FALLA EN ARRANCAR SU SISTEMA NO ACEPTARA NINGUN TRAFICO DE RED SI ESTO SUCEDE USE EL COMANDO ldquoshorewall clearrdquo PARA RESTAURAR LA CONECTIVIDAD DE RED

4 Habilite el inicio eliminando el archivo etcshorewallstartup_disabled (Si estaacute usando Shorewall 213 o posterior edite etcshorewallshorewallconf y ponga STARTUP_ENABLED en Yes)

5 Arranque el firewall tipeando

shorewall start

Instalar usando tarball

Para instalar Shorewall usando el tarball y el guioacuten de instalacioacuten

1 desempaque el tarball (tar -zxf shorewall-xyztgz)2 cd al directorio shorewall (la versioacuten estaacute condificada en el nombre del directorio como en ldquoshorewall-

300rdquo)3 Tipee

installsh

4 Edite los archivos de configuracioacuten para ajustarse a sus necesidades de configuracioacuten5 Habilite el inicio editando etcshorewallshorewallconf y poniendo STARTUP_ENABLED en Yes)6 Arranque el firewall tipeando

shorewall start

7 Si el guioacuten install no fue capaz de configurar Shorewall para arrancarse automaacuteticamente al arrancar el sistema (boot) vea estas instrucciones

Instalar usando lrp

Para instalar mi versioacuten de Shorewall en un disco fresco de Bering simplemente remplace el archivo ldquoshorwalllrprdquo en la imagen con el arhivo que descargoacute Por ejemplo si descarga shorewall-lrp-220tgz entonces deberaacute renombrar el archivo a shorwalllrp y remplazar el archivo de ese nombre en el disco Bering con el nuevo Entonces proceda a configurar Shorewall como se describe en la documentacioacuten Bering (o Bering uClibc)

Instalar usando deb

Importante

Una vez que ha instalado el paquete dev y antes de intentar configurar Shorewall por favor lea el concejo de Lorenzo Martignoni el Mantenedor de Shorewall Debian

ldquoPara maacutes informacioacuten acerca del uso de Shorewall en sistemas Debian mire en usrsharedocshorewallREADMEDebian provisto por el paquete Debian de shorewallrdquo

La forma maacutes faacutecil de instalar Shorewall en Debian es usar use apt-get

apt-get install shorewall

Para asegurar que estaacute instalando la uacuteltima versioacuten de Shorewall por favor modifique su archivo etcaptsourceslist como se describe aquiacute

Una vez que haya completado la configuracioacuten Shorewall puede habilitar el arranque de Shorewall al arranque del sistema (boot) poniendo startup=1 en etcdefaultshorewall

Notas Generales Acerca de la Actualizacioacuten Shorewall

La mayoriacutea de los problemas asociados con las actualizaciones tienen su origen en dos causas

bull El usuario no leyoacute y siguioacute las consideraciones de migracioacuten en las notas de liberacioacuten (estos se reproducen en Problemas al Actualizar Shorewall)

bull El usuario no manejoacute bien el archivo etcshorewallshorewallconf durante la actualizacioacuten Shorewall estaacute disentildeado para tener un comportamiento por omisioacuten persistente a lo largo de la evolucioacuten del producto Para que esto sea posible el disentildeo asume que usted no remplazaraacute su archivo shorewallconf actual durante las actualizaciones Se recomienda que despueacutes de instalar por primera vez Shorewall modifique etcshorewallshorewallconf tal que prevenga que el manejador de paquetes lo sobrescriba durante subsiguientes actualizaciones (ya que hay que agregar STARTUP_ENABLED tal modificacioacuten asegura que usted debe manualmente cambiar los ajustes de esta opcioacuten) Si se siente realmente impulsado a tener los uacuteltimos comentarios y opciones en su shorewallconf entonces proceda con cuidado Deberiacutea determinar cuaacuteles nuevas opciones han sido agregadas y debe reajustar sus valores (eg OPTION=) de otra forma obtendraacute un comportamiento diferente al que espera

Actualizando con RPM

Si ya tiene el RPM Shorewall instalado y estaacute actualizando a una nueva versioacuten

1 Aseguacuterese de tener el paquete RPM correcto

El paquete estandar RPM de shorewallnet y sus espejos se saben funcionan con SuSe Power PPC Trustix y TurboLinux Hay tambieacuten un paquete RPM provisto por Simon Matter que ha sido ajustado para RedHatFedora y otro paquete provisto por Jack Coates que estaacute personalizado para Mandrake Si intenta usar el paquete equivocado probablemente no funcione

2 Actualice el RPM

rpm -Uvh ltshorewall rpm filegt

Nota

Algunos usuarios SuSE han encontrado un problema donde rpm reporta un conflicto con kernel lt= 22 auacuten cuando estaacute instalado un kernel 24 Si esto sucede simplemente use la opcioacuten --nodeps de rpm

rpm -Uvh --nodeps ltshorewall rpmgt

Nota

A partir de Shorewall 140 Shorewall depende del paquete iproute Desafortunadamente algunas distribuciones llaman a este paquete por otro nombre iproute2 lo que causa que Shorewall falle con el mensaje diagnoacutestico

error failed dependenciesiproute is needed by shorewall-140-1

A esto se le puede dar la vuelta usando la opcioacuten --nodeps de rpm

rpm -Uvh --nodeps ltshorewall rpmgt

3 Vea si hay alguna incompatibilidad entre su configuracioacuten y la nueva versioacuten de Shorewall y corrija si es necesario

shorewall check

4 Reinicie el firewall

shorewall restart

Actualizando con tarball

Si ya tiene instalado Shorewall y estaacute actualizando a una nueva versioacuten usando tarball

1 desempaque el tarball

tar -zxf shorewall-xyztgz

2 cd al directorio shorewall (la versioacuten estaacute codificada en el nombre del directorio como en ldquoshorewall-301rdquo)

3 Tipee

installsh

4 Vea si hay alguna incompatibilidad entre su configuracioacuten y la nueva versioacuten de Shorewall y corrija si es necesario

shorewall check

5 Arranque el firewall tipeando

shorewall start

6 Si el guioacuten isntall no fue capaz de configurar Shorewall para su arranque automaacutetico al arrancar el sistema (boot) vea estas instrucciones

Actualizando con lrp

Lo siguiente fue contribucioacuten de Charles Steinkuehler en la lista de correos Leaf

Es MUY simplesoacutelo ponlo en un nuevo CD y reinicia -) De hecho soacutelo bromeo ligeramenteasiacute es exactamente como actualizo mis firewalls de produccioacuten La facilidad de respaldo parcial que agregue a Dachstein permite que los datos de configuracioacuten sean almacenados separadamente del resto del paquete

Una vez que los datos de configuracioacuten estaacuten separados del resto del paquete es faacutecil actualizar el paquete mientras mantiene su configuracioacuten actual (en mi caso insertando un CD y reiniciando)

Los usuarios que no estaacuten corriendo con muacuteltiples rutas de paquetes y usan respaldos parciales tambieacuten pueden actualizar un paquete soacutelo toma un poco maacutes de trabajo La idea general es usar el respaldo parcial para salvar su configuracioacuten remplazar el paquete y restaurar sus viejos archivos de configuracioacuten Instrucciones paso-a-paso para una forma de hacer esto (asumiendo un sistema convencional de un-floppy LEAF) seriacutea

bull Haga una copia de respaldo de su disco de firewall (NUEVO) Este es el disco al que agregaraacute el paquete actualizado

bull Dele formato a un floppy para usarlo como ubicacioacuten temporal para sus archivos de configuracioacuten (XFER) Este disco deberiacutea tener el mismo formato que el disco del firewall (y simplemente pudiera ser simplemente otra copia de respaldo de firewall actual)

bull Aseguacuterese de tener una copia qeu funcione de su fierwall (VIEJO) en alguacuten lugar seguro que NO usaraacute durante este proceso De esta forma si algo sale mal usted simplemente reinicia con el disco VIEJO para volver a una configuracioacuten que funciona

bull Remueva su disco actual de configuracioacuten de firewall y remplaacutecelo con el disco XFERbull Use el menuacute de respaldo lrcfg para ahcer un respaldo parcial del paquete que desea actualizar estando

seguros acerca de los archivos en el disco XFER A partir del menuacute de respaldo

t e ltentergt p ltentergtb ltpackage1gt ltentergtb ltpackage2gt ltentergt

bull Descargue y copie el paquete que desea actualizar en el disco NUEVObull Reinicie su firewall usando el disco NUEVOen este punto su actualizacioacuten tendraacute su configuracioacuten por

omisioacutenbull Monte el disco XFER (mount -t msdos devfd0u1680 mnt)bull CD al directorio raiacutez (cd )bull Extraiga manualmente los datos de configuracioacuten para cada paquete que actualizoacute

tar -xzvf mntpackage1lrptar -xzvf mntpackage2lrp

bull Desmonte (umount mnt) y retire el disco XFERbull Usando lrcfg haga respaldos FULL de sus paquetes actualizadosbull Reinicie verificando que el firewall funciona como se espera Algunos archivos de configuracioacuten puede que

necesiten ser entonados para que funcionen apropiadamente con los binarios actualizados del paquete

Importante

El nuevo archivo paquete ltpaquetegtlocal puede usar para entonar cuaacuteles archivos estaacuten incluidos (y excluidos) del respaldo parcial (vea el Dachstein-CD README para maacutes detalles) Si este archivo no existe los guiones de respaldo asumiraacuten que cualquier cosa del archivo ltpackagegtlist que reside en etc o varliblrpkg es parte de los datos de configuracioacuten y se usa para crear el respaldo parcial Si Shorewall pone algo en etc que no sea un archivo de configuracioacuten modificado por el usuario deberiacutea crearse un archivo apropiado shorwalllocal antes de hacer el respaldo parcial [Nota del Editor Shorewall coloca soacutelo archivos modificables por el usuario en etc]

Nota

Es obviamente posible hacer lo anterior en-sitio sin usar muacuteltiples discos e incluso sin hacer respaldos parciales (ie copiar archivos de configuracioacuten actuales a tmp manualmente extraer el nuevo paquete sobre el firewall que estaacute corriendo luego copiar o fusionar los datos desde tmp yo respaldoo similar) pero para cualquiera que sea capaz de toda esa gimnasia en la liacutenea de comandos es probable que lo pueda hacer sin ninguacuten tipo de instrucciones detalladas -)

Para maacutes informacioacuten de otras herramientas de actualizacioacuten LEAFBering mire en este artiacuteculo de Alex Rhomberg

Configurando Shorewall

Usted necesitaraacute editar algunos o todos los archivos de configuracioacuten para lograr la configuracioacuten deseada En la mayoriacutea de los casos las Guiacuteas Raacutepidas de Shorewall contienen toda la informacioacuten que usted necesita para comenzar

DesinstalarVolverAtraacutes

Vea ldquoVolverAtraacutes y Desinstalarrdquo

Firewall Baacutesico Dos-Interfaces

Introduccioacuten

El configurar un sistema Linux como firewall para una red pequentildea es relativamente una tarea simple si entiende los principios baacutesicos y sigue la documentacioacuten

Esta guiacutea no intenta profundizar en todas las facilidades de Shorewall A cambio se enfoca en lo que se requiere para configurar Shorewall en su configuracioacuten maacutes comuacuten

bull Sistema Linux usado como firewallrouter para una red local pequentildeabull Un uacutenica direccioacuten IP puacuteblica Si tiene maacutes de una direccioacuten IP puacuteblica esta no es la guiacutea que desea -- vea

la Guiacutea de Configuracioacuten de Shorewall bull Conexioacuten Internet por cable modem DSL ISDN Frame Relay discada

Aquiacute se muestra un esquemaacutetico de una instalacioacuten tiacutepica

Figura 1 Configuracioacuten comuacuten de firewall con dos interfaces

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windowstrade usted salvarlos como archivos Unixtrade si su editor soporta esta opcioacuten o debe pasarlo por el programa dos2unix antes de intentar de usarlos De forma similar si copia un archivo de configuracioacuten del disco duro en Windowstrade a un disco flexible debe pasarlos por dos2unix antes de usarlos con Shorewall

bull Versioacuten Windows trade de dos2unix bull Versioacuten Linux de dos2unix

Requerimientos de Sistema

Shorewall requiere que tenga instalado el paquete iprouteiproute2 (en RedHattrade el paquete se llama iproute) Usted puede saber si este paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando which para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se le recomienda primero leer a lo largo de la guiacutea para familiarizarse con los toacutepicos involucrados para luego volver sobre ella y hacer los cambios de configuracioacuten

Convenciones

Los puntos en los cuales se recomiendan cambios de configuracioacuten estaacuten sentildealadas

Las notas de configuracioacuten que son uacutenicas de LEAFBering estaacute marcadas con

PPTPADSL

Si tiene un Modem ADSL y usa PPTP para comunicarse con un servidor en ese modem usted debe hacer los cambios que se recomiendan aquiacute en adicioacuten a los que se explican abajo ADSL con PPTP se encuentra frecuentemente en Europa y notable Austria

Conceptos Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall -- para configuraciones simples encontraraacute que soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea

Alerta

Nota para los Usuarios Debian

Si instala usando deb encontraraacute que su directorio etcshorewall estaacute vaciacuteo Esto es intencional El esqueleto de archivos de configuracioacuten se pueden encontrar en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no planea modificarlos

Importante

Despueacutes que tiene instalado Shorewall localice las muestras two-interfaces

1 Si instaloacute usando RPM las muestras estaraacuten en el subdirectorio Samplestwo-interfaces del directorio de documentacioacuten de Shorewall Si no sabe donde estaacute el directorio de documentacioacuten Shorewall puede encontrarlo usando el siguiente comando

~ rpm -ql shorewall | fgrep two-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesinterfacesusrsharedocpackagesshorewallSamplestwo-interfacesmasqusrsharedocpackagesshorewallSamplestwo-interfacespolicyusrsharedocpackagesshorewallSamplestwo-interfacesroutestoppedusrsharedocpackagesshorewallSamplestwo-interfacesrulesusrsharedocpackagesshorewallSamplestwo-interfaceszones~

2 Si instaloacute usando el tarball las muestras estaacuten en el directorio Samplestwo-interfaces en el tarball3 Si instaloacute usando deb las muestras estaacuten en usrsharedocshorewallexamplestwo-interfaces

En la medida que se explica cada archivo le sugerimos que vea el archivo en cuestioacuten en su sistema -- cada archivo contiene instrucciones detallads de configuracioacuten y entradas por omisioacuten

Shorewall ve la red sobre la cual trabaja como si estuviera compuesta de un conjunto de zonas En la configuracioacuten de muestra two-interface se usan los siguientes nombres de zonas

ZONE TYPE OPTIONS IN OUT OPTIONS OPTIONSfw firewallnet ipv4loc ipv4

Las zonas se definen en el archivo etcshorewallzones

Note que Shorewall reconoce el sistema firewall como su propia zona - cuando se procesa el archivo etcshorewallzones el nombre de la zona firewall se almacena en la variable shell $FW que puede usarse para referirse a la zona del firewall a lo largo de la configuracioacuten de Shorewall

Las reglas acerca del traacutefico a permitir o rechazar se expresan en teacuterminos de zonas

bull Usted expresa su poliacutetica por omisioacuten para las conexiones desde una zona a otra en el archivo etcshorewallpolicy

bull Usted define excepciones para dichas poliacuteticas por omisioacuten en el archivo etcshorewallrules

Para cada solicitud de conexioacuten que ingresa al firewall la solicitud se verifica primero contra el archivo etcshorewllrules Si no aplica ninguna regla para la solicitud de conexioacuten entonces la primera poliacutetica en etcshorewallpolicy que coincida se aplica Si hay una accioacuten comuacuten definida para la poliacutetica en etcshorewallactions o usrshareshorewallactionsstd entonces esa accioacuten se ejecuta antes de la poliacutetica

El archivo etcshorewallpolicy que se incluye con la muestra two-interface tiene las siguientes poliacuteticas

SOURCE DEST POLICY LOG LEVEL LIMITBURSTloc net ACCEPTnet all DROP infoall all REJECT info

En la muestra two-interface la liacutenea abajo estaacute incluida pero estaacute comentada Si desea que su sistema firewall tenga acceso completo a los servidores en internet quite el comentario a esa liacutenea

SOURCE DEST POLICY LOG LEVEL LIMITBURST$FW net ACCEPT

Las poliacuteticas anteriores

bull Permitiraacuten todas las solicitudes de conexiones desde la red local hacia internetbull Desacartaacuten (ignoraraacuten) todas las solicitudes de conexioacuten desde internet hacia su firewall o red localbull Opcionalmente aceptar todas las solicitudes de conexiones desde el firewall hacia internet (si levantoacute el

comentario de la poliacutetica adicional)bull Rechazaraacuten todas las otras solicitudes de conexioacuten

Es importante notar que las poliacuteticas Shorewal (y las reglas) refieren a conexiones y no flujo de paquetes Con las poliacuteticas definidas en el archivo etcshorewallpolicy como se muestra arriba las conexiones se permiten desde la zona loc a la zona net incluso aunque no esten permitidas las conexiones desde la zona loc al propio firewall

En este punto edite su etcshorewallpolicy y haga los cambios que considere

Interfaces de Red

El firewall tiene dos interfaces de red Donde si bien la conectividad es a traveacutes de cable modem o Modem DSL la Interface Externa seraacute el adaptador ethernet que se encuentre conectado a dicho Modem (eg eth0) a menos que conecte viacutea Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta por un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces querraacute poner CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Interna seraacute un adaptador ethernet (eth1 o eth0) y conectaraacute a un hub o switch Sus computadores se conectaraacuten al mismo hubswitch (nota Si tiene un uacutenico sistema interno puede conectarlo directamente al firewall usando un cable cruzado)

Alerta

No conecte la interface interna y externa al mismo hub o switch exceptuado para pruebas Usted puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en etcshorewallinterfaces para todas las interfaces comunes al mismo hubswitch Usando tal configuracioacuten con un firewall en produccioacuten no es para nada recomendable

La muestra two-interface de Shorewall asume que la interface externa es eth0 y que la interface interna es eth1 Si su configuracioacuten difiere tendraacute que modificar la muesta acordemente en el archivo etcshorewallinterfaces Mientra esteacute ahiacute puede revisar la lista de opciones que le son especiacuteficas para las interfaces Algunas pistas

Tip

Si su interface externa es ppp0 o ippp0 puede remplazar en la segunda columna detect con ldquo-rdquo (sin las comillas)

Tip

Si su interface externa es ppp0 o ippp0 o si tiene una direccioacuten IP estaacutetica puede eliminar dhcp de la lista de opciones

Tip

Si su interface interna es un puente (bridge) cree If your internal interface is a bridge create using the brctl utility then you must add the routeback option to the option list

Direcciones IP

Antes de seguir avanzando debemos decir unas cuantas palabras acerca de las direcciones Internet Protocol (IP) Normalmente su ISP le asignaraacute una uacutenica direccioacuten IP Puacuteblica Esta direccioacuten puede ser asignada viacutea Dynamic Host Configuration Protocol (DHCP) o como parte del establecimiento de su conexioacuten cuando disca (modem estandar) o establece su conexioacuten PPP En raras ocasiones su ISP le asignaraacute una direccioacuten IP estaacutetica esto significa que usted configuraraacute la interface exerna de su firewall para usar permanentemente esa direccioacuten Sin embargo su direccioacuten IP asignada seraacute compartida por todos sus sistemas cuando accedan a Internet Usted tendraacute que asignar sus propias direcciones en su red interna (la Interface Interna en su firewall maacutes las otras computadores) El RFC 1918 reserva varios rangos de direcciones Privadas IP para ese propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Antes de arrancar Shoreall usted debe ver la direccioacuten IP de su interface externa y si es una dentro de los rangos descritos arriba deberiacutea quitar la opcioacuten norfc1918 de la entrada que corresponde a su interface externa en etcshorewallinterfaces

Usted querraacute asignar sus direcciones desde la misma subred Para nuestros propoacutesitos podemos considerar una subred que consista de un rango de direcciones xyz0 - xyz255 Tal subred tendraacute una maacutescara de red de 2552552550 La direccioacuten xyz0 se reserva como la Direccioacuten de Subred y xyz255 se reserva como la Direccioacuten de Difusioacuten de la Subred (Boradcast) En Shorewall una subred se describe usando la notacioacuten Classless InterDomain Routing (CIDR) que consiste de direcciones de subred seguida de 24 El ldquo24rdquo se refiere a la cantidad de 1 consecutivos a la cabeza de la maacutescara de red

Rango 1010100 - 101010255

Direccioacuten de Subred 1010100

Direccioacuten de Difusioacuten 101010255

Notacioacuten CIDR 101010024

Es convencioacuten asignarle la primera direccioacuten utilizable en la subred a la interface interna (1010101 en el ejemplo anterior) o la uacuteltima (101010254)

Uno de los propoacutesitos de hacer subredes es permitir a todas las computadoras en la subred entender queacute otras computadoras pueden comunicarse con ellas directamente Para comunicarse con sistemas fuera de la subre los sistemas deben enviar los paquetes a su detino final a traveacutes de un gateway (enrutador)

Sus computadoras locales (computer 1 y computer 2 en el diagrama arriba) deben ser configuradas con el default gateway a la direccioacuten IP de la interface interna del firewall

La discusioacuten a continuacioacuten repasa por encima los temas de subredes y enrutamiento Si estaacute interesado en aprender maacutes acerca del direccionamiento y el enrutamiento IP si le recomienda altamente el libro ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0 (enlace)

El resto de esta guiacutea asume que tiene su red dispuesta de esta forma

El default gateway para las computdores 1 y 2 seriacutea 101010254

Alerta

Su ISP puede que le asigne una direccioacuten RFC 1918 para su interface externa Si dicha direccioacuten estaacute en la subred 101010024 entonces tendraacute que seleccionar una subred DIFERENTE RFC 1918 para su red local

Enmascaramiento IP (SNAT)

Las direcciones reservadas por el RFC 1918 son a veces referidas como no-ruteable debido a que los enrutadores en el corazoacuten de Internet no se renviacutean los paquetes IP cuando tienen como destino una direccioacuten RFC 1918 Cuando uno de su sistemas locales (digamos computer 1) enviacutea una solicitud de conexioacuten a una maacutequina en Internet el firewall debe hacer Network Address Translation (NAT Traduccioacuten de Direccioacuten de Red) El firewall rescribe la direccioacuten de origen en el paquete para que sea la direccioacuten de la interface externa del firewall en otras palabras el

firewall hace parecer que la solicitud de conexioacuten fueacute originada en el propio firewall Esto es necesario hacerlo para la maaacutequina destino sea capaz de enrutar la respuesta de vuelta hasta el firewall (recuerde que los paquetes cuyos destinos es una direccioacuten RFC 1918 no son enrutados a traveacutes de internet para que la respuesta vuelva su origen en computer 1) Cuando el firewall recibe un paquete de respuesta rescribe la direccioacuten de destino de vuelta a 1010101 y enviacutea el paquete a computer 1

En los sistemas Linux el proceso anterior es conocido como Enmascaramiento IP pero tambieacuten veraacute el uso del teacutermino Source Network Address Translation (SNAT) Shorewall sigue la convencioacuten que usa Netfilter

bull Enmascaramiento (Masquerade) describe el caso donde se permite al sistema firewall detectar automaacuteticamente la direccioacuten de la interface externa

bull SNAT se refiere al caso donde expliacutecitamente especifica la direccioacuten origen que desea usar en los paquetes salientes

En Shorewall tanto Enmascaramiento y SNAT se configuran con entradas en el archivo etcshorewallmasq Normalmente usaraacute Enmascaramiento si su direccioacuten IP en la interface externa es dinaacutemica y SNAT en el caso de direccioacuten IP estaacutetica

Si la interface externa de su firewall es eth0 no se necesita modificar el archivo provisto con la muestra De otra forma edite etcshorewallmasq y cambie la primera columna para que refleje el nombre de su interface externa y la segunda columna el nombre de su interface interna

Si su direccioacuten IP externa es estaacutetica puede enterarla en la tercrea columna en etcshorewallmasq si desea si bien su firewall funcionaraacute bien si no lo hace Enterar su direccioacuten IP estaacutetica en la tercera columna hace que procesar los paquetes salientes sea un poco maacutes eficiente

Si estaacute usando el paquete Debian por favor revise su archivo shorewallconf para asegurarse que lo siguiente esteacute escrito correctamente si no es asiacute caacutembielo apropiadamente

bull IP_FORWARDING=On

Desviacuteo de Puerto (DNAT)

Una de sus metas puede ser correr uno o mas servidores en sus sistemas locales Ya que dichas computadoras tienen direcciones RFC-1918 no es posible a los clientes en internet conectar directamente con ellas En cambio es necesario para dichos clientes dirigir sus solicitudes de conexioacuten hacia el firewall quien rescribe la direccioacuten destino a la direccioacuten de su servidor y enviacutea el paquete al servidor Cuando su servidor responde el firewall automaacuteticamente realiza SNAT para rescribir la direccioacuten origen en la respuesta

El proceso anterior es llamado Desviacuteo de Puerto o Port Forwarding o Destination Network Address Translation (DNAT) Usted puede configurar el desviacuteo de puerto usando las reglas DNAT en el archivo etcshorewallrules

La forma general de una regla de desviacuteo de puerto simple en etcshorewallrules es

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net locltserver local ip addressgt[ltserver portgt] ltprotocolgt ltportgt

Shorewall incorpora macros para muchas de las aplicaciones populares Revise en usrshareshorewallmacro para identificar los macros disponibles en su versioacuten Los macros simplemente crean reglas DNAT suministrando el protocolo y puerto(s) como se muestra en los siguientes ejemplos

Ejemplo 1 Servidor Web

Usted estaacute corriendo un Servidor Web en computer 2 y desea desviar el puerto entrante TCP 80 a este sistema

ACTION SOURCE DEST PROTO DEST PORT(S)WebDNAT net loc1010102

Ejemplo 2 Servidor FTP

Usted estaacute corriendo un Servidor FTP en computer 1 tal que desea entonces desviar el puerto entrante TCP 21 a ese sistema

ACTION SOURCE DEST PROTO DEST PORT(S)FTPDNAT net loc1010101

Para FTP necesitaraacute adicionalmente el motor de seguimiento de conexiones y el soporte NAT en su kernel Para los kernel provistos por el vendedor esto significa que los moacutedulos ip_conntrack_ftp y ip_nat_ftp deben ser cargados Shorewall cargaraacute automaacuteticamente dichos moacutedulos si estaacuten disponibles y localizados en el lugar estandar bajo libmodulesltkernel versiongtkernelnetipv4netfilter

Un par de puntos importantes a mantener en mente son

bull Usted debe probar la regla anterior desde un cliente externe a su red local (ie no pruebe desde un explorador en los computadores 1 o 2 o en el firewall) Si desea ser capaz de acceder a su servidor web yo ftp desde adentro de su fireall usando la direccioacuten IP de su interface externa vea Shorewall FAQ 2

bull Muchos ISPs bloquean las solicitudes entrantes al puerto 80 Si tiene problemas conectaacutendose a su servidor intente seguir la siguiente regla y conectar al puerto 5000

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net loc101010280 tcp 5000

En este punto modifique etcshorewallrules para agregar cualquier regla DNAT que se requiera

Importante

Cuando pruebe las reglas DNAT como las anteriores debe realizar las pruebas desde un cliente AFUERA de su fiewall (en la zona net ) Usted no puede probar estas reglas desde la parte interior del firewall

Para tips de Resolucioacuten de Problemas con DNAT vea FAQs 1a y 1b

Domain Name Server (DNS)

Normalmente cuando usted conecta con su ISP y como parte del proceso de obtener una direccioacuten IP el resolutor Domain Name Service (DNS) del firewall seraacute automaacuteticamente configurado (eg el archivo etcresolvconf seraacute rescrito) Alternativamente su ISP puede darle la direccioacuten IP de un par de servidores de nombre DNS para que manualmente los configure como servidores de nombre primario y secundario respectivamente Sin importar la forma en coacutemo se configuran los servidores DNS en su firewall es su responsabilidad configurar el resolutor en sus sistemas internos Puede escoger uno de dos caminos

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 2: 6927538-Shorewall

error failed dependenciesiproute is needed by shorewall-22x-1

Este problema no debiera ocurrir si estaacute usando el paquete RPM correcto (vea 1 arriba) pero puede resolverse daacutendole la vuelta usando la opcioacuten --nodeps de rpm

rpm -ivh --nodeps ltshorewall rpmgt

3 Edite los archivos de configuracioacuten para ajustarse a sus necesidades de configuracioacuten

Alerta

USTED NO PUEDE SIMPLEMENTE INSTALAR EL RPMY MANDAR EL COMANDO ldquoshorewall startrdquo SE REQUIERE DE CONFIGURACION ANTES DE QUE EL FIREWALL PUEDA ARRANCAR SI ENVIA EL COMANDO ldquostartrdquo Y EL FIREWALL FALLA EN ARRANCAR SU SISTEMA NO ACEPTARA NINGUN TRAFICO DE RED SI ESTO SUCEDE USE EL COMANDO ldquoshorewall clearrdquo PARA RESTAURAR LA CONECTIVIDAD DE RED

4 Habilite el inicio eliminando el archivo etcshorewallstartup_disabled (Si estaacute usando Shorewall 213 o posterior edite etcshorewallshorewallconf y ponga STARTUP_ENABLED en Yes)

5 Arranque el firewall tipeando

shorewall start

Instalar usando tarball

Para instalar Shorewall usando el tarball y el guioacuten de instalacioacuten

1 desempaque el tarball (tar -zxf shorewall-xyztgz)2 cd al directorio shorewall (la versioacuten estaacute condificada en el nombre del directorio como en ldquoshorewall-

300rdquo)3 Tipee

installsh

4 Edite los archivos de configuracioacuten para ajustarse a sus necesidades de configuracioacuten5 Habilite el inicio editando etcshorewallshorewallconf y poniendo STARTUP_ENABLED en Yes)6 Arranque el firewall tipeando

shorewall start

7 Si el guioacuten install no fue capaz de configurar Shorewall para arrancarse automaacuteticamente al arrancar el sistema (boot) vea estas instrucciones

Instalar usando lrp

Para instalar mi versioacuten de Shorewall en un disco fresco de Bering simplemente remplace el archivo ldquoshorwalllrprdquo en la imagen con el arhivo que descargoacute Por ejemplo si descarga shorewall-lrp-220tgz entonces deberaacute renombrar el archivo a shorwalllrp y remplazar el archivo de ese nombre en el disco Bering con el nuevo Entonces proceda a configurar Shorewall como se describe en la documentacioacuten Bering (o Bering uClibc)

Instalar usando deb

Importante

Una vez que ha instalado el paquete dev y antes de intentar configurar Shorewall por favor lea el concejo de Lorenzo Martignoni el Mantenedor de Shorewall Debian

ldquoPara maacutes informacioacuten acerca del uso de Shorewall en sistemas Debian mire en usrsharedocshorewallREADMEDebian provisto por el paquete Debian de shorewallrdquo

La forma maacutes faacutecil de instalar Shorewall en Debian es usar use apt-get

apt-get install shorewall

Para asegurar que estaacute instalando la uacuteltima versioacuten de Shorewall por favor modifique su archivo etcaptsourceslist como se describe aquiacute

Una vez que haya completado la configuracioacuten Shorewall puede habilitar el arranque de Shorewall al arranque del sistema (boot) poniendo startup=1 en etcdefaultshorewall

Notas Generales Acerca de la Actualizacioacuten Shorewall

La mayoriacutea de los problemas asociados con las actualizaciones tienen su origen en dos causas

bull El usuario no leyoacute y siguioacute las consideraciones de migracioacuten en las notas de liberacioacuten (estos se reproducen en Problemas al Actualizar Shorewall)

bull El usuario no manejoacute bien el archivo etcshorewallshorewallconf durante la actualizacioacuten Shorewall estaacute disentildeado para tener un comportamiento por omisioacuten persistente a lo largo de la evolucioacuten del producto Para que esto sea posible el disentildeo asume que usted no remplazaraacute su archivo shorewallconf actual durante las actualizaciones Se recomienda que despueacutes de instalar por primera vez Shorewall modifique etcshorewallshorewallconf tal que prevenga que el manejador de paquetes lo sobrescriba durante subsiguientes actualizaciones (ya que hay que agregar STARTUP_ENABLED tal modificacioacuten asegura que usted debe manualmente cambiar los ajustes de esta opcioacuten) Si se siente realmente impulsado a tener los uacuteltimos comentarios y opciones en su shorewallconf entonces proceda con cuidado Deberiacutea determinar cuaacuteles nuevas opciones han sido agregadas y debe reajustar sus valores (eg OPTION=) de otra forma obtendraacute un comportamiento diferente al que espera

Actualizando con RPM

Si ya tiene el RPM Shorewall instalado y estaacute actualizando a una nueva versioacuten

1 Aseguacuterese de tener el paquete RPM correcto

El paquete estandar RPM de shorewallnet y sus espejos se saben funcionan con SuSe Power PPC Trustix y TurboLinux Hay tambieacuten un paquete RPM provisto por Simon Matter que ha sido ajustado para RedHatFedora y otro paquete provisto por Jack Coates que estaacute personalizado para Mandrake Si intenta usar el paquete equivocado probablemente no funcione

2 Actualice el RPM

rpm -Uvh ltshorewall rpm filegt

Nota

Algunos usuarios SuSE han encontrado un problema donde rpm reporta un conflicto con kernel lt= 22 auacuten cuando estaacute instalado un kernel 24 Si esto sucede simplemente use la opcioacuten --nodeps de rpm

rpm -Uvh --nodeps ltshorewall rpmgt

Nota

A partir de Shorewall 140 Shorewall depende del paquete iproute Desafortunadamente algunas distribuciones llaman a este paquete por otro nombre iproute2 lo que causa que Shorewall falle con el mensaje diagnoacutestico

error failed dependenciesiproute is needed by shorewall-140-1

A esto se le puede dar la vuelta usando la opcioacuten --nodeps de rpm

rpm -Uvh --nodeps ltshorewall rpmgt

3 Vea si hay alguna incompatibilidad entre su configuracioacuten y la nueva versioacuten de Shorewall y corrija si es necesario

shorewall check

4 Reinicie el firewall

shorewall restart

Actualizando con tarball

Si ya tiene instalado Shorewall y estaacute actualizando a una nueva versioacuten usando tarball

1 desempaque el tarball

tar -zxf shorewall-xyztgz

2 cd al directorio shorewall (la versioacuten estaacute codificada en el nombre del directorio como en ldquoshorewall-301rdquo)

3 Tipee

installsh

4 Vea si hay alguna incompatibilidad entre su configuracioacuten y la nueva versioacuten de Shorewall y corrija si es necesario

shorewall check

5 Arranque el firewall tipeando

shorewall start

6 Si el guioacuten isntall no fue capaz de configurar Shorewall para su arranque automaacutetico al arrancar el sistema (boot) vea estas instrucciones

Actualizando con lrp

Lo siguiente fue contribucioacuten de Charles Steinkuehler en la lista de correos Leaf

Es MUY simplesoacutelo ponlo en un nuevo CD y reinicia -) De hecho soacutelo bromeo ligeramenteasiacute es exactamente como actualizo mis firewalls de produccioacuten La facilidad de respaldo parcial que agregue a Dachstein permite que los datos de configuracioacuten sean almacenados separadamente del resto del paquete

Una vez que los datos de configuracioacuten estaacuten separados del resto del paquete es faacutecil actualizar el paquete mientras mantiene su configuracioacuten actual (en mi caso insertando un CD y reiniciando)

Los usuarios que no estaacuten corriendo con muacuteltiples rutas de paquetes y usan respaldos parciales tambieacuten pueden actualizar un paquete soacutelo toma un poco maacutes de trabajo La idea general es usar el respaldo parcial para salvar su configuracioacuten remplazar el paquete y restaurar sus viejos archivos de configuracioacuten Instrucciones paso-a-paso para una forma de hacer esto (asumiendo un sistema convencional de un-floppy LEAF) seriacutea

bull Haga una copia de respaldo de su disco de firewall (NUEVO) Este es el disco al que agregaraacute el paquete actualizado

bull Dele formato a un floppy para usarlo como ubicacioacuten temporal para sus archivos de configuracioacuten (XFER) Este disco deberiacutea tener el mismo formato que el disco del firewall (y simplemente pudiera ser simplemente otra copia de respaldo de firewall actual)

bull Aseguacuterese de tener una copia qeu funcione de su fierwall (VIEJO) en alguacuten lugar seguro que NO usaraacute durante este proceso De esta forma si algo sale mal usted simplemente reinicia con el disco VIEJO para volver a una configuracioacuten que funciona

bull Remueva su disco actual de configuracioacuten de firewall y remplaacutecelo con el disco XFERbull Use el menuacute de respaldo lrcfg para ahcer un respaldo parcial del paquete que desea actualizar estando

seguros acerca de los archivos en el disco XFER A partir del menuacute de respaldo

t e ltentergt p ltentergtb ltpackage1gt ltentergtb ltpackage2gt ltentergt

bull Descargue y copie el paquete que desea actualizar en el disco NUEVObull Reinicie su firewall usando el disco NUEVOen este punto su actualizacioacuten tendraacute su configuracioacuten por

omisioacutenbull Monte el disco XFER (mount -t msdos devfd0u1680 mnt)bull CD al directorio raiacutez (cd )bull Extraiga manualmente los datos de configuracioacuten para cada paquete que actualizoacute

tar -xzvf mntpackage1lrptar -xzvf mntpackage2lrp

bull Desmonte (umount mnt) y retire el disco XFERbull Usando lrcfg haga respaldos FULL de sus paquetes actualizadosbull Reinicie verificando que el firewall funciona como se espera Algunos archivos de configuracioacuten puede que

necesiten ser entonados para que funcionen apropiadamente con los binarios actualizados del paquete

Importante

El nuevo archivo paquete ltpaquetegtlocal puede usar para entonar cuaacuteles archivos estaacuten incluidos (y excluidos) del respaldo parcial (vea el Dachstein-CD README para maacutes detalles) Si este archivo no existe los guiones de respaldo asumiraacuten que cualquier cosa del archivo ltpackagegtlist que reside en etc o varliblrpkg es parte de los datos de configuracioacuten y se usa para crear el respaldo parcial Si Shorewall pone algo en etc que no sea un archivo de configuracioacuten modificado por el usuario deberiacutea crearse un archivo apropiado shorwalllocal antes de hacer el respaldo parcial [Nota del Editor Shorewall coloca soacutelo archivos modificables por el usuario en etc]

Nota

Es obviamente posible hacer lo anterior en-sitio sin usar muacuteltiples discos e incluso sin hacer respaldos parciales (ie copiar archivos de configuracioacuten actuales a tmp manualmente extraer el nuevo paquete sobre el firewall que estaacute corriendo luego copiar o fusionar los datos desde tmp yo respaldoo similar) pero para cualquiera que sea capaz de toda esa gimnasia en la liacutenea de comandos es probable que lo pueda hacer sin ninguacuten tipo de instrucciones detalladas -)

Para maacutes informacioacuten de otras herramientas de actualizacioacuten LEAFBering mire en este artiacuteculo de Alex Rhomberg

Configurando Shorewall

Usted necesitaraacute editar algunos o todos los archivos de configuracioacuten para lograr la configuracioacuten deseada En la mayoriacutea de los casos las Guiacuteas Raacutepidas de Shorewall contienen toda la informacioacuten que usted necesita para comenzar

DesinstalarVolverAtraacutes

Vea ldquoVolverAtraacutes y Desinstalarrdquo

Firewall Baacutesico Dos-Interfaces

Introduccioacuten

El configurar un sistema Linux como firewall para una red pequentildea es relativamente una tarea simple si entiende los principios baacutesicos y sigue la documentacioacuten

Esta guiacutea no intenta profundizar en todas las facilidades de Shorewall A cambio se enfoca en lo que se requiere para configurar Shorewall en su configuracioacuten maacutes comuacuten

bull Sistema Linux usado como firewallrouter para una red local pequentildeabull Un uacutenica direccioacuten IP puacuteblica Si tiene maacutes de una direccioacuten IP puacuteblica esta no es la guiacutea que desea -- vea

la Guiacutea de Configuracioacuten de Shorewall bull Conexioacuten Internet por cable modem DSL ISDN Frame Relay discada

Aquiacute se muestra un esquemaacutetico de una instalacioacuten tiacutepica

Figura 1 Configuracioacuten comuacuten de firewall con dos interfaces

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windowstrade usted salvarlos como archivos Unixtrade si su editor soporta esta opcioacuten o debe pasarlo por el programa dos2unix antes de intentar de usarlos De forma similar si copia un archivo de configuracioacuten del disco duro en Windowstrade a un disco flexible debe pasarlos por dos2unix antes de usarlos con Shorewall

bull Versioacuten Windows trade de dos2unix bull Versioacuten Linux de dos2unix

Requerimientos de Sistema

Shorewall requiere que tenga instalado el paquete iprouteiproute2 (en RedHattrade el paquete se llama iproute) Usted puede saber si este paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando which para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se le recomienda primero leer a lo largo de la guiacutea para familiarizarse con los toacutepicos involucrados para luego volver sobre ella y hacer los cambios de configuracioacuten

Convenciones

Los puntos en los cuales se recomiendan cambios de configuracioacuten estaacuten sentildealadas

Las notas de configuracioacuten que son uacutenicas de LEAFBering estaacute marcadas con

PPTPADSL

Si tiene un Modem ADSL y usa PPTP para comunicarse con un servidor en ese modem usted debe hacer los cambios que se recomiendan aquiacute en adicioacuten a los que se explican abajo ADSL con PPTP se encuentra frecuentemente en Europa y notable Austria

Conceptos Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall -- para configuraciones simples encontraraacute que soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea

Alerta

Nota para los Usuarios Debian

Si instala usando deb encontraraacute que su directorio etcshorewall estaacute vaciacuteo Esto es intencional El esqueleto de archivos de configuracioacuten se pueden encontrar en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no planea modificarlos

Importante

Despueacutes que tiene instalado Shorewall localice las muestras two-interfaces

1 Si instaloacute usando RPM las muestras estaraacuten en el subdirectorio Samplestwo-interfaces del directorio de documentacioacuten de Shorewall Si no sabe donde estaacute el directorio de documentacioacuten Shorewall puede encontrarlo usando el siguiente comando

~ rpm -ql shorewall | fgrep two-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesinterfacesusrsharedocpackagesshorewallSamplestwo-interfacesmasqusrsharedocpackagesshorewallSamplestwo-interfacespolicyusrsharedocpackagesshorewallSamplestwo-interfacesroutestoppedusrsharedocpackagesshorewallSamplestwo-interfacesrulesusrsharedocpackagesshorewallSamplestwo-interfaceszones~

2 Si instaloacute usando el tarball las muestras estaacuten en el directorio Samplestwo-interfaces en el tarball3 Si instaloacute usando deb las muestras estaacuten en usrsharedocshorewallexamplestwo-interfaces

En la medida que se explica cada archivo le sugerimos que vea el archivo en cuestioacuten en su sistema -- cada archivo contiene instrucciones detallads de configuracioacuten y entradas por omisioacuten

Shorewall ve la red sobre la cual trabaja como si estuviera compuesta de un conjunto de zonas En la configuracioacuten de muestra two-interface se usan los siguientes nombres de zonas

ZONE TYPE OPTIONS IN OUT OPTIONS OPTIONSfw firewallnet ipv4loc ipv4

Las zonas se definen en el archivo etcshorewallzones

Note que Shorewall reconoce el sistema firewall como su propia zona - cuando se procesa el archivo etcshorewallzones el nombre de la zona firewall se almacena en la variable shell $FW que puede usarse para referirse a la zona del firewall a lo largo de la configuracioacuten de Shorewall

Las reglas acerca del traacutefico a permitir o rechazar se expresan en teacuterminos de zonas

bull Usted expresa su poliacutetica por omisioacuten para las conexiones desde una zona a otra en el archivo etcshorewallpolicy

bull Usted define excepciones para dichas poliacuteticas por omisioacuten en el archivo etcshorewallrules

Para cada solicitud de conexioacuten que ingresa al firewall la solicitud se verifica primero contra el archivo etcshorewllrules Si no aplica ninguna regla para la solicitud de conexioacuten entonces la primera poliacutetica en etcshorewallpolicy que coincida se aplica Si hay una accioacuten comuacuten definida para la poliacutetica en etcshorewallactions o usrshareshorewallactionsstd entonces esa accioacuten se ejecuta antes de la poliacutetica

El archivo etcshorewallpolicy que se incluye con la muestra two-interface tiene las siguientes poliacuteticas

SOURCE DEST POLICY LOG LEVEL LIMITBURSTloc net ACCEPTnet all DROP infoall all REJECT info

En la muestra two-interface la liacutenea abajo estaacute incluida pero estaacute comentada Si desea que su sistema firewall tenga acceso completo a los servidores en internet quite el comentario a esa liacutenea

SOURCE DEST POLICY LOG LEVEL LIMITBURST$FW net ACCEPT

Las poliacuteticas anteriores

bull Permitiraacuten todas las solicitudes de conexiones desde la red local hacia internetbull Desacartaacuten (ignoraraacuten) todas las solicitudes de conexioacuten desde internet hacia su firewall o red localbull Opcionalmente aceptar todas las solicitudes de conexiones desde el firewall hacia internet (si levantoacute el

comentario de la poliacutetica adicional)bull Rechazaraacuten todas las otras solicitudes de conexioacuten

Es importante notar que las poliacuteticas Shorewal (y las reglas) refieren a conexiones y no flujo de paquetes Con las poliacuteticas definidas en el archivo etcshorewallpolicy como se muestra arriba las conexiones se permiten desde la zona loc a la zona net incluso aunque no esten permitidas las conexiones desde la zona loc al propio firewall

En este punto edite su etcshorewallpolicy y haga los cambios que considere

Interfaces de Red

El firewall tiene dos interfaces de red Donde si bien la conectividad es a traveacutes de cable modem o Modem DSL la Interface Externa seraacute el adaptador ethernet que se encuentre conectado a dicho Modem (eg eth0) a menos que conecte viacutea Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta por un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces querraacute poner CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Interna seraacute un adaptador ethernet (eth1 o eth0) y conectaraacute a un hub o switch Sus computadores se conectaraacuten al mismo hubswitch (nota Si tiene un uacutenico sistema interno puede conectarlo directamente al firewall usando un cable cruzado)

Alerta

No conecte la interface interna y externa al mismo hub o switch exceptuado para pruebas Usted puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en etcshorewallinterfaces para todas las interfaces comunes al mismo hubswitch Usando tal configuracioacuten con un firewall en produccioacuten no es para nada recomendable

La muestra two-interface de Shorewall asume que la interface externa es eth0 y que la interface interna es eth1 Si su configuracioacuten difiere tendraacute que modificar la muesta acordemente en el archivo etcshorewallinterfaces Mientra esteacute ahiacute puede revisar la lista de opciones que le son especiacuteficas para las interfaces Algunas pistas

Tip

Si su interface externa es ppp0 o ippp0 puede remplazar en la segunda columna detect con ldquo-rdquo (sin las comillas)

Tip

Si su interface externa es ppp0 o ippp0 o si tiene una direccioacuten IP estaacutetica puede eliminar dhcp de la lista de opciones

Tip

Si su interface interna es un puente (bridge) cree If your internal interface is a bridge create using the brctl utility then you must add the routeback option to the option list

Direcciones IP

Antes de seguir avanzando debemos decir unas cuantas palabras acerca de las direcciones Internet Protocol (IP) Normalmente su ISP le asignaraacute una uacutenica direccioacuten IP Puacuteblica Esta direccioacuten puede ser asignada viacutea Dynamic Host Configuration Protocol (DHCP) o como parte del establecimiento de su conexioacuten cuando disca (modem estandar) o establece su conexioacuten PPP En raras ocasiones su ISP le asignaraacute una direccioacuten IP estaacutetica esto significa que usted configuraraacute la interface exerna de su firewall para usar permanentemente esa direccioacuten Sin embargo su direccioacuten IP asignada seraacute compartida por todos sus sistemas cuando accedan a Internet Usted tendraacute que asignar sus propias direcciones en su red interna (la Interface Interna en su firewall maacutes las otras computadores) El RFC 1918 reserva varios rangos de direcciones Privadas IP para ese propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Antes de arrancar Shoreall usted debe ver la direccioacuten IP de su interface externa y si es una dentro de los rangos descritos arriba deberiacutea quitar la opcioacuten norfc1918 de la entrada que corresponde a su interface externa en etcshorewallinterfaces

Usted querraacute asignar sus direcciones desde la misma subred Para nuestros propoacutesitos podemos considerar una subred que consista de un rango de direcciones xyz0 - xyz255 Tal subred tendraacute una maacutescara de red de 2552552550 La direccioacuten xyz0 se reserva como la Direccioacuten de Subred y xyz255 se reserva como la Direccioacuten de Difusioacuten de la Subred (Boradcast) En Shorewall una subred se describe usando la notacioacuten Classless InterDomain Routing (CIDR) que consiste de direcciones de subred seguida de 24 El ldquo24rdquo se refiere a la cantidad de 1 consecutivos a la cabeza de la maacutescara de red

Rango 1010100 - 101010255

Direccioacuten de Subred 1010100

Direccioacuten de Difusioacuten 101010255

Notacioacuten CIDR 101010024

Es convencioacuten asignarle la primera direccioacuten utilizable en la subred a la interface interna (1010101 en el ejemplo anterior) o la uacuteltima (101010254)

Uno de los propoacutesitos de hacer subredes es permitir a todas las computadoras en la subred entender queacute otras computadoras pueden comunicarse con ellas directamente Para comunicarse con sistemas fuera de la subre los sistemas deben enviar los paquetes a su detino final a traveacutes de un gateway (enrutador)

Sus computadoras locales (computer 1 y computer 2 en el diagrama arriba) deben ser configuradas con el default gateway a la direccioacuten IP de la interface interna del firewall

La discusioacuten a continuacioacuten repasa por encima los temas de subredes y enrutamiento Si estaacute interesado en aprender maacutes acerca del direccionamiento y el enrutamiento IP si le recomienda altamente el libro ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0 (enlace)

El resto de esta guiacutea asume que tiene su red dispuesta de esta forma

El default gateway para las computdores 1 y 2 seriacutea 101010254

Alerta

Su ISP puede que le asigne una direccioacuten RFC 1918 para su interface externa Si dicha direccioacuten estaacute en la subred 101010024 entonces tendraacute que seleccionar una subred DIFERENTE RFC 1918 para su red local

Enmascaramiento IP (SNAT)

Las direcciones reservadas por el RFC 1918 son a veces referidas como no-ruteable debido a que los enrutadores en el corazoacuten de Internet no se renviacutean los paquetes IP cuando tienen como destino una direccioacuten RFC 1918 Cuando uno de su sistemas locales (digamos computer 1) enviacutea una solicitud de conexioacuten a una maacutequina en Internet el firewall debe hacer Network Address Translation (NAT Traduccioacuten de Direccioacuten de Red) El firewall rescribe la direccioacuten de origen en el paquete para que sea la direccioacuten de la interface externa del firewall en otras palabras el

firewall hace parecer que la solicitud de conexioacuten fueacute originada en el propio firewall Esto es necesario hacerlo para la maaacutequina destino sea capaz de enrutar la respuesta de vuelta hasta el firewall (recuerde que los paquetes cuyos destinos es una direccioacuten RFC 1918 no son enrutados a traveacutes de internet para que la respuesta vuelva su origen en computer 1) Cuando el firewall recibe un paquete de respuesta rescribe la direccioacuten de destino de vuelta a 1010101 y enviacutea el paquete a computer 1

En los sistemas Linux el proceso anterior es conocido como Enmascaramiento IP pero tambieacuten veraacute el uso del teacutermino Source Network Address Translation (SNAT) Shorewall sigue la convencioacuten que usa Netfilter

bull Enmascaramiento (Masquerade) describe el caso donde se permite al sistema firewall detectar automaacuteticamente la direccioacuten de la interface externa

bull SNAT se refiere al caso donde expliacutecitamente especifica la direccioacuten origen que desea usar en los paquetes salientes

En Shorewall tanto Enmascaramiento y SNAT se configuran con entradas en el archivo etcshorewallmasq Normalmente usaraacute Enmascaramiento si su direccioacuten IP en la interface externa es dinaacutemica y SNAT en el caso de direccioacuten IP estaacutetica

Si la interface externa de su firewall es eth0 no se necesita modificar el archivo provisto con la muestra De otra forma edite etcshorewallmasq y cambie la primera columna para que refleje el nombre de su interface externa y la segunda columna el nombre de su interface interna

Si su direccioacuten IP externa es estaacutetica puede enterarla en la tercrea columna en etcshorewallmasq si desea si bien su firewall funcionaraacute bien si no lo hace Enterar su direccioacuten IP estaacutetica en la tercera columna hace que procesar los paquetes salientes sea un poco maacutes eficiente

Si estaacute usando el paquete Debian por favor revise su archivo shorewallconf para asegurarse que lo siguiente esteacute escrito correctamente si no es asiacute caacutembielo apropiadamente

bull IP_FORWARDING=On

Desviacuteo de Puerto (DNAT)

Una de sus metas puede ser correr uno o mas servidores en sus sistemas locales Ya que dichas computadoras tienen direcciones RFC-1918 no es posible a los clientes en internet conectar directamente con ellas En cambio es necesario para dichos clientes dirigir sus solicitudes de conexioacuten hacia el firewall quien rescribe la direccioacuten destino a la direccioacuten de su servidor y enviacutea el paquete al servidor Cuando su servidor responde el firewall automaacuteticamente realiza SNAT para rescribir la direccioacuten origen en la respuesta

El proceso anterior es llamado Desviacuteo de Puerto o Port Forwarding o Destination Network Address Translation (DNAT) Usted puede configurar el desviacuteo de puerto usando las reglas DNAT en el archivo etcshorewallrules

La forma general de una regla de desviacuteo de puerto simple en etcshorewallrules es

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net locltserver local ip addressgt[ltserver portgt] ltprotocolgt ltportgt

Shorewall incorpora macros para muchas de las aplicaciones populares Revise en usrshareshorewallmacro para identificar los macros disponibles en su versioacuten Los macros simplemente crean reglas DNAT suministrando el protocolo y puerto(s) como se muestra en los siguientes ejemplos

Ejemplo 1 Servidor Web

Usted estaacute corriendo un Servidor Web en computer 2 y desea desviar el puerto entrante TCP 80 a este sistema

ACTION SOURCE DEST PROTO DEST PORT(S)WebDNAT net loc1010102

Ejemplo 2 Servidor FTP

Usted estaacute corriendo un Servidor FTP en computer 1 tal que desea entonces desviar el puerto entrante TCP 21 a ese sistema

ACTION SOURCE DEST PROTO DEST PORT(S)FTPDNAT net loc1010101

Para FTP necesitaraacute adicionalmente el motor de seguimiento de conexiones y el soporte NAT en su kernel Para los kernel provistos por el vendedor esto significa que los moacutedulos ip_conntrack_ftp y ip_nat_ftp deben ser cargados Shorewall cargaraacute automaacuteticamente dichos moacutedulos si estaacuten disponibles y localizados en el lugar estandar bajo libmodulesltkernel versiongtkernelnetipv4netfilter

Un par de puntos importantes a mantener en mente son

bull Usted debe probar la regla anterior desde un cliente externe a su red local (ie no pruebe desde un explorador en los computadores 1 o 2 o en el firewall) Si desea ser capaz de acceder a su servidor web yo ftp desde adentro de su fireall usando la direccioacuten IP de su interface externa vea Shorewall FAQ 2

bull Muchos ISPs bloquean las solicitudes entrantes al puerto 80 Si tiene problemas conectaacutendose a su servidor intente seguir la siguiente regla y conectar al puerto 5000

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net loc101010280 tcp 5000

En este punto modifique etcshorewallrules para agregar cualquier regla DNAT que se requiera

Importante

Cuando pruebe las reglas DNAT como las anteriores debe realizar las pruebas desde un cliente AFUERA de su fiewall (en la zona net ) Usted no puede probar estas reglas desde la parte interior del firewall

Para tips de Resolucioacuten de Problemas con DNAT vea FAQs 1a y 1b

Domain Name Server (DNS)

Normalmente cuando usted conecta con su ISP y como parte del proceso de obtener una direccioacuten IP el resolutor Domain Name Service (DNS) del firewall seraacute automaacuteticamente configurado (eg el archivo etcresolvconf seraacute rescrito) Alternativamente su ISP puede darle la direccioacuten IP de un par de servidores de nombre DNS para que manualmente los configure como servidores de nombre primario y secundario respectivamente Sin importar la forma en coacutemo se configuran los servidores DNS en su firewall es su responsabilidad configurar el resolutor en sus sistemas internos Puede escoger uno de dos caminos

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 3: 6927538-Shorewall

Importante

Una vez que ha instalado el paquete dev y antes de intentar configurar Shorewall por favor lea el concejo de Lorenzo Martignoni el Mantenedor de Shorewall Debian

ldquoPara maacutes informacioacuten acerca del uso de Shorewall en sistemas Debian mire en usrsharedocshorewallREADMEDebian provisto por el paquete Debian de shorewallrdquo

La forma maacutes faacutecil de instalar Shorewall en Debian es usar use apt-get

apt-get install shorewall

Para asegurar que estaacute instalando la uacuteltima versioacuten de Shorewall por favor modifique su archivo etcaptsourceslist como se describe aquiacute

Una vez que haya completado la configuracioacuten Shorewall puede habilitar el arranque de Shorewall al arranque del sistema (boot) poniendo startup=1 en etcdefaultshorewall

Notas Generales Acerca de la Actualizacioacuten Shorewall

La mayoriacutea de los problemas asociados con las actualizaciones tienen su origen en dos causas

bull El usuario no leyoacute y siguioacute las consideraciones de migracioacuten en las notas de liberacioacuten (estos se reproducen en Problemas al Actualizar Shorewall)

bull El usuario no manejoacute bien el archivo etcshorewallshorewallconf durante la actualizacioacuten Shorewall estaacute disentildeado para tener un comportamiento por omisioacuten persistente a lo largo de la evolucioacuten del producto Para que esto sea posible el disentildeo asume que usted no remplazaraacute su archivo shorewallconf actual durante las actualizaciones Se recomienda que despueacutes de instalar por primera vez Shorewall modifique etcshorewallshorewallconf tal que prevenga que el manejador de paquetes lo sobrescriba durante subsiguientes actualizaciones (ya que hay que agregar STARTUP_ENABLED tal modificacioacuten asegura que usted debe manualmente cambiar los ajustes de esta opcioacuten) Si se siente realmente impulsado a tener los uacuteltimos comentarios y opciones en su shorewallconf entonces proceda con cuidado Deberiacutea determinar cuaacuteles nuevas opciones han sido agregadas y debe reajustar sus valores (eg OPTION=) de otra forma obtendraacute un comportamiento diferente al que espera

Actualizando con RPM

Si ya tiene el RPM Shorewall instalado y estaacute actualizando a una nueva versioacuten

1 Aseguacuterese de tener el paquete RPM correcto

El paquete estandar RPM de shorewallnet y sus espejos se saben funcionan con SuSe Power PPC Trustix y TurboLinux Hay tambieacuten un paquete RPM provisto por Simon Matter que ha sido ajustado para RedHatFedora y otro paquete provisto por Jack Coates que estaacute personalizado para Mandrake Si intenta usar el paquete equivocado probablemente no funcione

2 Actualice el RPM

rpm -Uvh ltshorewall rpm filegt

Nota

Algunos usuarios SuSE han encontrado un problema donde rpm reporta un conflicto con kernel lt= 22 auacuten cuando estaacute instalado un kernel 24 Si esto sucede simplemente use la opcioacuten --nodeps de rpm

rpm -Uvh --nodeps ltshorewall rpmgt

Nota

A partir de Shorewall 140 Shorewall depende del paquete iproute Desafortunadamente algunas distribuciones llaman a este paquete por otro nombre iproute2 lo que causa que Shorewall falle con el mensaje diagnoacutestico

error failed dependenciesiproute is needed by shorewall-140-1

A esto se le puede dar la vuelta usando la opcioacuten --nodeps de rpm

rpm -Uvh --nodeps ltshorewall rpmgt

3 Vea si hay alguna incompatibilidad entre su configuracioacuten y la nueva versioacuten de Shorewall y corrija si es necesario

shorewall check

4 Reinicie el firewall

shorewall restart

Actualizando con tarball

Si ya tiene instalado Shorewall y estaacute actualizando a una nueva versioacuten usando tarball

1 desempaque el tarball

tar -zxf shorewall-xyztgz

2 cd al directorio shorewall (la versioacuten estaacute codificada en el nombre del directorio como en ldquoshorewall-301rdquo)

3 Tipee

installsh

4 Vea si hay alguna incompatibilidad entre su configuracioacuten y la nueva versioacuten de Shorewall y corrija si es necesario

shorewall check

5 Arranque el firewall tipeando

shorewall start

6 Si el guioacuten isntall no fue capaz de configurar Shorewall para su arranque automaacutetico al arrancar el sistema (boot) vea estas instrucciones

Actualizando con lrp

Lo siguiente fue contribucioacuten de Charles Steinkuehler en la lista de correos Leaf

Es MUY simplesoacutelo ponlo en un nuevo CD y reinicia -) De hecho soacutelo bromeo ligeramenteasiacute es exactamente como actualizo mis firewalls de produccioacuten La facilidad de respaldo parcial que agregue a Dachstein permite que los datos de configuracioacuten sean almacenados separadamente del resto del paquete

Una vez que los datos de configuracioacuten estaacuten separados del resto del paquete es faacutecil actualizar el paquete mientras mantiene su configuracioacuten actual (en mi caso insertando un CD y reiniciando)

Los usuarios que no estaacuten corriendo con muacuteltiples rutas de paquetes y usan respaldos parciales tambieacuten pueden actualizar un paquete soacutelo toma un poco maacutes de trabajo La idea general es usar el respaldo parcial para salvar su configuracioacuten remplazar el paquete y restaurar sus viejos archivos de configuracioacuten Instrucciones paso-a-paso para una forma de hacer esto (asumiendo un sistema convencional de un-floppy LEAF) seriacutea

bull Haga una copia de respaldo de su disco de firewall (NUEVO) Este es el disco al que agregaraacute el paquete actualizado

bull Dele formato a un floppy para usarlo como ubicacioacuten temporal para sus archivos de configuracioacuten (XFER) Este disco deberiacutea tener el mismo formato que el disco del firewall (y simplemente pudiera ser simplemente otra copia de respaldo de firewall actual)

bull Aseguacuterese de tener una copia qeu funcione de su fierwall (VIEJO) en alguacuten lugar seguro que NO usaraacute durante este proceso De esta forma si algo sale mal usted simplemente reinicia con el disco VIEJO para volver a una configuracioacuten que funciona

bull Remueva su disco actual de configuracioacuten de firewall y remplaacutecelo con el disco XFERbull Use el menuacute de respaldo lrcfg para ahcer un respaldo parcial del paquete que desea actualizar estando

seguros acerca de los archivos en el disco XFER A partir del menuacute de respaldo

t e ltentergt p ltentergtb ltpackage1gt ltentergtb ltpackage2gt ltentergt

bull Descargue y copie el paquete que desea actualizar en el disco NUEVObull Reinicie su firewall usando el disco NUEVOen este punto su actualizacioacuten tendraacute su configuracioacuten por

omisioacutenbull Monte el disco XFER (mount -t msdos devfd0u1680 mnt)bull CD al directorio raiacutez (cd )bull Extraiga manualmente los datos de configuracioacuten para cada paquete que actualizoacute

tar -xzvf mntpackage1lrptar -xzvf mntpackage2lrp

bull Desmonte (umount mnt) y retire el disco XFERbull Usando lrcfg haga respaldos FULL de sus paquetes actualizadosbull Reinicie verificando que el firewall funciona como se espera Algunos archivos de configuracioacuten puede que

necesiten ser entonados para que funcionen apropiadamente con los binarios actualizados del paquete

Importante

El nuevo archivo paquete ltpaquetegtlocal puede usar para entonar cuaacuteles archivos estaacuten incluidos (y excluidos) del respaldo parcial (vea el Dachstein-CD README para maacutes detalles) Si este archivo no existe los guiones de respaldo asumiraacuten que cualquier cosa del archivo ltpackagegtlist que reside en etc o varliblrpkg es parte de los datos de configuracioacuten y se usa para crear el respaldo parcial Si Shorewall pone algo en etc que no sea un archivo de configuracioacuten modificado por el usuario deberiacutea crearse un archivo apropiado shorwalllocal antes de hacer el respaldo parcial [Nota del Editor Shorewall coloca soacutelo archivos modificables por el usuario en etc]

Nota

Es obviamente posible hacer lo anterior en-sitio sin usar muacuteltiples discos e incluso sin hacer respaldos parciales (ie copiar archivos de configuracioacuten actuales a tmp manualmente extraer el nuevo paquete sobre el firewall que estaacute corriendo luego copiar o fusionar los datos desde tmp yo respaldoo similar) pero para cualquiera que sea capaz de toda esa gimnasia en la liacutenea de comandos es probable que lo pueda hacer sin ninguacuten tipo de instrucciones detalladas -)

Para maacutes informacioacuten de otras herramientas de actualizacioacuten LEAFBering mire en este artiacuteculo de Alex Rhomberg

Configurando Shorewall

Usted necesitaraacute editar algunos o todos los archivos de configuracioacuten para lograr la configuracioacuten deseada En la mayoriacutea de los casos las Guiacuteas Raacutepidas de Shorewall contienen toda la informacioacuten que usted necesita para comenzar

DesinstalarVolverAtraacutes

Vea ldquoVolverAtraacutes y Desinstalarrdquo

Firewall Baacutesico Dos-Interfaces

Introduccioacuten

El configurar un sistema Linux como firewall para una red pequentildea es relativamente una tarea simple si entiende los principios baacutesicos y sigue la documentacioacuten

Esta guiacutea no intenta profundizar en todas las facilidades de Shorewall A cambio se enfoca en lo que se requiere para configurar Shorewall en su configuracioacuten maacutes comuacuten

bull Sistema Linux usado como firewallrouter para una red local pequentildeabull Un uacutenica direccioacuten IP puacuteblica Si tiene maacutes de una direccioacuten IP puacuteblica esta no es la guiacutea que desea -- vea

la Guiacutea de Configuracioacuten de Shorewall bull Conexioacuten Internet por cable modem DSL ISDN Frame Relay discada

Aquiacute se muestra un esquemaacutetico de una instalacioacuten tiacutepica

Figura 1 Configuracioacuten comuacuten de firewall con dos interfaces

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windowstrade usted salvarlos como archivos Unixtrade si su editor soporta esta opcioacuten o debe pasarlo por el programa dos2unix antes de intentar de usarlos De forma similar si copia un archivo de configuracioacuten del disco duro en Windowstrade a un disco flexible debe pasarlos por dos2unix antes de usarlos con Shorewall

bull Versioacuten Windows trade de dos2unix bull Versioacuten Linux de dos2unix

Requerimientos de Sistema

Shorewall requiere que tenga instalado el paquete iprouteiproute2 (en RedHattrade el paquete se llama iproute) Usted puede saber si este paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando which para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se le recomienda primero leer a lo largo de la guiacutea para familiarizarse con los toacutepicos involucrados para luego volver sobre ella y hacer los cambios de configuracioacuten

Convenciones

Los puntos en los cuales se recomiendan cambios de configuracioacuten estaacuten sentildealadas

Las notas de configuracioacuten que son uacutenicas de LEAFBering estaacute marcadas con

PPTPADSL

Si tiene un Modem ADSL y usa PPTP para comunicarse con un servidor en ese modem usted debe hacer los cambios que se recomiendan aquiacute en adicioacuten a los que se explican abajo ADSL con PPTP se encuentra frecuentemente en Europa y notable Austria

Conceptos Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall -- para configuraciones simples encontraraacute que soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea

Alerta

Nota para los Usuarios Debian

Si instala usando deb encontraraacute que su directorio etcshorewall estaacute vaciacuteo Esto es intencional El esqueleto de archivos de configuracioacuten se pueden encontrar en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no planea modificarlos

Importante

Despueacutes que tiene instalado Shorewall localice las muestras two-interfaces

1 Si instaloacute usando RPM las muestras estaraacuten en el subdirectorio Samplestwo-interfaces del directorio de documentacioacuten de Shorewall Si no sabe donde estaacute el directorio de documentacioacuten Shorewall puede encontrarlo usando el siguiente comando

~ rpm -ql shorewall | fgrep two-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesinterfacesusrsharedocpackagesshorewallSamplestwo-interfacesmasqusrsharedocpackagesshorewallSamplestwo-interfacespolicyusrsharedocpackagesshorewallSamplestwo-interfacesroutestoppedusrsharedocpackagesshorewallSamplestwo-interfacesrulesusrsharedocpackagesshorewallSamplestwo-interfaceszones~

2 Si instaloacute usando el tarball las muestras estaacuten en el directorio Samplestwo-interfaces en el tarball3 Si instaloacute usando deb las muestras estaacuten en usrsharedocshorewallexamplestwo-interfaces

En la medida que se explica cada archivo le sugerimos que vea el archivo en cuestioacuten en su sistema -- cada archivo contiene instrucciones detallads de configuracioacuten y entradas por omisioacuten

Shorewall ve la red sobre la cual trabaja como si estuviera compuesta de un conjunto de zonas En la configuracioacuten de muestra two-interface se usan los siguientes nombres de zonas

ZONE TYPE OPTIONS IN OUT OPTIONS OPTIONSfw firewallnet ipv4loc ipv4

Las zonas se definen en el archivo etcshorewallzones

Note que Shorewall reconoce el sistema firewall como su propia zona - cuando se procesa el archivo etcshorewallzones el nombre de la zona firewall se almacena en la variable shell $FW que puede usarse para referirse a la zona del firewall a lo largo de la configuracioacuten de Shorewall

Las reglas acerca del traacutefico a permitir o rechazar se expresan en teacuterminos de zonas

bull Usted expresa su poliacutetica por omisioacuten para las conexiones desde una zona a otra en el archivo etcshorewallpolicy

bull Usted define excepciones para dichas poliacuteticas por omisioacuten en el archivo etcshorewallrules

Para cada solicitud de conexioacuten que ingresa al firewall la solicitud se verifica primero contra el archivo etcshorewllrules Si no aplica ninguna regla para la solicitud de conexioacuten entonces la primera poliacutetica en etcshorewallpolicy que coincida se aplica Si hay una accioacuten comuacuten definida para la poliacutetica en etcshorewallactions o usrshareshorewallactionsstd entonces esa accioacuten se ejecuta antes de la poliacutetica

El archivo etcshorewallpolicy que se incluye con la muestra two-interface tiene las siguientes poliacuteticas

SOURCE DEST POLICY LOG LEVEL LIMITBURSTloc net ACCEPTnet all DROP infoall all REJECT info

En la muestra two-interface la liacutenea abajo estaacute incluida pero estaacute comentada Si desea que su sistema firewall tenga acceso completo a los servidores en internet quite el comentario a esa liacutenea

SOURCE DEST POLICY LOG LEVEL LIMITBURST$FW net ACCEPT

Las poliacuteticas anteriores

bull Permitiraacuten todas las solicitudes de conexiones desde la red local hacia internetbull Desacartaacuten (ignoraraacuten) todas las solicitudes de conexioacuten desde internet hacia su firewall o red localbull Opcionalmente aceptar todas las solicitudes de conexiones desde el firewall hacia internet (si levantoacute el

comentario de la poliacutetica adicional)bull Rechazaraacuten todas las otras solicitudes de conexioacuten

Es importante notar que las poliacuteticas Shorewal (y las reglas) refieren a conexiones y no flujo de paquetes Con las poliacuteticas definidas en el archivo etcshorewallpolicy como se muestra arriba las conexiones se permiten desde la zona loc a la zona net incluso aunque no esten permitidas las conexiones desde la zona loc al propio firewall

En este punto edite su etcshorewallpolicy y haga los cambios que considere

Interfaces de Red

El firewall tiene dos interfaces de red Donde si bien la conectividad es a traveacutes de cable modem o Modem DSL la Interface Externa seraacute el adaptador ethernet que se encuentre conectado a dicho Modem (eg eth0) a menos que conecte viacutea Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta por un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces querraacute poner CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Interna seraacute un adaptador ethernet (eth1 o eth0) y conectaraacute a un hub o switch Sus computadores se conectaraacuten al mismo hubswitch (nota Si tiene un uacutenico sistema interno puede conectarlo directamente al firewall usando un cable cruzado)

Alerta

No conecte la interface interna y externa al mismo hub o switch exceptuado para pruebas Usted puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en etcshorewallinterfaces para todas las interfaces comunes al mismo hubswitch Usando tal configuracioacuten con un firewall en produccioacuten no es para nada recomendable

La muestra two-interface de Shorewall asume que la interface externa es eth0 y que la interface interna es eth1 Si su configuracioacuten difiere tendraacute que modificar la muesta acordemente en el archivo etcshorewallinterfaces Mientra esteacute ahiacute puede revisar la lista de opciones que le son especiacuteficas para las interfaces Algunas pistas

Tip

Si su interface externa es ppp0 o ippp0 puede remplazar en la segunda columna detect con ldquo-rdquo (sin las comillas)

Tip

Si su interface externa es ppp0 o ippp0 o si tiene una direccioacuten IP estaacutetica puede eliminar dhcp de la lista de opciones

Tip

Si su interface interna es un puente (bridge) cree If your internal interface is a bridge create using the brctl utility then you must add the routeback option to the option list

Direcciones IP

Antes de seguir avanzando debemos decir unas cuantas palabras acerca de las direcciones Internet Protocol (IP) Normalmente su ISP le asignaraacute una uacutenica direccioacuten IP Puacuteblica Esta direccioacuten puede ser asignada viacutea Dynamic Host Configuration Protocol (DHCP) o como parte del establecimiento de su conexioacuten cuando disca (modem estandar) o establece su conexioacuten PPP En raras ocasiones su ISP le asignaraacute una direccioacuten IP estaacutetica esto significa que usted configuraraacute la interface exerna de su firewall para usar permanentemente esa direccioacuten Sin embargo su direccioacuten IP asignada seraacute compartida por todos sus sistemas cuando accedan a Internet Usted tendraacute que asignar sus propias direcciones en su red interna (la Interface Interna en su firewall maacutes las otras computadores) El RFC 1918 reserva varios rangos de direcciones Privadas IP para ese propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Antes de arrancar Shoreall usted debe ver la direccioacuten IP de su interface externa y si es una dentro de los rangos descritos arriba deberiacutea quitar la opcioacuten norfc1918 de la entrada que corresponde a su interface externa en etcshorewallinterfaces

Usted querraacute asignar sus direcciones desde la misma subred Para nuestros propoacutesitos podemos considerar una subred que consista de un rango de direcciones xyz0 - xyz255 Tal subred tendraacute una maacutescara de red de 2552552550 La direccioacuten xyz0 se reserva como la Direccioacuten de Subred y xyz255 se reserva como la Direccioacuten de Difusioacuten de la Subred (Boradcast) En Shorewall una subred se describe usando la notacioacuten Classless InterDomain Routing (CIDR) que consiste de direcciones de subred seguida de 24 El ldquo24rdquo se refiere a la cantidad de 1 consecutivos a la cabeza de la maacutescara de red

Rango 1010100 - 101010255

Direccioacuten de Subred 1010100

Direccioacuten de Difusioacuten 101010255

Notacioacuten CIDR 101010024

Es convencioacuten asignarle la primera direccioacuten utilizable en la subred a la interface interna (1010101 en el ejemplo anterior) o la uacuteltima (101010254)

Uno de los propoacutesitos de hacer subredes es permitir a todas las computadoras en la subred entender queacute otras computadoras pueden comunicarse con ellas directamente Para comunicarse con sistemas fuera de la subre los sistemas deben enviar los paquetes a su detino final a traveacutes de un gateway (enrutador)

Sus computadoras locales (computer 1 y computer 2 en el diagrama arriba) deben ser configuradas con el default gateway a la direccioacuten IP de la interface interna del firewall

La discusioacuten a continuacioacuten repasa por encima los temas de subredes y enrutamiento Si estaacute interesado en aprender maacutes acerca del direccionamiento y el enrutamiento IP si le recomienda altamente el libro ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0 (enlace)

El resto de esta guiacutea asume que tiene su red dispuesta de esta forma

El default gateway para las computdores 1 y 2 seriacutea 101010254

Alerta

Su ISP puede que le asigne una direccioacuten RFC 1918 para su interface externa Si dicha direccioacuten estaacute en la subred 101010024 entonces tendraacute que seleccionar una subred DIFERENTE RFC 1918 para su red local

Enmascaramiento IP (SNAT)

Las direcciones reservadas por el RFC 1918 son a veces referidas como no-ruteable debido a que los enrutadores en el corazoacuten de Internet no se renviacutean los paquetes IP cuando tienen como destino una direccioacuten RFC 1918 Cuando uno de su sistemas locales (digamos computer 1) enviacutea una solicitud de conexioacuten a una maacutequina en Internet el firewall debe hacer Network Address Translation (NAT Traduccioacuten de Direccioacuten de Red) El firewall rescribe la direccioacuten de origen en el paquete para que sea la direccioacuten de la interface externa del firewall en otras palabras el

firewall hace parecer que la solicitud de conexioacuten fueacute originada en el propio firewall Esto es necesario hacerlo para la maaacutequina destino sea capaz de enrutar la respuesta de vuelta hasta el firewall (recuerde que los paquetes cuyos destinos es una direccioacuten RFC 1918 no son enrutados a traveacutes de internet para que la respuesta vuelva su origen en computer 1) Cuando el firewall recibe un paquete de respuesta rescribe la direccioacuten de destino de vuelta a 1010101 y enviacutea el paquete a computer 1

En los sistemas Linux el proceso anterior es conocido como Enmascaramiento IP pero tambieacuten veraacute el uso del teacutermino Source Network Address Translation (SNAT) Shorewall sigue la convencioacuten que usa Netfilter

bull Enmascaramiento (Masquerade) describe el caso donde se permite al sistema firewall detectar automaacuteticamente la direccioacuten de la interface externa

bull SNAT se refiere al caso donde expliacutecitamente especifica la direccioacuten origen que desea usar en los paquetes salientes

En Shorewall tanto Enmascaramiento y SNAT se configuran con entradas en el archivo etcshorewallmasq Normalmente usaraacute Enmascaramiento si su direccioacuten IP en la interface externa es dinaacutemica y SNAT en el caso de direccioacuten IP estaacutetica

Si la interface externa de su firewall es eth0 no se necesita modificar el archivo provisto con la muestra De otra forma edite etcshorewallmasq y cambie la primera columna para que refleje el nombre de su interface externa y la segunda columna el nombre de su interface interna

Si su direccioacuten IP externa es estaacutetica puede enterarla en la tercrea columna en etcshorewallmasq si desea si bien su firewall funcionaraacute bien si no lo hace Enterar su direccioacuten IP estaacutetica en la tercera columna hace que procesar los paquetes salientes sea un poco maacutes eficiente

Si estaacute usando el paquete Debian por favor revise su archivo shorewallconf para asegurarse que lo siguiente esteacute escrito correctamente si no es asiacute caacutembielo apropiadamente

bull IP_FORWARDING=On

Desviacuteo de Puerto (DNAT)

Una de sus metas puede ser correr uno o mas servidores en sus sistemas locales Ya que dichas computadoras tienen direcciones RFC-1918 no es posible a los clientes en internet conectar directamente con ellas En cambio es necesario para dichos clientes dirigir sus solicitudes de conexioacuten hacia el firewall quien rescribe la direccioacuten destino a la direccioacuten de su servidor y enviacutea el paquete al servidor Cuando su servidor responde el firewall automaacuteticamente realiza SNAT para rescribir la direccioacuten origen en la respuesta

El proceso anterior es llamado Desviacuteo de Puerto o Port Forwarding o Destination Network Address Translation (DNAT) Usted puede configurar el desviacuteo de puerto usando las reglas DNAT en el archivo etcshorewallrules

La forma general de una regla de desviacuteo de puerto simple en etcshorewallrules es

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net locltserver local ip addressgt[ltserver portgt] ltprotocolgt ltportgt

Shorewall incorpora macros para muchas de las aplicaciones populares Revise en usrshareshorewallmacro para identificar los macros disponibles en su versioacuten Los macros simplemente crean reglas DNAT suministrando el protocolo y puerto(s) como se muestra en los siguientes ejemplos

Ejemplo 1 Servidor Web

Usted estaacute corriendo un Servidor Web en computer 2 y desea desviar el puerto entrante TCP 80 a este sistema

ACTION SOURCE DEST PROTO DEST PORT(S)WebDNAT net loc1010102

Ejemplo 2 Servidor FTP

Usted estaacute corriendo un Servidor FTP en computer 1 tal que desea entonces desviar el puerto entrante TCP 21 a ese sistema

ACTION SOURCE DEST PROTO DEST PORT(S)FTPDNAT net loc1010101

Para FTP necesitaraacute adicionalmente el motor de seguimiento de conexiones y el soporte NAT en su kernel Para los kernel provistos por el vendedor esto significa que los moacutedulos ip_conntrack_ftp y ip_nat_ftp deben ser cargados Shorewall cargaraacute automaacuteticamente dichos moacutedulos si estaacuten disponibles y localizados en el lugar estandar bajo libmodulesltkernel versiongtkernelnetipv4netfilter

Un par de puntos importantes a mantener en mente son

bull Usted debe probar la regla anterior desde un cliente externe a su red local (ie no pruebe desde un explorador en los computadores 1 o 2 o en el firewall) Si desea ser capaz de acceder a su servidor web yo ftp desde adentro de su fireall usando la direccioacuten IP de su interface externa vea Shorewall FAQ 2

bull Muchos ISPs bloquean las solicitudes entrantes al puerto 80 Si tiene problemas conectaacutendose a su servidor intente seguir la siguiente regla y conectar al puerto 5000

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net loc101010280 tcp 5000

En este punto modifique etcshorewallrules para agregar cualquier regla DNAT que se requiera

Importante

Cuando pruebe las reglas DNAT como las anteriores debe realizar las pruebas desde un cliente AFUERA de su fiewall (en la zona net ) Usted no puede probar estas reglas desde la parte interior del firewall

Para tips de Resolucioacuten de Problemas con DNAT vea FAQs 1a y 1b

Domain Name Server (DNS)

Normalmente cuando usted conecta con su ISP y como parte del proceso de obtener una direccioacuten IP el resolutor Domain Name Service (DNS) del firewall seraacute automaacuteticamente configurado (eg el archivo etcresolvconf seraacute rescrito) Alternativamente su ISP puede darle la direccioacuten IP de un par de servidores de nombre DNS para que manualmente los configure como servidores de nombre primario y secundario respectivamente Sin importar la forma en coacutemo se configuran los servidores DNS en su firewall es su responsabilidad configurar el resolutor en sus sistemas internos Puede escoger uno de dos caminos

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 4: 6927538-Shorewall

rpm -Uvh --nodeps ltshorewall rpmgt

Nota

A partir de Shorewall 140 Shorewall depende del paquete iproute Desafortunadamente algunas distribuciones llaman a este paquete por otro nombre iproute2 lo que causa que Shorewall falle con el mensaje diagnoacutestico

error failed dependenciesiproute is needed by shorewall-140-1

A esto se le puede dar la vuelta usando la opcioacuten --nodeps de rpm

rpm -Uvh --nodeps ltshorewall rpmgt

3 Vea si hay alguna incompatibilidad entre su configuracioacuten y la nueva versioacuten de Shorewall y corrija si es necesario

shorewall check

4 Reinicie el firewall

shorewall restart

Actualizando con tarball

Si ya tiene instalado Shorewall y estaacute actualizando a una nueva versioacuten usando tarball

1 desempaque el tarball

tar -zxf shorewall-xyztgz

2 cd al directorio shorewall (la versioacuten estaacute codificada en el nombre del directorio como en ldquoshorewall-301rdquo)

3 Tipee

installsh

4 Vea si hay alguna incompatibilidad entre su configuracioacuten y la nueva versioacuten de Shorewall y corrija si es necesario

shorewall check

5 Arranque el firewall tipeando

shorewall start

6 Si el guioacuten isntall no fue capaz de configurar Shorewall para su arranque automaacutetico al arrancar el sistema (boot) vea estas instrucciones

Actualizando con lrp

Lo siguiente fue contribucioacuten de Charles Steinkuehler en la lista de correos Leaf

Es MUY simplesoacutelo ponlo en un nuevo CD y reinicia -) De hecho soacutelo bromeo ligeramenteasiacute es exactamente como actualizo mis firewalls de produccioacuten La facilidad de respaldo parcial que agregue a Dachstein permite que los datos de configuracioacuten sean almacenados separadamente del resto del paquete

Una vez que los datos de configuracioacuten estaacuten separados del resto del paquete es faacutecil actualizar el paquete mientras mantiene su configuracioacuten actual (en mi caso insertando un CD y reiniciando)

Los usuarios que no estaacuten corriendo con muacuteltiples rutas de paquetes y usan respaldos parciales tambieacuten pueden actualizar un paquete soacutelo toma un poco maacutes de trabajo La idea general es usar el respaldo parcial para salvar su configuracioacuten remplazar el paquete y restaurar sus viejos archivos de configuracioacuten Instrucciones paso-a-paso para una forma de hacer esto (asumiendo un sistema convencional de un-floppy LEAF) seriacutea

bull Haga una copia de respaldo de su disco de firewall (NUEVO) Este es el disco al que agregaraacute el paquete actualizado

bull Dele formato a un floppy para usarlo como ubicacioacuten temporal para sus archivos de configuracioacuten (XFER) Este disco deberiacutea tener el mismo formato que el disco del firewall (y simplemente pudiera ser simplemente otra copia de respaldo de firewall actual)

bull Aseguacuterese de tener una copia qeu funcione de su fierwall (VIEJO) en alguacuten lugar seguro que NO usaraacute durante este proceso De esta forma si algo sale mal usted simplemente reinicia con el disco VIEJO para volver a una configuracioacuten que funciona

bull Remueva su disco actual de configuracioacuten de firewall y remplaacutecelo con el disco XFERbull Use el menuacute de respaldo lrcfg para ahcer un respaldo parcial del paquete que desea actualizar estando

seguros acerca de los archivos en el disco XFER A partir del menuacute de respaldo

t e ltentergt p ltentergtb ltpackage1gt ltentergtb ltpackage2gt ltentergt

bull Descargue y copie el paquete que desea actualizar en el disco NUEVObull Reinicie su firewall usando el disco NUEVOen este punto su actualizacioacuten tendraacute su configuracioacuten por

omisioacutenbull Monte el disco XFER (mount -t msdos devfd0u1680 mnt)bull CD al directorio raiacutez (cd )bull Extraiga manualmente los datos de configuracioacuten para cada paquete que actualizoacute

tar -xzvf mntpackage1lrptar -xzvf mntpackage2lrp

bull Desmonte (umount mnt) y retire el disco XFERbull Usando lrcfg haga respaldos FULL de sus paquetes actualizadosbull Reinicie verificando que el firewall funciona como se espera Algunos archivos de configuracioacuten puede que

necesiten ser entonados para que funcionen apropiadamente con los binarios actualizados del paquete

Importante

El nuevo archivo paquete ltpaquetegtlocal puede usar para entonar cuaacuteles archivos estaacuten incluidos (y excluidos) del respaldo parcial (vea el Dachstein-CD README para maacutes detalles) Si este archivo no existe los guiones de respaldo asumiraacuten que cualquier cosa del archivo ltpackagegtlist que reside en etc o varliblrpkg es parte de los datos de configuracioacuten y se usa para crear el respaldo parcial Si Shorewall pone algo en etc que no sea un archivo de configuracioacuten modificado por el usuario deberiacutea crearse un archivo apropiado shorwalllocal antes de hacer el respaldo parcial [Nota del Editor Shorewall coloca soacutelo archivos modificables por el usuario en etc]

Nota

Es obviamente posible hacer lo anterior en-sitio sin usar muacuteltiples discos e incluso sin hacer respaldos parciales (ie copiar archivos de configuracioacuten actuales a tmp manualmente extraer el nuevo paquete sobre el firewall que estaacute corriendo luego copiar o fusionar los datos desde tmp yo respaldoo similar) pero para cualquiera que sea capaz de toda esa gimnasia en la liacutenea de comandos es probable que lo pueda hacer sin ninguacuten tipo de instrucciones detalladas -)

Para maacutes informacioacuten de otras herramientas de actualizacioacuten LEAFBering mire en este artiacuteculo de Alex Rhomberg

Configurando Shorewall

Usted necesitaraacute editar algunos o todos los archivos de configuracioacuten para lograr la configuracioacuten deseada En la mayoriacutea de los casos las Guiacuteas Raacutepidas de Shorewall contienen toda la informacioacuten que usted necesita para comenzar

DesinstalarVolverAtraacutes

Vea ldquoVolverAtraacutes y Desinstalarrdquo

Firewall Baacutesico Dos-Interfaces

Introduccioacuten

El configurar un sistema Linux como firewall para una red pequentildea es relativamente una tarea simple si entiende los principios baacutesicos y sigue la documentacioacuten

Esta guiacutea no intenta profundizar en todas las facilidades de Shorewall A cambio se enfoca en lo que se requiere para configurar Shorewall en su configuracioacuten maacutes comuacuten

bull Sistema Linux usado como firewallrouter para una red local pequentildeabull Un uacutenica direccioacuten IP puacuteblica Si tiene maacutes de una direccioacuten IP puacuteblica esta no es la guiacutea que desea -- vea

la Guiacutea de Configuracioacuten de Shorewall bull Conexioacuten Internet por cable modem DSL ISDN Frame Relay discada

Aquiacute se muestra un esquemaacutetico de una instalacioacuten tiacutepica

Figura 1 Configuracioacuten comuacuten de firewall con dos interfaces

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windowstrade usted salvarlos como archivos Unixtrade si su editor soporta esta opcioacuten o debe pasarlo por el programa dos2unix antes de intentar de usarlos De forma similar si copia un archivo de configuracioacuten del disco duro en Windowstrade a un disco flexible debe pasarlos por dos2unix antes de usarlos con Shorewall

bull Versioacuten Windows trade de dos2unix bull Versioacuten Linux de dos2unix

Requerimientos de Sistema

Shorewall requiere que tenga instalado el paquete iprouteiproute2 (en RedHattrade el paquete se llama iproute) Usted puede saber si este paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando which para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se le recomienda primero leer a lo largo de la guiacutea para familiarizarse con los toacutepicos involucrados para luego volver sobre ella y hacer los cambios de configuracioacuten

Convenciones

Los puntos en los cuales se recomiendan cambios de configuracioacuten estaacuten sentildealadas

Las notas de configuracioacuten que son uacutenicas de LEAFBering estaacute marcadas con

PPTPADSL

Si tiene un Modem ADSL y usa PPTP para comunicarse con un servidor en ese modem usted debe hacer los cambios que se recomiendan aquiacute en adicioacuten a los que se explican abajo ADSL con PPTP se encuentra frecuentemente en Europa y notable Austria

Conceptos Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall -- para configuraciones simples encontraraacute que soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea

Alerta

Nota para los Usuarios Debian

Si instala usando deb encontraraacute que su directorio etcshorewall estaacute vaciacuteo Esto es intencional El esqueleto de archivos de configuracioacuten se pueden encontrar en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no planea modificarlos

Importante

Despueacutes que tiene instalado Shorewall localice las muestras two-interfaces

1 Si instaloacute usando RPM las muestras estaraacuten en el subdirectorio Samplestwo-interfaces del directorio de documentacioacuten de Shorewall Si no sabe donde estaacute el directorio de documentacioacuten Shorewall puede encontrarlo usando el siguiente comando

~ rpm -ql shorewall | fgrep two-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesinterfacesusrsharedocpackagesshorewallSamplestwo-interfacesmasqusrsharedocpackagesshorewallSamplestwo-interfacespolicyusrsharedocpackagesshorewallSamplestwo-interfacesroutestoppedusrsharedocpackagesshorewallSamplestwo-interfacesrulesusrsharedocpackagesshorewallSamplestwo-interfaceszones~

2 Si instaloacute usando el tarball las muestras estaacuten en el directorio Samplestwo-interfaces en el tarball3 Si instaloacute usando deb las muestras estaacuten en usrsharedocshorewallexamplestwo-interfaces

En la medida que se explica cada archivo le sugerimos que vea el archivo en cuestioacuten en su sistema -- cada archivo contiene instrucciones detallads de configuracioacuten y entradas por omisioacuten

Shorewall ve la red sobre la cual trabaja como si estuviera compuesta de un conjunto de zonas En la configuracioacuten de muestra two-interface se usan los siguientes nombres de zonas

ZONE TYPE OPTIONS IN OUT OPTIONS OPTIONSfw firewallnet ipv4loc ipv4

Las zonas se definen en el archivo etcshorewallzones

Note que Shorewall reconoce el sistema firewall como su propia zona - cuando se procesa el archivo etcshorewallzones el nombre de la zona firewall se almacena en la variable shell $FW que puede usarse para referirse a la zona del firewall a lo largo de la configuracioacuten de Shorewall

Las reglas acerca del traacutefico a permitir o rechazar se expresan en teacuterminos de zonas

bull Usted expresa su poliacutetica por omisioacuten para las conexiones desde una zona a otra en el archivo etcshorewallpolicy

bull Usted define excepciones para dichas poliacuteticas por omisioacuten en el archivo etcshorewallrules

Para cada solicitud de conexioacuten que ingresa al firewall la solicitud se verifica primero contra el archivo etcshorewllrules Si no aplica ninguna regla para la solicitud de conexioacuten entonces la primera poliacutetica en etcshorewallpolicy que coincida se aplica Si hay una accioacuten comuacuten definida para la poliacutetica en etcshorewallactions o usrshareshorewallactionsstd entonces esa accioacuten se ejecuta antes de la poliacutetica

El archivo etcshorewallpolicy que se incluye con la muestra two-interface tiene las siguientes poliacuteticas

SOURCE DEST POLICY LOG LEVEL LIMITBURSTloc net ACCEPTnet all DROP infoall all REJECT info

En la muestra two-interface la liacutenea abajo estaacute incluida pero estaacute comentada Si desea que su sistema firewall tenga acceso completo a los servidores en internet quite el comentario a esa liacutenea

SOURCE DEST POLICY LOG LEVEL LIMITBURST$FW net ACCEPT

Las poliacuteticas anteriores

bull Permitiraacuten todas las solicitudes de conexiones desde la red local hacia internetbull Desacartaacuten (ignoraraacuten) todas las solicitudes de conexioacuten desde internet hacia su firewall o red localbull Opcionalmente aceptar todas las solicitudes de conexiones desde el firewall hacia internet (si levantoacute el

comentario de la poliacutetica adicional)bull Rechazaraacuten todas las otras solicitudes de conexioacuten

Es importante notar que las poliacuteticas Shorewal (y las reglas) refieren a conexiones y no flujo de paquetes Con las poliacuteticas definidas en el archivo etcshorewallpolicy como se muestra arriba las conexiones se permiten desde la zona loc a la zona net incluso aunque no esten permitidas las conexiones desde la zona loc al propio firewall

En este punto edite su etcshorewallpolicy y haga los cambios que considere

Interfaces de Red

El firewall tiene dos interfaces de red Donde si bien la conectividad es a traveacutes de cable modem o Modem DSL la Interface Externa seraacute el adaptador ethernet que se encuentre conectado a dicho Modem (eg eth0) a menos que conecte viacutea Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta por un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces querraacute poner CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Interna seraacute un adaptador ethernet (eth1 o eth0) y conectaraacute a un hub o switch Sus computadores se conectaraacuten al mismo hubswitch (nota Si tiene un uacutenico sistema interno puede conectarlo directamente al firewall usando un cable cruzado)

Alerta

No conecte la interface interna y externa al mismo hub o switch exceptuado para pruebas Usted puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en etcshorewallinterfaces para todas las interfaces comunes al mismo hubswitch Usando tal configuracioacuten con un firewall en produccioacuten no es para nada recomendable

La muestra two-interface de Shorewall asume que la interface externa es eth0 y que la interface interna es eth1 Si su configuracioacuten difiere tendraacute que modificar la muesta acordemente en el archivo etcshorewallinterfaces Mientra esteacute ahiacute puede revisar la lista de opciones que le son especiacuteficas para las interfaces Algunas pistas

Tip

Si su interface externa es ppp0 o ippp0 puede remplazar en la segunda columna detect con ldquo-rdquo (sin las comillas)

Tip

Si su interface externa es ppp0 o ippp0 o si tiene una direccioacuten IP estaacutetica puede eliminar dhcp de la lista de opciones

Tip

Si su interface interna es un puente (bridge) cree If your internal interface is a bridge create using the brctl utility then you must add the routeback option to the option list

Direcciones IP

Antes de seguir avanzando debemos decir unas cuantas palabras acerca de las direcciones Internet Protocol (IP) Normalmente su ISP le asignaraacute una uacutenica direccioacuten IP Puacuteblica Esta direccioacuten puede ser asignada viacutea Dynamic Host Configuration Protocol (DHCP) o como parte del establecimiento de su conexioacuten cuando disca (modem estandar) o establece su conexioacuten PPP En raras ocasiones su ISP le asignaraacute una direccioacuten IP estaacutetica esto significa que usted configuraraacute la interface exerna de su firewall para usar permanentemente esa direccioacuten Sin embargo su direccioacuten IP asignada seraacute compartida por todos sus sistemas cuando accedan a Internet Usted tendraacute que asignar sus propias direcciones en su red interna (la Interface Interna en su firewall maacutes las otras computadores) El RFC 1918 reserva varios rangos de direcciones Privadas IP para ese propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Antes de arrancar Shoreall usted debe ver la direccioacuten IP de su interface externa y si es una dentro de los rangos descritos arriba deberiacutea quitar la opcioacuten norfc1918 de la entrada que corresponde a su interface externa en etcshorewallinterfaces

Usted querraacute asignar sus direcciones desde la misma subred Para nuestros propoacutesitos podemos considerar una subred que consista de un rango de direcciones xyz0 - xyz255 Tal subred tendraacute una maacutescara de red de 2552552550 La direccioacuten xyz0 se reserva como la Direccioacuten de Subred y xyz255 se reserva como la Direccioacuten de Difusioacuten de la Subred (Boradcast) En Shorewall una subred se describe usando la notacioacuten Classless InterDomain Routing (CIDR) que consiste de direcciones de subred seguida de 24 El ldquo24rdquo se refiere a la cantidad de 1 consecutivos a la cabeza de la maacutescara de red

Rango 1010100 - 101010255

Direccioacuten de Subred 1010100

Direccioacuten de Difusioacuten 101010255

Notacioacuten CIDR 101010024

Es convencioacuten asignarle la primera direccioacuten utilizable en la subred a la interface interna (1010101 en el ejemplo anterior) o la uacuteltima (101010254)

Uno de los propoacutesitos de hacer subredes es permitir a todas las computadoras en la subred entender queacute otras computadoras pueden comunicarse con ellas directamente Para comunicarse con sistemas fuera de la subre los sistemas deben enviar los paquetes a su detino final a traveacutes de un gateway (enrutador)

Sus computadoras locales (computer 1 y computer 2 en el diagrama arriba) deben ser configuradas con el default gateway a la direccioacuten IP de la interface interna del firewall

La discusioacuten a continuacioacuten repasa por encima los temas de subredes y enrutamiento Si estaacute interesado en aprender maacutes acerca del direccionamiento y el enrutamiento IP si le recomienda altamente el libro ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0 (enlace)

El resto de esta guiacutea asume que tiene su red dispuesta de esta forma

El default gateway para las computdores 1 y 2 seriacutea 101010254

Alerta

Su ISP puede que le asigne una direccioacuten RFC 1918 para su interface externa Si dicha direccioacuten estaacute en la subred 101010024 entonces tendraacute que seleccionar una subred DIFERENTE RFC 1918 para su red local

Enmascaramiento IP (SNAT)

Las direcciones reservadas por el RFC 1918 son a veces referidas como no-ruteable debido a que los enrutadores en el corazoacuten de Internet no se renviacutean los paquetes IP cuando tienen como destino una direccioacuten RFC 1918 Cuando uno de su sistemas locales (digamos computer 1) enviacutea una solicitud de conexioacuten a una maacutequina en Internet el firewall debe hacer Network Address Translation (NAT Traduccioacuten de Direccioacuten de Red) El firewall rescribe la direccioacuten de origen en el paquete para que sea la direccioacuten de la interface externa del firewall en otras palabras el

firewall hace parecer que la solicitud de conexioacuten fueacute originada en el propio firewall Esto es necesario hacerlo para la maaacutequina destino sea capaz de enrutar la respuesta de vuelta hasta el firewall (recuerde que los paquetes cuyos destinos es una direccioacuten RFC 1918 no son enrutados a traveacutes de internet para que la respuesta vuelva su origen en computer 1) Cuando el firewall recibe un paquete de respuesta rescribe la direccioacuten de destino de vuelta a 1010101 y enviacutea el paquete a computer 1

En los sistemas Linux el proceso anterior es conocido como Enmascaramiento IP pero tambieacuten veraacute el uso del teacutermino Source Network Address Translation (SNAT) Shorewall sigue la convencioacuten que usa Netfilter

bull Enmascaramiento (Masquerade) describe el caso donde se permite al sistema firewall detectar automaacuteticamente la direccioacuten de la interface externa

bull SNAT se refiere al caso donde expliacutecitamente especifica la direccioacuten origen que desea usar en los paquetes salientes

En Shorewall tanto Enmascaramiento y SNAT se configuran con entradas en el archivo etcshorewallmasq Normalmente usaraacute Enmascaramiento si su direccioacuten IP en la interface externa es dinaacutemica y SNAT en el caso de direccioacuten IP estaacutetica

Si la interface externa de su firewall es eth0 no se necesita modificar el archivo provisto con la muestra De otra forma edite etcshorewallmasq y cambie la primera columna para que refleje el nombre de su interface externa y la segunda columna el nombre de su interface interna

Si su direccioacuten IP externa es estaacutetica puede enterarla en la tercrea columna en etcshorewallmasq si desea si bien su firewall funcionaraacute bien si no lo hace Enterar su direccioacuten IP estaacutetica en la tercera columna hace que procesar los paquetes salientes sea un poco maacutes eficiente

Si estaacute usando el paquete Debian por favor revise su archivo shorewallconf para asegurarse que lo siguiente esteacute escrito correctamente si no es asiacute caacutembielo apropiadamente

bull IP_FORWARDING=On

Desviacuteo de Puerto (DNAT)

Una de sus metas puede ser correr uno o mas servidores en sus sistemas locales Ya que dichas computadoras tienen direcciones RFC-1918 no es posible a los clientes en internet conectar directamente con ellas En cambio es necesario para dichos clientes dirigir sus solicitudes de conexioacuten hacia el firewall quien rescribe la direccioacuten destino a la direccioacuten de su servidor y enviacutea el paquete al servidor Cuando su servidor responde el firewall automaacuteticamente realiza SNAT para rescribir la direccioacuten origen en la respuesta

El proceso anterior es llamado Desviacuteo de Puerto o Port Forwarding o Destination Network Address Translation (DNAT) Usted puede configurar el desviacuteo de puerto usando las reglas DNAT en el archivo etcshorewallrules

La forma general de una regla de desviacuteo de puerto simple en etcshorewallrules es

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net locltserver local ip addressgt[ltserver portgt] ltprotocolgt ltportgt

Shorewall incorpora macros para muchas de las aplicaciones populares Revise en usrshareshorewallmacro para identificar los macros disponibles en su versioacuten Los macros simplemente crean reglas DNAT suministrando el protocolo y puerto(s) como se muestra en los siguientes ejemplos

Ejemplo 1 Servidor Web

Usted estaacute corriendo un Servidor Web en computer 2 y desea desviar el puerto entrante TCP 80 a este sistema

ACTION SOURCE DEST PROTO DEST PORT(S)WebDNAT net loc1010102

Ejemplo 2 Servidor FTP

Usted estaacute corriendo un Servidor FTP en computer 1 tal que desea entonces desviar el puerto entrante TCP 21 a ese sistema

ACTION SOURCE DEST PROTO DEST PORT(S)FTPDNAT net loc1010101

Para FTP necesitaraacute adicionalmente el motor de seguimiento de conexiones y el soporte NAT en su kernel Para los kernel provistos por el vendedor esto significa que los moacutedulos ip_conntrack_ftp y ip_nat_ftp deben ser cargados Shorewall cargaraacute automaacuteticamente dichos moacutedulos si estaacuten disponibles y localizados en el lugar estandar bajo libmodulesltkernel versiongtkernelnetipv4netfilter

Un par de puntos importantes a mantener en mente son

bull Usted debe probar la regla anterior desde un cliente externe a su red local (ie no pruebe desde un explorador en los computadores 1 o 2 o en el firewall) Si desea ser capaz de acceder a su servidor web yo ftp desde adentro de su fireall usando la direccioacuten IP de su interface externa vea Shorewall FAQ 2

bull Muchos ISPs bloquean las solicitudes entrantes al puerto 80 Si tiene problemas conectaacutendose a su servidor intente seguir la siguiente regla y conectar al puerto 5000

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net loc101010280 tcp 5000

En este punto modifique etcshorewallrules para agregar cualquier regla DNAT que se requiera

Importante

Cuando pruebe las reglas DNAT como las anteriores debe realizar las pruebas desde un cliente AFUERA de su fiewall (en la zona net ) Usted no puede probar estas reglas desde la parte interior del firewall

Para tips de Resolucioacuten de Problemas con DNAT vea FAQs 1a y 1b

Domain Name Server (DNS)

Normalmente cuando usted conecta con su ISP y como parte del proceso de obtener una direccioacuten IP el resolutor Domain Name Service (DNS) del firewall seraacute automaacuteticamente configurado (eg el archivo etcresolvconf seraacute rescrito) Alternativamente su ISP puede darle la direccioacuten IP de un par de servidores de nombre DNS para que manualmente los configure como servidores de nombre primario y secundario respectivamente Sin importar la forma en coacutemo se configuran los servidores DNS en su firewall es su responsabilidad configurar el resolutor en sus sistemas internos Puede escoger uno de dos caminos

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 5: 6927538-Shorewall

Es MUY simplesoacutelo ponlo en un nuevo CD y reinicia -) De hecho soacutelo bromeo ligeramenteasiacute es exactamente como actualizo mis firewalls de produccioacuten La facilidad de respaldo parcial que agregue a Dachstein permite que los datos de configuracioacuten sean almacenados separadamente del resto del paquete

Una vez que los datos de configuracioacuten estaacuten separados del resto del paquete es faacutecil actualizar el paquete mientras mantiene su configuracioacuten actual (en mi caso insertando un CD y reiniciando)

Los usuarios que no estaacuten corriendo con muacuteltiples rutas de paquetes y usan respaldos parciales tambieacuten pueden actualizar un paquete soacutelo toma un poco maacutes de trabajo La idea general es usar el respaldo parcial para salvar su configuracioacuten remplazar el paquete y restaurar sus viejos archivos de configuracioacuten Instrucciones paso-a-paso para una forma de hacer esto (asumiendo un sistema convencional de un-floppy LEAF) seriacutea

bull Haga una copia de respaldo de su disco de firewall (NUEVO) Este es el disco al que agregaraacute el paquete actualizado

bull Dele formato a un floppy para usarlo como ubicacioacuten temporal para sus archivos de configuracioacuten (XFER) Este disco deberiacutea tener el mismo formato que el disco del firewall (y simplemente pudiera ser simplemente otra copia de respaldo de firewall actual)

bull Aseguacuterese de tener una copia qeu funcione de su fierwall (VIEJO) en alguacuten lugar seguro que NO usaraacute durante este proceso De esta forma si algo sale mal usted simplemente reinicia con el disco VIEJO para volver a una configuracioacuten que funciona

bull Remueva su disco actual de configuracioacuten de firewall y remplaacutecelo con el disco XFERbull Use el menuacute de respaldo lrcfg para ahcer un respaldo parcial del paquete que desea actualizar estando

seguros acerca de los archivos en el disco XFER A partir del menuacute de respaldo

t e ltentergt p ltentergtb ltpackage1gt ltentergtb ltpackage2gt ltentergt

bull Descargue y copie el paquete que desea actualizar en el disco NUEVObull Reinicie su firewall usando el disco NUEVOen este punto su actualizacioacuten tendraacute su configuracioacuten por

omisioacutenbull Monte el disco XFER (mount -t msdos devfd0u1680 mnt)bull CD al directorio raiacutez (cd )bull Extraiga manualmente los datos de configuracioacuten para cada paquete que actualizoacute

tar -xzvf mntpackage1lrptar -xzvf mntpackage2lrp

bull Desmonte (umount mnt) y retire el disco XFERbull Usando lrcfg haga respaldos FULL de sus paquetes actualizadosbull Reinicie verificando que el firewall funciona como se espera Algunos archivos de configuracioacuten puede que

necesiten ser entonados para que funcionen apropiadamente con los binarios actualizados del paquete

Importante

El nuevo archivo paquete ltpaquetegtlocal puede usar para entonar cuaacuteles archivos estaacuten incluidos (y excluidos) del respaldo parcial (vea el Dachstein-CD README para maacutes detalles) Si este archivo no existe los guiones de respaldo asumiraacuten que cualquier cosa del archivo ltpackagegtlist que reside en etc o varliblrpkg es parte de los datos de configuracioacuten y se usa para crear el respaldo parcial Si Shorewall pone algo en etc que no sea un archivo de configuracioacuten modificado por el usuario deberiacutea crearse un archivo apropiado shorwalllocal antes de hacer el respaldo parcial [Nota del Editor Shorewall coloca soacutelo archivos modificables por el usuario en etc]

Nota

Es obviamente posible hacer lo anterior en-sitio sin usar muacuteltiples discos e incluso sin hacer respaldos parciales (ie copiar archivos de configuracioacuten actuales a tmp manualmente extraer el nuevo paquete sobre el firewall que estaacute corriendo luego copiar o fusionar los datos desde tmp yo respaldoo similar) pero para cualquiera que sea capaz de toda esa gimnasia en la liacutenea de comandos es probable que lo pueda hacer sin ninguacuten tipo de instrucciones detalladas -)

Para maacutes informacioacuten de otras herramientas de actualizacioacuten LEAFBering mire en este artiacuteculo de Alex Rhomberg

Configurando Shorewall

Usted necesitaraacute editar algunos o todos los archivos de configuracioacuten para lograr la configuracioacuten deseada En la mayoriacutea de los casos las Guiacuteas Raacutepidas de Shorewall contienen toda la informacioacuten que usted necesita para comenzar

DesinstalarVolverAtraacutes

Vea ldquoVolverAtraacutes y Desinstalarrdquo

Firewall Baacutesico Dos-Interfaces

Introduccioacuten

El configurar un sistema Linux como firewall para una red pequentildea es relativamente una tarea simple si entiende los principios baacutesicos y sigue la documentacioacuten

Esta guiacutea no intenta profundizar en todas las facilidades de Shorewall A cambio se enfoca en lo que se requiere para configurar Shorewall en su configuracioacuten maacutes comuacuten

bull Sistema Linux usado como firewallrouter para una red local pequentildeabull Un uacutenica direccioacuten IP puacuteblica Si tiene maacutes de una direccioacuten IP puacuteblica esta no es la guiacutea que desea -- vea

la Guiacutea de Configuracioacuten de Shorewall bull Conexioacuten Internet por cable modem DSL ISDN Frame Relay discada

Aquiacute se muestra un esquemaacutetico de una instalacioacuten tiacutepica

Figura 1 Configuracioacuten comuacuten de firewall con dos interfaces

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windowstrade usted salvarlos como archivos Unixtrade si su editor soporta esta opcioacuten o debe pasarlo por el programa dos2unix antes de intentar de usarlos De forma similar si copia un archivo de configuracioacuten del disco duro en Windowstrade a un disco flexible debe pasarlos por dos2unix antes de usarlos con Shorewall

bull Versioacuten Windows trade de dos2unix bull Versioacuten Linux de dos2unix

Requerimientos de Sistema

Shorewall requiere que tenga instalado el paquete iprouteiproute2 (en RedHattrade el paquete se llama iproute) Usted puede saber si este paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando which para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se le recomienda primero leer a lo largo de la guiacutea para familiarizarse con los toacutepicos involucrados para luego volver sobre ella y hacer los cambios de configuracioacuten

Convenciones

Los puntos en los cuales se recomiendan cambios de configuracioacuten estaacuten sentildealadas

Las notas de configuracioacuten que son uacutenicas de LEAFBering estaacute marcadas con

PPTPADSL

Si tiene un Modem ADSL y usa PPTP para comunicarse con un servidor en ese modem usted debe hacer los cambios que se recomiendan aquiacute en adicioacuten a los que se explican abajo ADSL con PPTP se encuentra frecuentemente en Europa y notable Austria

Conceptos Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall -- para configuraciones simples encontraraacute que soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea

Alerta

Nota para los Usuarios Debian

Si instala usando deb encontraraacute que su directorio etcshorewall estaacute vaciacuteo Esto es intencional El esqueleto de archivos de configuracioacuten se pueden encontrar en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no planea modificarlos

Importante

Despueacutes que tiene instalado Shorewall localice las muestras two-interfaces

1 Si instaloacute usando RPM las muestras estaraacuten en el subdirectorio Samplestwo-interfaces del directorio de documentacioacuten de Shorewall Si no sabe donde estaacute el directorio de documentacioacuten Shorewall puede encontrarlo usando el siguiente comando

~ rpm -ql shorewall | fgrep two-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesinterfacesusrsharedocpackagesshorewallSamplestwo-interfacesmasqusrsharedocpackagesshorewallSamplestwo-interfacespolicyusrsharedocpackagesshorewallSamplestwo-interfacesroutestoppedusrsharedocpackagesshorewallSamplestwo-interfacesrulesusrsharedocpackagesshorewallSamplestwo-interfaceszones~

2 Si instaloacute usando el tarball las muestras estaacuten en el directorio Samplestwo-interfaces en el tarball3 Si instaloacute usando deb las muestras estaacuten en usrsharedocshorewallexamplestwo-interfaces

En la medida que se explica cada archivo le sugerimos que vea el archivo en cuestioacuten en su sistema -- cada archivo contiene instrucciones detallads de configuracioacuten y entradas por omisioacuten

Shorewall ve la red sobre la cual trabaja como si estuviera compuesta de un conjunto de zonas En la configuracioacuten de muestra two-interface se usan los siguientes nombres de zonas

ZONE TYPE OPTIONS IN OUT OPTIONS OPTIONSfw firewallnet ipv4loc ipv4

Las zonas se definen en el archivo etcshorewallzones

Note que Shorewall reconoce el sistema firewall como su propia zona - cuando se procesa el archivo etcshorewallzones el nombre de la zona firewall se almacena en la variable shell $FW que puede usarse para referirse a la zona del firewall a lo largo de la configuracioacuten de Shorewall

Las reglas acerca del traacutefico a permitir o rechazar se expresan en teacuterminos de zonas

bull Usted expresa su poliacutetica por omisioacuten para las conexiones desde una zona a otra en el archivo etcshorewallpolicy

bull Usted define excepciones para dichas poliacuteticas por omisioacuten en el archivo etcshorewallrules

Para cada solicitud de conexioacuten que ingresa al firewall la solicitud se verifica primero contra el archivo etcshorewllrules Si no aplica ninguna regla para la solicitud de conexioacuten entonces la primera poliacutetica en etcshorewallpolicy que coincida se aplica Si hay una accioacuten comuacuten definida para la poliacutetica en etcshorewallactions o usrshareshorewallactionsstd entonces esa accioacuten se ejecuta antes de la poliacutetica

El archivo etcshorewallpolicy que se incluye con la muestra two-interface tiene las siguientes poliacuteticas

SOURCE DEST POLICY LOG LEVEL LIMITBURSTloc net ACCEPTnet all DROP infoall all REJECT info

En la muestra two-interface la liacutenea abajo estaacute incluida pero estaacute comentada Si desea que su sistema firewall tenga acceso completo a los servidores en internet quite el comentario a esa liacutenea

SOURCE DEST POLICY LOG LEVEL LIMITBURST$FW net ACCEPT

Las poliacuteticas anteriores

bull Permitiraacuten todas las solicitudes de conexiones desde la red local hacia internetbull Desacartaacuten (ignoraraacuten) todas las solicitudes de conexioacuten desde internet hacia su firewall o red localbull Opcionalmente aceptar todas las solicitudes de conexiones desde el firewall hacia internet (si levantoacute el

comentario de la poliacutetica adicional)bull Rechazaraacuten todas las otras solicitudes de conexioacuten

Es importante notar que las poliacuteticas Shorewal (y las reglas) refieren a conexiones y no flujo de paquetes Con las poliacuteticas definidas en el archivo etcshorewallpolicy como se muestra arriba las conexiones se permiten desde la zona loc a la zona net incluso aunque no esten permitidas las conexiones desde la zona loc al propio firewall

En este punto edite su etcshorewallpolicy y haga los cambios que considere

Interfaces de Red

El firewall tiene dos interfaces de red Donde si bien la conectividad es a traveacutes de cable modem o Modem DSL la Interface Externa seraacute el adaptador ethernet que se encuentre conectado a dicho Modem (eg eth0) a menos que conecte viacutea Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta por un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces querraacute poner CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Interna seraacute un adaptador ethernet (eth1 o eth0) y conectaraacute a un hub o switch Sus computadores se conectaraacuten al mismo hubswitch (nota Si tiene un uacutenico sistema interno puede conectarlo directamente al firewall usando un cable cruzado)

Alerta

No conecte la interface interna y externa al mismo hub o switch exceptuado para pruebas Usted puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en etcshorewallinterfaces para todas las interfaces comunes al mismo hubswitch Usando tal configuracioacuten con un firewall en produccioacuten no es para nada recomendable

La muestra two-interface de Shorewall asume que la interface externa es eth0 y que la interface interna es eth1 Si su configuracioacuten difiere tendraacute que modificar la muesta acordemente en el archivo etcshorewallinterfaces Mientra esteacute ahiacute puede revisar la lista de opciones que le son especiacuteficas para las interfaces Algunas pistas

Tip

Si su interface externa es ppp0 o ippp0 puede remplazar en la segunda columna detect con ldquo-rdquo (sin las comillas)

Tip

Si su interface externa es ppp0 o ippp0 o si tiene una direccioacuten IP estaacutetica puede eliminar dhcp de la lista de opciones

Tip

Si su interface interna es un puente (bridge) cree If your internal interface is a bridge create using the brctl utility then you must add the routeback option to the option list

Direcciones IP

Antes de seguir avanzando debemos decir unas cuantas palabras acerca de las direcciones Internet Protocol (IP) Normalmente su ISP le asignaraacute una uacutenica direccioacuten IP Puacuteblica Esta direccioacuten puede ser asignada viacutea Dynamic Host Configuration Protocol (DHCP) o como parte del establecimiento de su conexioacuten cuando disca (modem estandar) o establece su conexioacuten PPP En raras ocasiones su ISP le asignaraacute una direccioacuten IP estaacutetica esto significa que usted configuraraacute la interface exerna de su firewall para usar permanentemente esa direccioacuten Sin embargo su direccioacuten IP asignada seraacute compartida por todos sus sistemas cuando accedan a Internet Usted tendraacute que asignar sus propias direcciones en su red interna (la Interface Interna en su firewall maacutes las otras computadores) El RFC 1918 reserva varios rangos de direcciones Privadas IP para ese propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Antes de arrancar Shoreall usted debe ver la direccioacuten IP de su interface externa y si es una dentro de los rangos descritos arriba deberiacutea quitar la opcioacuten norfc1918 de la entrada que corresponde a su interface externa en etcshorewallinterfaces

Usted querraacute asignar sus direcciones desde la misma subred Para nuestros propoacutesitos podemos considerar una subred que consista de un rango de direcciones xyz0 - xyz255 Tal subred tendraacute una maacutescara de red de 2552552550 La direccioacuten xyz0 se reserva como la Direccioacuten de Subred y xyz255 se reserva como la Direccioacuten de Difusioacuten de la Subred (Boradcast) En Shorewall una subred se describe usando la notacioacuten Classless InterDomain Routing (CIDR) que consiste de direcciones de subred seguida de 24 El ldquo24rdquo se refiere a la cantidad de 1 consecutivos a la cabeza de la maacutescara de red

Rango 1010100 - 101010255

Direccioacuten de Subred 1010100

Direccioacuten de Difusioacuten 101010255

Notacioacuten CIDR 101010024

Es convencioacuten asignarle la primera direccioacuten utilizable en la subred a la interface interna (1010101 en el ejemplo anterior) o la uacuteltima (101010254)

Uno de los propoacutesitos de hacer subredes es permitir a todas las computadoras en la subred entender queacute otras computadoras pueden comunicarse con ellas directamente Para comunicarse con sistemas fuera de la subre los sistemas deben enviar los paquetes a su detino final a traveacutes de un gateway (enrutador)

Sus computadoras locales (computer 1 y computer 2 en el diagrama arriba) deben ser configuradas con el default gateway a la direccioacuten IP de la interface interna del firewall

La discusioacuten a continuacioacuten repasa por encima los temas de subredes y enrutamiento Si estaacute interesado en aprender maacutes acerca del direccionamiento y el enrutamiento IP si le recomienda altamente el libro ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0 (enlace)

El resto de esta guiacutea asume que tiene su red dispuesta de esta forma

El default gateway para las computdores 1 y 2 seriacutea 101010254

Alerta

Su ISP puede que le asigne una direccioacuten RFC 1918 para su interface externa Si dicha direccioacuten estaacute en la subred 101010024 entonces tendraacute que seleccionar una subred DIFERENTE RFC 1918 para su red local

Enmascaramiento IP (SNAT)

Las direcciones reservadas por el RFC 1918 son a veces referidas como no-ruteable debido a que los enrutadores en el corazoacuten de Internet no se renviacutean los paquetes IP cuando tienen como destino una direccioacuten RFC 1918 Cuando uno de su sistemas locales (digamos computer 1) enviacutea una solicitud de conexioacuten a una maacutequina en Internet el firewall debe hacer Network Address Translation (NAT Traduccioacuten de Direccioacuten de Red) El firewall rescribe la direccioacuten de origen en el paquete para que sea la direccioacuten de la interface externa del firewall en otras palabras el

firewall hace parecer que la solicitud de conexioacuten fueacute originada en el propio firewall Esto es necesario hacerlo para la maaacutequina destino sea capaz de enrutar la respuesta de vuelta hasta el firewall (recuerde que los paquetes cuyos destinos es una direccioacuten RFC 1918 no son enrutados a traveacutes de internet para que la respuesta vuelva su origen en computer 1) Cuando el firewall recibe un paquete de respuesta rescribe la direccioacuten de destino de vuelta a 1010101 y enviacutea el paquete a computer 1

En los sistemas Linux el proceso anterior es conocido como Enmascaramiento IP pero tambieacuten veraacute el uso del teacutermino Source Network Address Translation (SNAT) Shorewall sigue la convencioacuten que usa Netfilter

bull Enmascaramiento (Masquerade) describe el caso donde se permite al sistema firewall detectar automaacuteticamente la direccioacuten de la interface externa

bull SNAT se refiere al caso donde expliacutecitamente especifica la direccioacuten origen que desea usar en los paquetes salientes

En Shorewall tanto Enmascaramiento y SNAT se configuran con entradas en el archivo etcshorewallmasq Normalmente usaraacute Enmascaramiento si su direccioacuten IP en la interface externa es dinaacutemica y SNAT en el caso de direccioacuten IP estaacutetica

Si la interface externa de su firewall es eth0 no se necesita modificar el archivo provisto con la muestra De otra forma edite etcshorewallmasq y cambie la primera columna para que refleje el nombre de su interface externa y la segunda columna el nombre de su interface interna

Si su direccioacuten IP externa es estaacutetica puede enterarla en la tercrea columna en etcshorewallmasq si desea si bien su firewall funcionaraacute bien si no lo hace Enterar su direccioacuten IP estaacutetica en la tercera columna hace que procesar los paquetes salientes sea un poco maacutes eficiente

Si estaacute usando el paquete Debian por favor revise su archivo shorewallconf para asegurarse que lo siguiente esteacute escrito correctamente si no es asiacute caacutembielo apropiadamente

bull IP_FORWARDING=On

Desviacuteo de Puerto (DNAT)

Una de sus metas puede ser correr uno o mas servidores en sus sistemas locales Ya que dichas computadoras tienen direcciones RFC-1918 no es posible a los clientes en internet conectar directamente con ellas En cambio es necesario para dichos clientes dirigir sus solicitudes de conexioacuten hacia el firewall quien rescribe la direccioacuten destino a la direccioacuten de su servidor y enviacutea el paquete al servidor Cuando su servidor responde el firewall automaacuteticamente realiza SNAT para rescribir la direccioacuten origen en la respuesta

El proceso anterior es llamado Desviacuteo de Puerto o Port Forwarding o Destination Network Address Translation (DNAT) Usted puede configurar el desviacuteo de puerto usando las reglas DNAT en el archivo etcshorewallrules

La forma general de una regla de desviacuteo de puerto simple en etcshorewallrules es

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net locltserver local ip addressgt[ltserver portgt] ltprotocolgt ltportgt

Shorewall incorpora macros para muchas de las aplicaciones populares Revise en usrshareshorewallmacro para identificar los macros disponibles en su versioacuten Los macros simplemente crean reglas DNAT suministrando el protocolo y puerto(s) como se muestra en los siguientes ejemplos

Ejemplo 1 Servidor Web

Usted estaacute corriendo un Servidor Web en computer 2 y desea desviar el puerto entrante TCP 80 a este sistema

ACTION SOURCE DEST PROTO DEST PORT(S)WebDNAT net loc1010102

Ejemplo 2 Servidor FTP

Usted estaacute corriendo un Servidor FTP en computer 1 tal que desea entonces desviar el puerto entrante TCP 21 a ese sistema

ACTION SOURCE DEST PROTO DEST PORT(S)FTPDNAT net loc1010101

Para FTP necesitaraacute adicionalmente el motor de seguimiento de conexiones y el soporte NAT en su kernel Para los kernel provistos por el vendedor esto significa que los moacutedulos ip_conntrack_ftp y ip_nat_ftp deben ser cargados Shorewall cargaraacute automaacuteticamente dichos moacutedulos si estaacuten disponibles y localizados en el lugar estandar bajo libmodulesltkernel versiongtkernelnetipv4netfilter

Un par de puntos importantes a mantener en mente son

bull Usted debe probar la regla anterior desde un cliente externe a su red local (ie no pruebe desde un explorador en los computadores 1 o 2 o en el firewall) Si desea ser capaz de acceder a su servidor web yo ftp desde adentro de su fireall usando la direccioacuten IP de su interface externa vea Shorewall FAQ 2

bull Muchos ISPs bloquean las solicitudes entrantes al puerto 80 Si tiene problemas conectaacutendose a su servidor intente seguir la siguiente regla y conectar al puerto 5000

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net loc101010280 tcp 5000

En este punto modifique etcshorewallrules para agregar cualquier regla DNAT que se requiera

Importante

Cuando pruebe las reglas DNAT como las anteriores debe realizar las pruebas desde un cliente AFUERA de su fiewall (en la zona net ) Usted no puede probar estas reglas desde la parte interior del firewall

Para tips de Resolucioacuten de Problemas con DNAT vea FAQs 1a y 1b

Domain Name Server (DNS)

Normalmente cuando usted conecta con su ISP y como parte del proceso de obtener una direccioacuten IP el resolutor Domain Name Service (DNS) del firewall seraacute automaacuteticamente configurado (eg el archivo etcresolvconf seraacute rescrito) Alternativamente su ISP puede darle la direccioacuten IP de un par de servidores de nombre DNS para que manualmente los configure como servidores de nombre primario y secundario respectivamente Sin importar la forma en coacutemo se configuran los servidores DNS en su firewall es su responsabilidad configurar el resolutor en sus sistemas internos Puede escoger uno de dos caminos

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 6: 6927538-Shorewall

Nota

Es obviamente posible hacer lo anterior en-sitio sin usar muacuteltiples discos e incluso sin hacer respaldos parciales (ie copiar archivos de configuracioacuten actuales a tmp manualmente extraer el nuevo paquete sobre el firewall que estaacute corriendo luego copiar o fusionar los datos desde tmp yo respaldoo similar) pero para cualquiera que sea capaz de toda esa gimnasia en la liacutenea de comandos es probable que lo pueda hacer sin ninguacuten tipo de instrucciones detalladas -)

Para maacutes informacioacuten de otras herramientas de actualizacioacuten LEAFBering mire en este artiacuteculo de Alex Rhomberg

Configurando Shorewall

Usted necesitaraacute editar algunos o todos los archivos de configuracioacuten para lograr la configuracioacuten deseada En la mayoriacutea de los casos las Guiacuteas Raacutepidas de Shorewall contienen toda la informacioacuten que usted necesita para comenzar

DesinstalarVolverAtraacutes

Vea ldquoVolverAtraacutes y Desinstalarrdquo

Firewall Baacutesico Dos-Interfaces

Introduccioacuten

El configurar un sistema Linux como firewall para una red pequentildea es relativamente una tarea simple si entiende los principios baacutesicos y sigue la documentacioacuten

Esta guiacutea no intenta profundizar en todas las facilidades de Shorewall A cambio se enfoca en lo que se requiere para configurar Shorewall en su configuracioacuten maacutes comuacuten

bull Sistema Linux usado como firewallrouter para una red local pequentildeabull Un uacutenica direccioacuten IP puacuteblica Si tiene maacutes de una direccioacuten IP puacuteblica esta no es la guiacutea que desea -- vea

la Guiacutea de Configuracioacuten de Shorewall bull Conexioacuten Internet por cable modem DSL ISDN Frame Relay discada

Aquiacute se muestra un esquemaacutetico de una instalacioacuten tiacutepica

Figura 1 Configuracioacuten comuacuten de firewall con dos interfaces

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windowstrade usted salvarlos como archivos Unixtrade si su editor soporta esta opcioacuten o debe pasarlo por el programa dos2unix antes de intentar de usarlos De forma similar si copia un archivo de configuracioacuten del disco duro en Windowstrade a un disco flexible debe pasarlos por dos2unix antes de usarlos con Shorewall

bull Versioacuten Windows trade de dos2unix bull Versioacuten Linux de dos2unix

Requerimientos de Sistema

Shorewall requiere que tenga instalado el paquete iprouteiproute2 (en RedHattrade el paquete se llama iproute) Usted puede saber si este paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando which para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se le recomienda primero leer a lo largo de la guiacutea para familiarizarse con los toacutepicos involucrados para luego volver sobre ella y hacer los cambios de configuracioacuten

Convenciones

Los puntos en los cuales se recomiendan cambios de configuracioacuten estaacuten sentildealadas

Las notas de configuracioacuten que son uacutenicas de LEAFBering estaacute marcadas con

PPTPADSL

Si tiene un Modem ADSL y usa PPTP para comunicarse con un servidor en ese modem usted debe hacer los cambios que se recomiendan aquiacute en adicioacuten a los que se explican abajo ADSL con PPTP se encuentra frecuentemente en Europa y notable Austria

Conceptos Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall -- para configuraciones simples encontraraacute que soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea

Alerta

Nota para los Usuarios Debian

Si instala usando deb encontraraacute que su directorio etcshorewall estaacute vaciacuteo Esto es intencional El esqueleto de archivos de configuracioacuten se pueden encontrar en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no planea modificarlos

Importante

Despueacutes que tiene instalado Shorewall localice las muestras two-interfaces

1 Si instaloacute usando RPM las muestras estaraacuten en el subdirectorio Samplestwo-interfaces del directorio de documentacioacuten de Shorewall Si no sabe donde estaacute el directorio de documentacioacuten Shorewall puede encontrarlo usando el siguiente comando

~ rpm -ql shorewall | fgrep two-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesinterfacesusrsharedocpackagesshorewallSamplestwo-interfacesmasqusrsharedocpackagesshorewallSamplestwo-interfacespolicyusrsharedocpackagesshorewallSamplestwo-interfacesroutestoppedusrsharedocpackagesshorewallSamplestwo-interfacesrulesusrsharedocpackagesshorewallSamplestwo-interfaceszones~

2 Si instaloacute usando el tarball las muestras estaacuten en el directorio Samplestwo-interfaces en el tarball3 Si instaloacute usando deb las muestras estaacuten en usrsharedocshorewallexamplestwo-interfaces

En la medida que se explica cada archivo le sugerimos que vea el archivo en cuestioacuten en su sistema -- cada archivo contiene instrucciones detallads de configuracioacuten y entradas por omisioacuten

Shorewall ve la red sobre la cual trabaja como si estuviera compuesta de un conjunto de zonas En la configuracioacuten de muestra two-interface se usan los siguientes nombres de zonas

ZONE TYPE OPTIONS IN OUT OPTIONS OPTIONSfw firewallnet ipv4loc ipv4

Las zonas se definen en el archivo etcshorewallzones

Note que Shorewall reconoce el sistema firewall como su propia zona - cuando se procesa el archivo etcshorewallzones el nombre de la zona firewall se almacena en la variable shell $FW que puede usarse para referirse a la zona del firewall a lo largo de la configuracioacuten de Shorewall

Las reglas acerca del traacutefico a permitir o rechazar se expresan en teacuterminos de zonas

bull Usted expresa su poliacutetica por omisioacuten para las conexiones desde una zona a otra en el archivo etcshorewallpolicy

bull Usted define excepciones para dichas poliacuteticas por omisioacuten en el archivo etcshorewallrules

Para cada solicitud de conexioacuten que ingresa al firewall la solicitud se verifica primero contra el archivo etcshorewllrules Si no aplica ninguna regla para la solicitud de conexioacuten entonces la primera poliacutetica en etcshorewallpolicy que coincida se aplica Si hay una accioacuten comuacuten definida para la poliacutetica en etcshorewallactions o usrshareshorewallactionsstd entonces esa accioacuten se ejecuta antes de la poliacutetica

El archivo etcshorewallpolicy que se incluye con la muestra two-interface tiene las siguientes poliacuteticas

SOURCE DEST POLICY LOG LEVEL LIMITBURSTloc net ACCEPTnet all DROP infoall all REJECT info

En la muestra two-interface la liacutenea abajo estaacute incluida pero estaacute comentada Si desea que su sistema firewall tenga acceso completo a los servidores en internet quite el comentario a esa liacutenea

SOURCE DEST POLICY LOG LEVEL LIMITBURST$FW net ACCEPT

Las poliacuteticas anteriores

bull Permitiraacuten todas las solicitudes de conexiones desde la red local hacia internetbull Desacartaacuten (ignoraraacuten) todas las solicitudes de conexioacuten desde internet hacia su firewall o red localbull Opcionalmente aceptar todas las solicitudes de conexiones desde el firewall hacia internet (si levantoacute el

comentario de la poliacutetica adicional)bull Rechazaraacuten todas las otras solicitudes de conexioacuten

Es importante notar que las poliacuteticas Shorewal (y las reglas) refieren a conexiones y no flujo de paquetes Con las poliacuteticas definidas en el archivo etcshorewallpolicy como se muestra arriba las conexiones se permiten desde la zona loc a la zona net incluso aunque no esten permitidas las conexiones desde la zona loc al propio firewall

En este punto edite su etcshorewallpolicy y haga los cambios que considere

Interfaces de Red

El firewall tiene dos interfaces de red Donde si bien la conectividad es a traveacutes de cable modem o Modem DSL la Interface Externa seraacute el adaptador ethernet que se encuentre conectado a dicho Modem (eg eth0) a menos que conecte viacutea Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta por un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces querraacute poner CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Interna seraacute un adaptador ethernet (eth1 o eth0) y conectaraacute a un hub o switch Sus computadores se conectaraacuten al mismo hubswitch (nota Si tiene un uacutenico sistema interno puede conectarlo directamente al firewall usando un cable cruzado)

Alerta

No conecte la interface interna y externa al mismo hub o switch exceptuado para pruebas Usted puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en etcshorewallinterfaces para todas las interfaces comunes al mismo hubswitch Usando tal configuracioacuten con un firewall en produccioacuten no es para nada recomendable

La muestra two-interface de Shorewall asume que la interface externa es eth0 y que la interface interna es eth1 Si su configuracioacuten difiere tendraacute que modificar la muesta acordemente en el archivo etcshorewallinterfaces Mientra esteacute ahiacute puede revisar la lista de opciones que le son especiacuteficas para las interfaces Algunas pistas

Tip

Si su interface externa es ppp0 o ippp0 puede remplazar en la segunda columna detect con ldquo-rdquo (sin las comillas)

Tip

Si su interface externa es ppp0 o ippp0 o si tiene una direccioacuten IP estaacutetica puede eliminar dhcp de la lista de opciones

Tip

Si su interface interna es un puente (bridge) cree If your internal interface is a bridge create using the brctl utility then you must add the routeback option to the option list

Direcciones IP

Antes de seguir avanzando debemos decir unas cuantas palabras acerca de las direcciones Internet Protocol (IP) Normalmente su ISP le asignaraacute una uacutenica direccioacuten IP Puacuteblica Esta direccioacuten puede ser asignada viacutea Dynamic Host Configuration Protocol (DHCP) o como parte del establecimiento de su conexioacuten cuando disca (modem estandar) o establece su conexioacuten PPP En raras ocasiones su ISP le asignaraacute una direccioacuten IP estaacutetica esto significa que usted configuraraacute la interface exerna de su firewall para usar permanentemente esa direccioacuten Sin embargo su direccioacuten IP asignada seraacute compartida por todos sus sistemas cuando accedan a Internet Usted tendraacute que asignar sus propias direcciones en su red interna (la Interface Interna en su firewall maacutes las otras computadores) El RFC 1918 reserva varios rangos de direcciones Privadas IP para ese propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Antes de arrancar Shoreall usted debe ver la direccioacuten IP de su interface externa y si es una dentro de los rangos descritos arriba deberiacutea quitar la opcioacuten norfc1918 de la entrada que corresponde a su interface externa en etcshorewallinterfaces

Usted querraacute asignar sus direcciones desde la misma subred Para nuestros propoacutesitos podemos considerar una subred que consista de un rango de direcciones xyz0 - xyz255 Tal subred tendraacute una maacutescara de red de 2552552550 La direccioacuten xyz0 se reserva como la Direccioacuten de Subred y xyz255 se reserva como la Direccioacuten de Difusioacuten de la Subred (Boradcast) En Shorewall una subred se describe usando la notacioacuten Classless InterDomain Routing (CIDR) que consiste de direcciones de subred seguida de 24 El ldquo24rdquo se refiere a la cantidad de 1 consecutivos a la cabeza de la maacutescara de red

Rango 1010100 - 101010255

Direccioacuten de Subred 1010100

Direccioacuten de Difusioacuten 101010255

Notacioacuten CIDR 101010024

Es convencioacuten asignarle la primera direccioacuten utilizable en la subred a la interface interna (1010101 en el ejemplo anterior) o la uacuteltima (101010254)

Uno de los propoacutesitos de hacer subredes es permitir a todas las computadoras en la subred entender queacute otras computadoras pueden comunicarse con ellas directamente Para comunicarse con sistemas fuera de la subre los sistemas deben enviar los paquetes a su detino final a traveacutes de un gateway (enrutador)

Sus computadoras locales (computer 1 y computer 2 en el diagrama arriba) deben ser configuradas con el default gateway a la direccioacuten IP de la interface interna del firewall

La discusioacuten a continuacioacuten repasa por encima los temas de subredes y enrutamiento Si estaacute interesado en aprender maacutes acerca del direccionamiento y el enrutamiento IP si le recomienda altamente el libro ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0 (enlace)

El resto de esta guiacutea asume que tiene su red dispuesta de esta forma

El default gateway para las computdores 1 y 2 seriacutea 101010254

Alerta

Su ISP puede que le asigne una direccioacuten RFC 1918 para su interface externa Si dicha direccioacuten estaacute en la subred 101010024 entonces tendraacute que seleccionar una subred DIFERENTE RFC 1918 para su red local

Enmascaramiento IP (SNAT)

Las direcciones reservadas por el RFC 1918 son a veces referidas como no-ruteable debido a que los enrutadores en el corazoacuten de Internet no se renviacutean los paquetes IP cuando tienen como destino una direccioacuten RFC 1918 Cuando uno de su sistemas locales (digamos computer 1) enviacutea una solicitud de conexioacuten a una maacutequina en Internet el firewall debe hacer Network Address Translation (NAT Traduccioacuten de Direccioacuten de Red) El firewall rescribe la direccioacuten de origen en el paquete para que sea la direccioacuten de la interface externa del firewall en otras palabras el

firewall hace parecer que la solicitud de conexioacuten fueacute originada en el propio firewall Esto es necesario hacerlo para la maaacutequina destino sea capaz de enrutar la respuesta de vuelta hasta el firewall (recuerde que los paquetes cuyos destinos es una direccioacuten RFC 1918 no son enrutados a traveacutes de internet para que la respuesta vuelva su origen en computer 1) Cuando el firewall recibe un paquete de respuesta rescribe la direccioacuten de destino de vuelta a 1010101 y enviacutea el paquete a computer 1

En los sistemas Linux el proceso anterior es conocido como Enmascaramiento IP pero tambieacuten veraacute el uso del teacutermino Source Network Address Translation (SNAT) Shorewall sigue la convencioacuten que usa Netfilter

bull Enmascaramiento (Masquerade) describe el caso donde se permite al sistema firewall detectar automaacuteticamente la direccioacuten de la interface externa

bull SNAT se refiere al caso donde expliacutecitamente especifica la direccioacuten origen que desea usar en los paquetes salientes

En Shorewall tanto Enmascaramiento y SNAT se configuran con entradas en el archivo etcshorewallmasq Normalmente usaraacute Enmascaramiento si su direccioacuten IP en la interface externa es dinaacutemica y SNAT en el caso de direccioacuten IP estaacutetica

Si la interface externa de su firewall es eth0 no se necesita modificar el archivo provisto con la muestra De otra forma edite etcshorewallmasq y cambie la primera columna para que refleje el nombre de su interface externa y la segunda columna el nombre de su interface interna

Si su direccioacuten IP externa es estaacutetica puede enterarla en la tercrea columna en etcshorewallmasq si desea si bien su firewall funcionaraacute bien si no lo hace Enterar su direccioacuten IP estaacutetica en la tercera columna hace que procesar los paquetes salientes sea un poco maacutes eficiente

Si estaacute usando el paquete Debian por favor revise su archivo shorewallconf para asegurarse que lo siguiente esteacute escrito correctamente si no es asiacute caacutembielo apropiadamente

bull IP_FORWARDING=On

Desviacuteo de Puerto (DNAT)

Una de sus metas puede ser correr uno o mas servidores en sus sistemas locales Ya que dichas computadoras tienen direcciones RFC-1918 no es posible a los clientes en internet conectar directamente con ellas En cambio es necesario para dichos clientes dirigir sus solicitudes de conexioacuten hacia el firewall quien rescribe la direccioacuten destino a la direccioacuten de su servidor y enviacutea el paquete al servidor Cuando su servidor responde el firewall automaacuteticamente realiza SNAT para rescribir la direccioacuten origen en la respuesta

El proceso anterior es llamado Desviacuteo de Puerto o Port Forwarding o Destination Network Address Translation (DNAT) Usted puede configurar el desviacuteo de puerto usando las reglas DNAT en el archivo etcshorewallrules

La forma general de una regla de desviacuteo de puerto simple en etcshorewallrules es

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net locltserver local ip addressgt[ltserver portgt] ltprotocolgt ltportgt

Shorewall incorpora macros para muchas de las aplicaciones populares Revise en usrshareshorewallmacro para identificar los macros disponibles en su versioacuten Los macros simplemente crean reglas DNAT suministrando el protocolo y puerto(s) como se muestra en los siguientes ejemplos

Ejemplo 1 Servidor Web

Usted estaacute corriendo un Servidor Web en computer 2 y desea desviar el puerto entrante TCP 80 a este sistema

ACTION SOURCE DEST PROTO DEST PORT(S)WebDNAT net loc1010102

Ejemplo 2 Servidor FTP

Usted estaacute corriendo un Servidor FTP en computer 1 tal que desea entonces desviar el puerto entrante TCP 21 a ese sistema

ACTION SOURCE DEST PROTO DEST PORT(S)FTPDNAT net loc1010101

Para FTP necesitaraacute adicionalmente el motor de seguimiento de conexiones y el soporte NAT en su kernel Para los kernel provistos por el vendedor esto significa que los moacutedulos ip_conntrack_ftp y ip_nat_ftp deben ser cargados Shorewall cargaraacute automaacuteticamente dichos moacutedulos si estaacuten disponibles y localizados en el lugar estandar bajo libmodulesltkernel versiongtkernelnetipv4netfilter

Un par de puntos importantes a mantener en mente son

bull Usted debe probar la regla anterior desde un cliente externe a su red local (ie no pruebe desde un explorador en los computadores 1 o 2 o en el firewall) Si desea ser capaz de acceder a su servidor web yo ftp desde adentro de su fireall usando la direccioacuten IP de su interface externa vea Shorewall FAQ 2

bull Muchos ISPs bloquean las solicitudes entrantes al puerto 80 Si tiene problemas conectaacutendose a su servidor intente seguir la siguiente regla y conectar al puerto 5000

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net loc101010280 tcp 5000

En este punto modifique etcshorewallrules para agregar cualquier regla DNAT que se requiera

Importante

Cuando pruebe las reglas DNAT como las anteriores debe realizar las pruebas desde un cliente AFUERA de su fiewall (en la zona net ) Usted no puede probar estas reglas desde la parte interior del firewall

Para tips de Resolucioacuten de Problemas con DNAT vea FAQs 1a y 1b

Domain Name Server (DNS)

Normalmente cuando usted conecta con su ISP y como parte del proceso de obtener una direccioacuten IP el resolutor Domain Name Service (DNS) del firewall seraacute automaacuteticamente configurado (eg el archivo etcresolvconf seraacute rescrito) Alternativamente su ISP puede darle la direccioacuten IP de un par de servidores de nombre DNS para que manualmente los configure como servidores de nombre primario y secundario respectivamente Sin importar la forma en coacutemo se configuran los servidores DNS en su firewall es su responsabilidad configurar el resolutor en sus sistemas internos Puede escoger uno de dos caminos

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 7: 6927538-Shorewall

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windowstrade usted salvarlos como archivos Unixtrade si su editor soporta esta opcioacuten o debe pasarlo por el programa dos2unix antes de intentar de usarlos De forma similar si copia un archivo de configuracioacuten del disco duro en Windowstrade a un disco flexible debe pasarlos por dos2unix antes de usarlos con Shorewall

bull Versioacuten Windows trade de dos2unix bull Versioacuten Linux de dos2unix

Requerimientos de Sistema

Shorewall requiere que tenga instalado el paquete iprouteiproute2 (en RedHattrade el paquete se llama iproute) Usted puede saber si este paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando which para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se le recomienda primero leer a lo largo de la guiacutea para familiarizarse con los toacutepicos involucrados para luego volver sobre ella y hacer los cambios de configuracioacuten

Convenciones

Los puntos en los cuales se recomiendan cambios de configuracioacuten estaacuten sentildealadas

Las notas de configuracioacuten que son uacutenicas de LEAFBering estaacute marcadas con

PPTPADSL

Si tiene un Modem ADSL y usa PPTP para comunicarse con un servidor en ese modem usted debe hacer los cambios que se recomiendan aquiacute en adicioacuten a los que se explican abajo ADSL con PPTP se encuentra frecuentemente en Europa y notable Austria

Conceptos Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall -- para configuraciones simples encontraraacute que soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea

Alerta

Nota para los Usuarios Debian

Si instala usando deb encontraraacute que su directorio etcshorewall estaacute vaciacuteo Esto es intencional El esqueleto de archivos de configuracioacuten se pueden encontrar en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no planea modificarlos

Importante

Despueacutes que tiene instalado Shorewall localice las muestras two-interfaces

1 Si instaloacute usando RPM las muestras estaraacuten en el subdirectorio Samplestwo-interfaces del directorio de documentacioacuten de Shorewall Si no sabe donde estaacute el directorio de documentacioacuten Shorewall puede encontrarlo usando el siguiente comando

~ rpm -ql shorewall | fgrep two-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesinterfacesusrsharedocpackagesshorewallSamplestwo-interfacesmasqusrsharedocpackagesshorewallSamplestwo-interfacespolicyusrsharedocpackagesshorewallSamplestwo-interfacesroutestoppedusrsharedocpackagesshorewallSamplestwo-interfacesrulesusrsharedocpackagesshorewallSamplestwo-interfaceszones~

2 Si instaloacute usando el tarball las muestras estaacuten en el directorio Samplestwo-interfaces en el tarball3 Si instaloacute usando deb las muestras estaacuten en usrsharedocshorewallexamplestwo-interfaces

En la medida que se explica cada archivo le sugerimos que vea el archivo en cuestioacuten en su sistema -- cada archivo contiene instrucciones detallads de configuracioacuten y entradas por omisioacuten

Shorewall ve la red sobre la cual trabaja como si estuviera compuesta de un conjunto de zonas En la configuracioacuten de muestra two-interface se usan los siguientes nombres de zonas

ZONE TYPE OPTIONS IN OUT OPTIONS OPTIONSfw firewallnet ipv4loc ipv4

Las zonas se definen en el archivo etcshorewallzones

Note que Shorewall reconoce el sistema firewall como su propia zona - cuando se procesa el archivo etcshorewallzones el nombre de la zona firewall se almacena en la variable shell $FW que puede usarse para referirse a la zona del firewall a lo largo de la configuracioacuten de Shorewall

Las reglas acerca del traacutefico a permitir o rechazar se expresan en teacuterminos de zonas

bull Usted expresa su poliacutetica por omisioacuten para las conexiones desde una zona a otra en el archivo etcshorewallpolicy

bull Usted define excepciones para dichas poliacuteticas por omisioacuten en el archivo etcshorewallrules

Para cada solicitud de conexioacuten que ingresa al firewall la solicitud se verifica primero contra el archivo etcshorewllrules Si no aplica ninguna regla para la solicitud de conexioacuten entonces la primera poliacutetica en etcshorewallpolicy que coincida se aplica Si hay una accioacuten comuacuten definida para la poliacutetica en etcshorewallactions o usrshareshorewallactionsstd entonces esa accioacuten se ejecuta antes de la poliacutetica

El archivo etcshorewallpolicy que se incluye con la muestra two-interface tiene las siguientes poliacuteticas

SOURCE DEST POLICY LOG LEVEL LIMITBURSTloc net ACCEPTnet all DROP infoall all REJECT info

En la muestra two-interface la liacutenea abajo estaacute incluida pero estaacute comentada Si desea que su sistema firewall tenga acceso completo a los servidores en internet quite el comentario a esa liacutenea

SOURCE DEST POLICY LOG LEVEL LIMITBURST$FW net ACCEPT

Las poliacuteticas anteriores

bull Permitiraacuten todas las solicitudes de conexiones desde la red local hacia internetbull Desacartaacuten (ignoraraacuten) todas las solicitudes de conexioacuten desde internet hacia su firewall o red localbull Opcionalmente aceptar todas las solicitudes de conexiones desde el firewall hacia internet (si levantoacute el

comentario de la poliacutetica adicional)bull Rechazaraacuten todas las otras solicitudes de conexioacuten

Es importante notar que las poliacuteticas Shorewal (y las reglas) refieren a conexiones y no flujo de paquetes Con las poliacuteticas definidas en el archivo etcshorewallpolicy como se muestra arriba las conexiones se permiten desde la zona loc a la zona net incluso aunque no esten permitidas las conexiones desde la zona loc al propio firewall

En este punto edite su etcshorewallpolicy y haga los cambios que considere

Interfaces de Red

El firewall tiene dos interfaces de red Donde si bien la conectividad es a traveacutes de cable modem o Modem DSL la Interface Externa seraacute el adaptador ethernet que se encuentre conectado a dicho Modem (eg eth0) a menos que conecte viacutea Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta por un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces querraacute poner CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Interna seraacute un adaptador ethernet (eth1 o eth0) y conectaraacute a un hub o switch Sus computadores se conectaraacuten al mismo hubswitch (nota Si tiene un uacutenico sistema interno puede conectarlo directamente al firewall usando un cable cruzado)

Alerta

No conecte la interface interna y externa al mismo hub o switch exceptuado para pruebas Usted puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en etcshorewallinterfaces para todas las interfaces comunes al mismo hubswitch Usando tal configuracioacuten con un firewall en produccioacuten no es para nada recomendable

La muestra two-interface de Shorewall asume que la interface externa es eth0 y que la interface interna es eth1 Si su configuracioacuten difiere tendraacute que modificar la muesta acordemente en el archivo etcshorewallinterfaces Mientra esteacute ahiacute puede revisar la lista de opciones que le son especiacuteficas para las interfaces Algunas pistas

Tip

Si su interface externa es ppp0 o ippp0 puede remplazar en la segunda columna detect con ldquo-rdquo (sin las comillas)

Tip

Si su interface externa es ppp0 o ippp0 o si tiene una direccioacuten IP estaacutetica puede eliminar dhcp de la lista de opciones

Tip

Si su interface interna es un puente (bridge) cree If your internal interface is a bridge create using the brctl utility then you must add the routeback option to the option list

Direcciones IP

Antes de seguir avanzando debemos decir unas cuantas palabras acerca de las direcciones Internet Protocol (IP) Normalmente su ISP le asignaraacute una uacutenica direccioacuten IP Puacuteblica Esta direccioacuten puede ser asignada viacutea Dynamic Host Configuration Protocol (DHCP) o como parte del establecimiento de su conexioacuten cuando disca (modem estandar) o establece su conexioacuten PPP En raras ocasiones su ISP le asignaraacute una direccioacuten IP estaacutetica esto significa que usted configuraraacute la interface exerna de su firewall para usar permanentemente esa direccioacuten Sin embargo su direccioacuten IP asignada seraacute compartida por todos sus sistemas cuando accedan a Internet Usted tendraacute que asignar sus propias direcciones en su red interna (la Interface Interna en su firewall maacutes las otras computadores) El RFC 1918 reserva varios rangos de direcciones Privadas IP para ese propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Antes de arrancar Shoreall usted debe ver la direccioacuten IP de su interface externa y si es una dentro de los rangos descritos arriba deberiacutea quitar la opcioacuten norfc1918 de la entrada que corresponde a su interface externa en etcshorewallinterfaces

Usted querraacute asignar sus direcciones desde la misma subred Para nuestros propoacutesitos podemos considerar una subred que consista de un rango de direcciones xyz0 - xyz255 Tal subred tendraacute una maacutescara de red de 2552552550 La direccioacuten xyz0 se reserva como la Direccioacuten de Subred y xyz255 se reserva como la Direccioacuten de Difusioacuten de la Subred (Boradcast) En Shorewall una subred se describe usando la notacioacuten Classless InterDomain Routing (CIDR) que consiste de direcciones de subred seguida de 24 El ldquo24rdquo se refiere a la cantidad de 1 consecutivos a la cabeza de la maacutescara de red

Rango 1010100 - 101010255

Direccioacuten de Subred 1010100

Direccioacuten de Difusioacuten 101010255

Notacioacuten CIDR 101010024

Es convencioacuten asignarle la primera direccioacuten utilizable en la subred a la interface interna (1010101 en el ejemplo anterior) o la uacuteltima (101010254)

Uno de los propoacutesitos de hacer subredes es permitir a todas las computadoras en la subred entender queacute otras computadoras pueden comunicarse con ellas directamente Para comunicarse con sistemas fuera de la subre los sistemas deben enviar los paquetes a su detino final a traveacutes de un gateway (enrutador)

Sus computadoras locales (computer 1 y computer 2 en el diagrama arriba) deben ser configuradas con el default gateway a la direccioacuten IP de la interface interna del firewall

La discusioacuten a continuacioacuten repasa por encima los temas de subredes y enrutamiento Si estaacute interesado en aprender maacutes acerca del direccionamiento y el enrutamiento IP si le recomienda altamente el libro ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0 (enlace)

El resto de esta guiacutea asume que tiene su red dispuesta de esta forma

El default gateway para las computdores 1 y 2 seriacutea 101010254

Alerta

Su ISP puede que le asigne una direccioacuten RFC 1918 para su interface externa Si dicha direccioacuten estaacute en la subred 101010024 entonces tendraacute que seleccionar una subred DIFERENTE RFC 1918 para su red local

Enmascaramiento IP (SNAT)

Las direcciones reservadas por el RFC 1918 son a veces referidas como no-ruteable debido a que los enrutadores en el corazoacuten de Internet no se renviacutean los paquetes IP cuando tienen como destino una direccioacuten RFC 1918 Cuando uno de su sistemas locales (digamos computer 1) enviacutea una solicitud de conexioacuten a una maacutequina en Internet el firewall debe hacer Network Address Translation (NAT Traduccioacuten de Direccioacuten de Red) El firewall rescribe la direccioacuten de origen en el paquete para que sea la direccioacuten de la interface externa del firewall en otras palabras el

firewall hace parecer que la solicitud de conexioacuten fueacute originada en el propio firewall Esto es necesario hacerlo para la maaacutequina destino sea capaz de enrutar la respuesta de vuelta hasta el firewall (recuerde que los paquetes cuyos destinos es una direccioacuten RFC 1918 no son enrutados a traveacutes de internet para que la respuesta vuelva su origen en computer 1) Cuando el firewall recibe un paquete de respuesta rescribe la direccioacuten de destino de vuelta a 1010101 y enviacutea el paquete a computer 1

En los sistemas Linux el proceso anterior es conocido como Enmascaramiento IP pero tambieacuten veraacute el uso del teacutermino Source Network Address Translation (SNAT) Shorewall sigue la convencioacuten que usa Netfilter

bull Enmascaramiento (Masquerade) describe el caso donde se permite al sistema firewall detectar automaacuteticamente la direccioacuten de la interface externa

bull SNAT se refiere al caso donde expliacutecitamente especifica la direccioacuten origen que desea usar en los paquetes salientes

En Shorewall tanto Enmascaramiento y SNAT se configuran con entradas en el archivo etcshorewallmasq Normalmente usaraacute Enmascaramiento si su direccioacuten IP en la interface externa es dinaacutemica y SNAT en el caso de direccioacuten IP estaacutetica

Si la interface externa de su firewall es eth0 no se necesita modificar el archivo provisto con la muestra De otra forma edite etcshorewallmasq y cambie la primera columna para que refleje el nombre de su interface externa y la segunda columna el nombre de su interface interna

Si su direccioacuten IP externa es estaacutetica puede enterarla en la tercrea columna en etcshorewallmasq si desea si bien su firewall funcionaraacute bien si no lo hace Enterar su direccioacuten IP estaacutetica en la tercera columna hace que procesar los paquetes salientes sea un poco maacutes eficiente

Si estaacute usando el paquete Debian por favor revise su archivo shorewallconf para asegurarse que lo siguiente esteacute escrito correctamente si no es asiacute caacutembielo apropiadamente

bull IP_FORWARDING=On

Desviacuteo de Puerto (DNAT)

Una de sus metas puede ser correr uno o mas servidores en sus sistemas locales Ya que dichas computadoras tienen direcciones RFC-1918 no es posible a los clientes en internet conectar directamente con ellas En cambio es necesario para dichos clientes dirigir sus solicitudes de conexioacuten hacia el firewall quien rescribe la direccioacuten destino a la direccioacuten de su servidor y enviacutea el paquete al servidor Cuando su servidor responde el firewall automaacuteticamente realiza SNAT para rescribir la direccioacuten origen en la respuesta

El proceso anterior es llamado Desviacuteo de Puerto o Port Forwarding o Destination Network Address Translation (DNAT) Usted puede configurar el desviacuteo de puerto usando las reglas DNAT en el archivo etcshorewallrules

La forma general de una regla de desviacuteo de puerto simple en etcshorewallrules es

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net locltserver local ip addressgt[ltserver portgt] ltprotocolgt ltportgt

Shorewall incorpora macros para muchas de las aplicaciones populares Revise en usrshareshorewallmacro para identificar los macros disponibles en su versioacuten Los macros simplemente crean reglas DNAT suministrando el protocolo y puerto(s) como se muestra en los siguientes ejemplos

Ejemplo 1 Servidor Web

Usted estaacute corriendo un Servidor Web en computer 2 y desea desviar el puerto entrante TCP 80 a este sistema

ACTION SOURCE DEST PROTO DEST PORT(S)WebDNAT net loc1010102

Ejemplo 2 Servidor FTP

Usted estaacute corriendo un Servidor FTP en computer 1 tal que desea entonces desviar el puerto entrante TCP 21 a ese sistema

ACTION SOURCE DEST PROTO DEST PORT(S)FTPDNAT net loc1010101

Para FTP necesitaraacute adicionalmente el motor de seguimiento de conexiones y el soporte NAT en su kernel Para los kernel provistos por el vendedor esto significa que los moacutedulos ip_conntrack_ftp y ip_nat_ftp deben ser cargados Shorewall cargaraacute automaacuteticamente dichos moacutedulos si estaacuten disponibles y localizados en el lugar estandar bajo libmodulesltkernel versiongtkernelnetipv4netfilter

Un par de puntos importantes a mantener en mente son

bull Usted debe probar la regla anterior desde un cliente externe a su red local (ie no pruebe desde un explorador en los computadores 1 o 2 o en el firewall) Si desea ser capaz de acceder a su servidor web yo ftp desde adentro de su fireall usando la direccioacuten IP de su interface externa vea Shorewall FAQ 2

bull Muchos ISPs bloquean las solicitudes entrantes al puerto 80 Si tiene problemas conectaacutendose a su servidor intente seguir la siguiente regla y conectar al puerto 5000

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net loc101010280 tcp 5000

En este punto modifique etcshorewallrules para agregar cualquier regla DNAT que se requiera

Importante

Cuando pruebe las reglas DNAT como las anteriores debe realizar las pruebas desde un cliente AFUERA de su fiewall (en la zona net ) Usted no puede probar estas reglas desde la parte interior del firewall

Para tips de Resolucioacuten de Problemas con DNAT vea FAQs 1a y 1b

Domain Name Server (DNS)

Normalmente cuando usted conecta con su ISP y como parte del proceso de obtener una direccioacuten IP el resolutor Domain Name Service (DNS) del firewall seraacute automaacuteticamente configurado (eg el archivo etcresolvconf seraacute rescrito) Alternativamente su ISP puede darle la direccioacuten IP de un par de servidores de nombre DNS para que manualmente los configure como servidores de nombre primario y secundario respectivamente Sin importar la forma en coacutemo se configuran los servidores DNS en su firewall es su responsabilidad configurar el resolutor en sus sistemas internos Puede escoger uno de dos caminos

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 8: 6927538-Shorewall

PPTPADSL

Si tiene un Modem ADSL y usa PPTP para comunicarse con un servidor en ese modem usted debe hacer los cambios que se recomiendan aquiacute en adicioacuten a los que se explican abajo ADSL con PPTP se encuentra frecuentemente en Europa y notable Austria

Conceptos Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall -- para configuraciones simples encontraraacute que soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea

Alerta

Nota para los Usuarios Debian

Si instala usando deb encontraraacute que su directorio etcshorewall estaacute vaciacuteo Esto es intencional El esqueleto de archivos de configuracioacuten se pueden encontrar en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no planea modificarlos

Importante

Despueacutes que tiene instalado Shorewall localice las muestras two-interfaces

1 Si instaloacute usando RPM las muestras estaraacuten en el subdirectorio Samplestwo-interfaces del directorio de documentacioacuten de Shorewall Si no sabe donde estaacute el directorio de documentacioacuten Shorewall puede encontrarlo usando el siguiente comando

~ rpm -ql shorewall | fgrep two-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesusrsharedocpackagesshorewallSamplestwo-interfacesinterfacesusrsharedocpackagesshorewallSamplestwo-interfacesmasqusrsharedocpackagesshorewallSamplestwo-interfacespolicyusrsharedocpackagesshorewallSamplestwo-interfacesroutestoppedusrsharedocpackagesshorewallSamplestwo-interfacesrulesusrsharedocpackagesshorewallSamplestwo-interfaceszones~

2 Si instaloacute usando el tarball las muestras estaacuten en el directorio Samplestwo-interfaces en el tarball3 Si instaloacute usando deb las muestras estaacuten en usrsharedocshorewallexamplestwo-interfaces

En la medida que se explica cada archivo le sugerimos que vea el archivo en cuestioacuten en su sistema -- cada archivo contiene instrucciones detallads de configuracioacuten y entradas por omisioacuten

Shorewall ve la red sobre la cual trabaja como si estuviera compuesta de un conjunto de zonas En la configuracioacuten de muestra two-interface se usan los siguientes nombres de zonas

ZONE TYPE OPTIONS IN OUT OPTIONS OPTIONSfw firewallnet ipv4loc ipv4

Las zonas se definen en el archivo etcshorewallzones

Note que Shorewall reconoce el sistema firewall como su propia zona - cuando se procesa el archivo etcshorewallzones el nombre de la zona firewall se almacena en la variable shell $FW que puede usarse para referirse a la zona del firewall a lo largo de la configuracioacuten de Shorewall

Las reglas acerca del traacutefico a permitir o rechazar se expresan en teacuterminos de zonas

bull Usted expresa su poliacutetica por omisioacuten para las conexiones desde una zona a otra en el archivo etcshorewallpolicy

bull Usted define excepciones para dichas poliacuteticas por omisioacuten en el archivo etcshorewallrules

Para cada solicitud de conexioacuten que ingresa al firewall la solicitud se verifica primero contra el archivo etcshorewllrules Si no aplica ninguna regla para la solicitud de conexioacuten entonces la primera poliacutetica en etcshorewallpolicy que coincida se aplica Si hay una accioacuten comuacuten definida para la poliacutetica en etcshorewallactions o usrshareshorewallactionsstd entonces esa accioacuten se ejecuta antes de la poliacutetica

El archivo etcshorewallpolicy que se incluye con la muestra two-interface tiene las siguientes poliacuteticas

SOURCE DEST POLICY LOG LEVEL LIMITBURSTloc net ACCEPTnet all DROP infoall all REJECT info

En la muestra two-interface la liacutenea abajo estaacute incluida pero estaacute comentada Si desea que su sistema firewall tenga acceso completo a los servidores en internet quite el comentario a esa liacutenea

SOURCE DEST POLICY LOG LEVEL LIMITBURST$FW net ACCEPT

Las poliacuteticas anteriores

bull Permitiraacuten todas las solicitudes de conexiones desde la red local hacia internetbull Desacartaacuten (ignoraraacuten) todas las solicitudes de conexioacuten desde internet hacia su firewall o red localbull Opcionalmente aceptar todas las solicitudes de conexiones desde el firewall hacia internet (si levantoacute el

comentario de la poliacutetica adicional)bull Rechazaraacuten todas las otras solicitudes de conexioacuten

Es importante notar que las poliacuteticas Shorewal (y las reglas) refieren a conexiones y no flujo de paquetes Con las poliacuteticas definidas en el archivo etcshorewallpolicy como se muestra arriba las conexiones se permiten desde la zona loc a la zona net incluso aunque no esten permitidas las conexiones desde la zona loc al propio firewall

En este punto edite su etcshorewallpolicy y haga los cambios que considere

Interfaces de Red

El firewall tiene dos interfaces de red Donde si bien la conectividad es a traveacutes de cable modem o Modem DSL la Interface Externa seraacute el adaptador ethernet que se encuentre conectado a dicho Modem (eg eth0) a menos que conecte viacutea Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta por un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces querraacute poner CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Interna seraacute un adaptador ethernet (eth1 o eth0) y conectaraacute a un hub o switch Sus computadores se conectaraacuten al mismo hubswitch (nota Si tiene un uacutenico sistema interno puede conectarlo directamente al firewall usando un cable cruzado)

Alerta

No conecte la interface interna y externa al mismo hub o switch exceptuado para pruebas Usted puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en etcshorewallinterfaces para todas las interfaces comunes al mismo hubswitch Usando tal configuracioacuten con un firewall en produccioacuten no es para nada recomendable

La muestra two-interface de Shorewall asume que la interface externa es eth0 y que la interface interna es eth1 Si su configuracioacuten difiere tendraacute que modificar la muesta acordemente en el archivo etcshorewallinterfaces Mientra esteacute ahiacute puede revisar la lista de opciones que le son especiacuteficas para las interfaces Algunas pistas

Tip

Si su interface externa es ppp0 o ippp0 puede remplazar en la segunda columna detect con ldquo-rdquo (sin las comillas)

Tip

Si su interface externa es ppp0 o ippp0 o si tiene una direccioacuten IP estaacutetica puede eliminar dhcp de la lista de opciones

Tip

Si su interface interna es un puente (bridge) cree If your internal interface is a bridge create using the brctl utility then you must add the routeback option to the option list

Direcciones IP

Antes de seguir avanzando debemos decir unas cuantas palabras acerca de las direcciones Internet Protocol (IP) Normalmente su ISP le asignaraacute una uacutenica direccioacuten IP Puacuteblica Esta direccioacuten puede ser asignada viacutea Dynamic Host Configuration Protocol (DHCP) o como parte del establecimiento de su conexioacuten cuando disca (modem estandar) o establece su conexioacuten PPP En raras ocasiones su ISP le asignaraacute una direccioacuten IP estaacutetica esto significa que usted configuraraacute la interface exerna de su firewall para usar permanentemente esa direccioacuten Sin embargo su direccioacuten IP asignada seraacute compartida por todos sus sistemas cuando accedan a Internet Usted tendraacute que asignar sus propias direcciones en su red interna (la Interface Interna en su firewall maacutes las otras computadores) El RFC 1918 reserva varios rangos de direcciones Privadas IP para ese propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Antes de arrancar Shoreall usted debe ver la direccioacuten IP de su interface externa y si es una dentro de los rangos descritos arriba deberiacutea quitar la opcioacuten norfc1918 de la entrada que corresponde a su interface externa en etcshorewallinterfaces

Usted querraacute asignar sus direcciones desde la misma subred Para nuestros propoacutesitos podemos considerar una subred que consista de un rango de direcciones xyz0 - xyz255 Tal subred tendraacute una maacutescara de red de 2552552550 La direccioacuten xyz0 se reserva como la Direccioacuten de Subred y xyz255 se reserva como la Direccioacuten de Difusioacuten de la Subred (Boradcast) En Shorewall una subred se describe usando la notacioacuten Classless InterDomain Routing (CIDR) que consiste de direcciones de subred seguida de 24 El ldquo24rdquo se refiere a la cantidad de 1 consecutivos a la cabeza de la maacutescara de red

Rango 1010100 - 101010255

Direccioacuten de Subred 1010100

Direccioacuten de Difusioacuten 101010255

Notacioacuten CIDR 101010024

Es convencioacuten asignarle la primera direccioacuten utilizable en la subred a la interface interna (1010101 en el ejemplo anterior) o la uacuteltima (101010254)

Uno de los propoacutesitos de hacer subredes es permitir a todas las computadoras en la subred entender queacute otras computadoras pueden comunicarse con ellas directamente Para comunicarse con sistemas fuera de la subre los sistemas deben enviar los paquetes a su detino final a traveacutes de un gateway (enrutador)

Sus computadoras locales (computer 1 y computer 2 en el diagrama arriba) deben ser configuradas con el default gateway a la direccioacuten IP de la interface interna del firewall

La discusioacuten a continuacioacuten repasa por encima los temas de subredes y enrutamiento Si estaacute interesado en aprender maacutes acerca del direccionamiento y el enrutamiento IP si le recomienda altamente el libro ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0 (enlace)

El resto de esta guiacutea asume que tiene su red dispuesta de esta forma

El default gateway para las computdores 1 y 2 seriacutea 101010254

Alerta

Su ISP puede que le asigne una direccioacuten RFC 1918 para su interface externa Si dicha direccioacuten estaacute en la subred 101010024 entonces tendraacute que seleccionar una subred DIFERENTE RFC 1918 para su red local

Enmascaramiento IP (SNAT)

Las direcciones reservadas por el RFC 1918 son a veces referidas como no-ruteable debido a que los enrutadores en el corazoacuten de Internet no se renviacutean los paquetes IP cuando tienen como destino una direccioacuten RFC 1918 Cuando uno de su sistemas locales (digamos computer 1) enviacutea una solicitud de conexioacuten a una maacutequina en Internet el firewall debe hacer Network Address Translation (NAT Traduccioacuten de Direccioacuten de Red) El firewall rescribe la direccioacuten de origen en el paquete para que sea la direccioacuten de la interface externa del firewall en otras palabras el

firewall hace parecer que la solicitud de conexioacuten fueacute originada en el propio firewall Esto es necesario hacerlo para la maaacutequina destino sea capaz de enrutar la respuesta de vuelta hasta el firewall (recuerde que los paquetes cuyos destinos es una direccioacuten RFC 1918 no son enrutados a traveacutes de internet para que la respuesta vuelva su origen en computer 1) Cuando el firewall recibe un paquete de respuesta rescribe la direccioacuten de destino de vuelta a 1010101 y enviacutea el paquete a computer 1

En los sistemas Linux el proceso anterior es conocido como Enmascaramiento IP pero tambieacuten veraacute el uso del teacutermino Source Network Address Translation (SNAT) Shorewall sigue la convencioacuten que usa Netfilter

bull Enmascaramiento (Masquerade) describe el caso donde se permite al sistema firewall detectar automaacuteticamente la direccioacuten de la interface externa

bull SNAT se refiere al caso donde expliacutecitamente especifica la direccioacuten origen que desea usar en los paquetes salientes

En Shorewall tanto Enmascaramiento y SNAT se configuran con entradas en el archivo etcshorewallmasq Normalmente usaraacute Enmascaramiento si su direccioacuten IP en la interface externa es dinaacutemica y SNAT en el caso de direccioacuten IP estaacutetica

Si la interface externa de su firewall es eth0 no se necesita modificar el archivo provisto con la muestra De otra forma edite etcshorewallmasq y cambie la primera columna para que refleje el nombre de su interface externa y la segunda columna el nombre de su interface interna

Si su direccioacuten IP externa es estaacutetica puede enterarla en la tercrea columna en etcshorewallmasq si desea si bien su firewall funcionaraacute bien si no lo hace Enterar su direccioacuten IP estaacutetica en la tercera columna hace que procesar los paquetes salientes sea un poco maacutes eficiente

Si estaacute usando el paquete Debian por favor revise su archivo shorewallconf para asegurarse que lo siguiente esteacute escrito correctamente si no es asiacute caacutembielo apropiadamente

bull IP_FORWARDING=On

Desviacuteo de Puerto (DNAT)

Una de sus metas puede ser correr uno o mas servidores en sus sistemas locales Ya que dichas computadoras tienen direcciones RFC-1918 no es posible a los clientes en internet conectar directamente con ellas En cambio es necesario para dichos clientes dirigir sus solicitudes de conexioacuten hacia el firewall quien rescribe la direccioacuten destino a la direccioacuten de su servidor y enviacutea el paquete al servidor Cuando su servidor responde el firewall automaacuteticamente realiza SNAT para rescribir la direccioacuten origen en la respuesta

El proceso anterior es llamado Desviacuteo de Puerto o Port Forwarding o Destination Network Address Translation (DNAT) Usted puede configurar el desviacuteo de puerto usando las reglas DNAT en el archivo etcshorewallrules

La forma general de una regla de desviacuteo de puerto simple en etcshorewallrules es

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net locltserver local ip addressgt[ltserver portgt] ltprotocolgt ltportgt

Shorewall incorpora macros para muchas de las aplicaciones populares Revise en usrshareshorewallmacro para identificar los macros disponibles en su versioacuten Los macros simplemente crean reglas DNAT suministrando el protocolo y puerto(s) como se muestra en los siguientes ejemplos

Ejemplo 1 Servidor Web

Usted estaacute corriendo un Servidor Web en computer 2 y desea desviar el puerto entrante TCP 80 a este sistema

ACTION SOURCE DEST PROTO DEST PORT(S)WebDNAT net loc1010102

Ejemplo 2 Servidor FTP

Usted estaacute corriendo un Servidor FTP en computer 1 tal que desea entonces desviar el puerto entrante TCP 21 a ese sistema

ACTION SOURCE DEST PROTO DEST PORT(S)FTPDNAT net loc1010101

Para FTP necesitaraacute adicionalmente el motor de seguimiento de conexiones y el soporte NAT en su kernel Para los kernel provistos por el vendedor esto significa que los moacutedulos ip_conntrack_ftp y ip_nat_ftp deben ser cargados Shorewall cargaraacute automaacuteticamente dichos moacutedulos si estaacuten disponibles y localizados en el lugar estandar bajo libmodulesltkernel versiongtkernelnetipv4netfilter

Un par de puntos importantes a mantener en mente son

bull Usted debe probar la regla anterior desde un cliente externe a su red local (ie no pruebe desde un explorador en los computadores 1 o 2 o en el firewall) Si desea ser capaz de acceder a su servidor web yo ftp desde adentro de su fireall usando la direccioacuten IP de su interface externa vea Shorewall FAQ 2

bull Muchos ISPs bloquean las solicitudes entrantes al puerto 80 Si tiene problemas conectaacutendose a su servidor intente seguir la siguiente regla y conectar al puerto 5000

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net loc101010280 tcp 5000

En este punto modifique etcshorewallrules para agregar cualquier regla DNAT que se requiera

Importante

Cuando pruebe las reglas DNAT como las anteriores debe realizar las pruebas desde un cliente AFUERA de su fiewall (en la zona net ) Usted no puede probar estas reglas desde la parte interior del firewall

Para tips de Resolucioacuten de Problemas con DNAT vea FAQs 1a y 1b

Domain Name Server (DNS)

Normalmente cuando usted conecta con su ISP y como parte del proceso de obtener una direccioacuten IP el resolutor Domain Name Service (DNS) del firewall seraacute automaacuteticamente configurado (eg el archivo etcresolvconf seraacute rescrito) Alternativamente su ISP puede darle la direccioacuten IP de un par de servidores de nombre DNS para que manualmente los configure como servidores de nombre primario y secundario respectivamente Sin importar la forma en coacutemo se configuran los servidores DNS en su firewall es su responsabilidad configurar el resolutor en sus sistemas internos Puede escoger uno de dos caminos

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 9: 6927538-Shorewall

Las zonas se definen en el archivo etcshorewallzones

Note que Shorewall reconoce el sistema firewall como su propia zona - cuando se procesa el archivo etcshorewallzones el nombre de la zona firewall se almacena en la variable shell $FW que puede usarse para referirse a la zona del firewall a lo largo de la configuracioacuten de Shorewall

Las reglas acerca del traacutefico a permitir o rechazar se expresan en teacuterminos de zonas

bull Usted expresa su poliacutetica por omisioacuten para las conexiones desde una zona a otra en el archivo etcshorewallpolicy

bull Usted define excepciones para dichas poliacuteticas por omisioacuten en el archivo etcshorewallrules

Para cada solicitud de conexioacuten que ingresa al firewall la solicitud se verifica primero contra el archivo etcshorewllrules Si no aplica ninguna regla para la solicitud de conexioacuten entonces la primera poliacutetica en etcshorewallpolicy que coincida se aplica Si hay una accioacuten comuacuten definida para la poliacutetica en etcshorewallactions o usrshareshorewallactionsstd entonces esa accioacuten se ejecuta antes de la poliacutetica

El archivo etcshorewallpolicy que se incluye con la muestra two-interface tiene las siguientes poliacuteticas

SOURCE DEST POLICY LOG LEVEL LIMITBURSTloc net ACCEPTnet all DROP infoall all REJECT info

En la muestra two-interface la liacutenea abajo estaacute incluida pero estaacute comentada Si desea que su sistema firewall tenga acceso completo a los servidores en internet quite el comentario a esa liacutenea

SOURCE DEST POLICY LOG LEVEL LIMITBURST$FW net ACCEPT

Las poliacuteticas anteriores

bull Permitiraacuten todas las solicitudes de conexiones desde la red local hacia internetbull Desacartaacuten (ignoraraacuten) todas las solicitudes de conexioacuten desde internet hacia su firewall o red localbull Opcionalmente aceptar todas las solicitudes de conexiones desde el firewall hacia internet (si levantoacute el

comentario de la poliacutetica adicional)bull Rechazaraacuten todas las otras solicitudes de conexioacuten

Es importante notar que las poliacuteticas Shorewal (y las reglas) refieren a conexiones y no flujo de paquetes Con las poliacuteticas definidas en el archivo etcshorewallpolicy como se muestra arriba las conexiones se permiten desde la zona loc a la zona net incluso aunque no esten permitidas las conexiones desde la zona loc al propio firewall

En este punto edite su etcshorewallpolicy y haga los cambios que considere

Interfaces de Red

El firewall tiene dos interfaces de red Donde si bien la conectividad es a traveacutes de cable modem o Modem DSL la Interface Externa seraacute el adaptador ethernet que se encuentre conectado a dicho Modem (eg eth0) a menos que conecte viacutea Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta por un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces querraacute poner CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Interna seraacute un adaptador ethernet (eth1 o eth0) y conectaraacute a un hub o switch Sus computadores se conectaraacuten al mismo hubswitch (nota Si tiene un uacutenico sistema interno puede conectarlo directamente al firewall usando un cable cruzado)

Alerta

No conecte la interface interna y externa al mismo hub o switch exceptuado para pruebas Usted puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en etcshorewallinterfaces para todas las interfaces comunes al mismo hubswitch Usando tal configuracioacuten con un firewall en produccioacuten no es para nada recomendable

La muestra two-interface de Shorewall asume que la interface externa es eth0 y que la interface interna es eth1 Si su configuracioacuten difiere tendraacute que modificar la muesta acordemente en el archivo etcshorewallinterfaces Mientra esteacute ahiacute puede revisar la lista de opciones que le son especiacuteficas para las interfaces Algunas pistas

Tip

Si su interface externa es ppp0 o ippp0 puede remplazar en la segunda columna detect con ldquo-rdquo (sin las comillas)

Tip

Si su interface externa es ppp0 o ippp0 o si tiene una direccioacuten IP estaacutetica puede eliminar dhcp de la lista de opciones

Tip

Si su interface interna es un puente (bridge) cree If your internal interface is a bridge create using the brctl utility then you must add the routeback option to the option list

Direcciones IP

Antes de seguir avanzando debemos decir unas cuantas palabras acerca de las direcciones Internet Protocol (IP) Normalmente su ISP le asignaraacute una uacutenica direccioacuten IP Puacuteblica Esta direccioacuten puede ser asignada viacutea Dynamic Host Configuration Protocol (DHCP) o como parte del establecimiento de su conexioacuten cuando disca (modem estandar) o establece su conexioacuten PPP En raras ocasiones su ISP le asignaraacute una direccioacuten IP estaacutetica esto significa que usted configuraraacute la interface exerna de su firewall para usar permanentemente esa direccioacuten Sin embargo su direccioacuten IP asignada seraacute compartida por todos sus sistemas cuando accedan a Internet Usted tendraacute que asignar sus propias direcciones en su red interna (la Interface Interna en su firewall maacutes las otras computadores) El RFC 1918 reserva varios rangos de direcciones Privadas IP para ese propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Antes de arrancar Shoreall usted debe ver la direccioacuten IP de su interface externa y si es una dentro de los rangos descritos arriba deberiacutea quitar la opcioacuten norfc1918 de la entrada que corresponde a su interface externa en etcshorewallinterfaces

Usted querraacute asignar sus direcciones desde la misma subred Para nuestros propoacutesitos podemos considerar una subred que consista de un rango de direcciones xyz0 - xyz255 Tal subred tendraacute una maacutescara de red de 2552552550 La direccioacuten xyz0 se reserva como la Direccioacuten de Subred y xyz255 se reserva como la Direccioacuten de Difusioacuten de la Subred (Boradcast) En Shorewall una subred se describe usando la notacioacuten Classless InterDomain Routing (CIDR) que consiste de direcciones de subred seguida de 24 El ldquo24rdquo se refiere a la cantidad de 1 consecutivos a la cabeza de la maacutescara de red

Rango 1010100 - 101010255

Direccioacuten de Subred 1010100

Direccioacuten de Difusioacuten 101010255

Notacioacuten CIDR 101010024

Es convencioacuten asignarle la primera direccioacuten utilizable en la subred a la interface interna (1010101 en el ejemplo anterior) o la uacuteltima (101010254)

Uno de los propoacutesitos de hacer subredes es permitir a todas las computadoras en la subred entender queacute otras computadoras pueden comunicarse con ellas directamente Para comunicarse con sistemas fuera de la subre los sistemas deben enviar los paquetes a su detino final a traveacutes de un gateway (enrutador)

Sus computadoras locales (computer 1 y computer 2 en el diagrama arriba) deben ser configuradas con el default gateway a la direccioacuten IP de la interface interna del firewall

La discusioacuten a continuacioacuten repasa por encima los temas de subredes y enrutamiento Si estaacute interesado en aprender maacutes acerca del direccionamiento y el enrutamiento IP si le recomienda altamente el libro ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0 (enlace)

El resto de esta guiacutea asume que tiene su red dispuesta de esta forma

El default gateway para las computdores 1 y 2 seriacutea 101010254

Alerta

Su ISP puede que le asigne una direccioacuten RFC 1918 para su interface externa Si dicha direccioacuten estaacute en la subred 101010024 entonces tendraacute que seleccionar una subred DIFERENTE RFC 1918 para su red local

Enmascaramiento IP (SNAT)

Las direcciones reservadas por el RFC 1918 son a veces referidas como no-ruteable debido a que los enrutadores en el corazoacuten de Internet no se renviacutean los paquetes IP cuando tienen como destino una direccioacuten RFC 1918 Cuando uno de su sistemas locales (digamos computer 1) enviacutea una solicitud de conexioacuten a una maacutequina en Internet el firewall debe hacer Network Address Translation (NAT Traduccioacuten de Direccioacuten de Red) El firewall rescribe la direccioacuten de origen en el paquete para que sea la direccioacuten de la interface externa del firewall en otras palabras el

firewall hace parecer que la solicitud de conexioacuten fueacute originada en el propio firewall Esto es necesario hacerlo para la maaacutequina destino sea capaz de enrutar la respuesta de vuelta hasta el firewall (recuerde que los paquetes cuyos destinos es una direccioacuten RFC 1918 no son enrutados a traveacutes de internet para que la respuesta vuelva su origen en computer 1) Cuando el firewall recibe un paquete de respuesta rescribe la direccioacuten de destino de vuelta a 1010101 y enviacutea el paquete a computer 1

En los sistemas Linux el proceso anterior es conocido como Enmascaramiento IP pero tambieacuten veraacute el uso del teacutermino Source Network Address Translation (SNAT) Shorewall sigue la convencioacuten que usa Netfilter

bull Enmascaramiento (Masquerade) describe el caso donde se permite al sistema firewall detectar automaacuteticamente la direccioacuten de la interface externa

bull SNAT se refiere al caso donde expliacutecitamente especifica la direccioacuten origen que desea usar en los paquetes salientes

En Shorewall tanto Enmascaramiento y SNAT se configuran con entradas en el archivo etcshorewallmasq Normalmente usaraacute Enmascaramiento si su direccioacuten IP en la interface externa es dinaacutemica y SNAT en el caso de direccioacuten IP estaacutetica

Si la interface externa de su firewall es eth0 no se necesita modificar el archivo provisto con la muestra De otra forma edite etcshorewallmasq y cambie la primera columna para que refleje el nombre de su interface externa y la segunda columna el nombre de su interface interna

Si su direccioacuten IP externa es estaacutetica puede enterarla en la tercrea columna en etcshorewallmasq si desea si bien su firewall funcionaraacute bien si no lo hace Enterar su direccioacuten IP estaacutetica en la tercera columna hace que procesar los paquetes salientes sea un poco maacutes eficiente

Si estaacute usando el paquete Debian por favor revise su archivo shorewallconf para asegurarse que lo siguiente esteacute escrito correctamente si no es asiacute caacutembielo apropiadamente

bull IP_FORWARDING=On

Desviacuteo de Puerto (DNAT)

Una de sus metas puede ser correr uno o mas servidores en sus sistemas locales Ya que dichas computadoras tienen direcciones RFC-1918 no es posible a los clientes en internet conectar directamente con ellas En cambio es necesario para dichos clientes dirigir sus solicitudes de conexioacuten hacia el firewall quien rescribe la direccioacuten destino a la direccioacuten de su servidor y enviacutea el paquete al servidor Cuando su servidor responde el firewall automaacuteticamente realiza SNAT para rescribir la direccioacuten origen en la respuesta

El proceso anterior es llamado Desviacuteo de Puerto o Port Forwarding o Destination Network Address Translation (DNAT) Usted puede configurar el desviacuteo de puerto usando las reglas DNAT en el archivo etcshorewallrules

La forma general de una regla de desviacuteo de puerto simple en etcshorewallrules es

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net locltserver local ip addressgt[ltserver portgt] ltprotocolgt ltportgt

Shorewall incorpora macros para muchas de las aplicaciones populares Revise en usrshareshorewallmacro para identificar los macros disponibles en su versioacuten Los macros simplemente crean reglas DNAT suministrando el protocolo y puerto(s) como se muestra en los siguientes ejemplos

Ejemplo 1 Servidor Web

Usted estaacute corriendo un Servidor Web en computer 2 y desea desviar el puerto entrante TCP 80 a este sistema

ACTION SOURCE DEST PROTO DEST PORT(S)WebDNAT net loc1010102

Ejemplo 2 Servidor FTP

Usted estaacute corriendo un Servidor FTP en computer 1 tal que desea entonces desviar el puerto entrante TCP 21 a ese sistema

ACTION SOURCE DEST PROTO DEST PORT(S)FTPDNAT net loc1010101

Para FTP necesitaraacute adicionalmente el motor de seguimiento de conexiones y el soporte NAT en su kernel Para los kernel provistos por el vendedor esto significa que los moacutedulos ip_conntrack_ftp y ip_nat_ftp deben ser cargados Shorewall cargaraacute automaacuteticamente dichos moacutedulos si estaacuten disponibles y localizados en el lugar estandar bajo libmodulesltkernel versiongtkernelnetipv4netfilter

Un par de puntos importantes a mantener en mente son

bull Usted debe probar la regla anterior desde un cliente externe a su red local (ie no pruebe desde un explorador en los computadores 1 o 2 o en el firewall) Si desea ser capaz de acceder a su servidor web yo ftp desde adentro de su fireall usando la direccioacuten IP de su interface externa vea Shorewall FAQ 2

bull Muchos ISPs bloquean las solicitudes entrantes al puerto 80 Si tiene problemas conectaacutendose a su servidor intente seguir la siguiente regla y conectar al puerto 5000

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net loc101010280 tcp 5000

En este punto modifique etcshorewallrules para agregar cualquier regla DNAT que se requiera

Importante

Cuando pruebe las reglas DNAT como las anteriores debe realizar las pruebas desde un cliente AFUERA de su fiewall (en la zona net ) Usted no puede probar estas reglas desde la parte interior del firewall

Para tips de Resolucioacuten de Problemas con DNAT vea FAQs 1a y 1b

Domain Name Server (DNS)

Normalmente cuando usted conecta con su ISP y como parte del proceso de obtener una direccioacuten IP el resolutor Domain Name Service (DNS) del firewall seraacute automaacuteticamente configurado (eg el archivo etcresolvconf seraacute rescrito) Alternativamente su ISP puede darle la direccioacuten IP de un par de servidores de nombre DNS para que manualmente los configure como servidores de nombre primario y secundario respectivamente Sin importar la forma en coacutemo se configuran los servidores DNS en su firewall es su responsabilidad configurar el resolutor en sus sistemas internos Puede escoger uno de dos caminos

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 10: 6927538-Shorewall

El firewall tiene dos interfaces de red Donde si bien la conectividad es a traveacutes de cable modem o Modem DSL la Interface Externa seraacute el adaptador ethernet que se encuentre conectado a dicho Modem (eg eth0) a menos que conecte viacutea Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta por un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces querraacute poner CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Interna seraacute un adaptador ethernet (eth1 o eth0) y conectaraacute a un hub o switch Sus computadores se conectaraacuten al mismo hubswitch (nota Si tiene un uacutenico sistema interno puede conectarlo directamente al firewall usando un cable cruzado)

Alerta

No conecte la interface interna y externa al mismo hub o switch exceptuado para pruebas Usted puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en etcshorewallinterfaces para todas las interfaces comunes al mismo hubswitch Usando tal configuracioacuten con un firewall en produccioacuten no es para nada recomendable

La muestra two-interface de Shorewall asume que la interface externa es eth0 y que la interface interna es eth1 Si su configuracioacuten difiere tendraacute que modificar la muesta acordemente en el archivo etcshorewallinterfaces Mientra esteacute ahiacute puede revisar la lista de opciones que le son especiacuteficas para las interfaces Algunas pistas

Tip

Si su interface externa es ppp0 o ippp0 puede remplazar en la segunda columna detect con ldquo-rdquo (sin las comillas)

Tip

Si su interface externa es ppp0 o ippp0 o si tiene una direccioacuten IP estaacutetica puede eliminar dhcp de la lista de opciones

Tip

Si su interface interna es un puente (bridge) cree If your internal interface is a bridge create using the brctl utility then you must add the routeback option to the option list

Direcciones IP

Antes de seguir avanzando debemos decir unas cuantas palabras acerca de las direcciones Internet Protocol (IP) Normalmente su ISP le asignaraacute una uacutenica direccioacuten IP Puacuteblica Esta direccioacuten puede ser asignada viacutea Dynamic Host Configuration Protocol (DHCP) o como parte del establecimiento de su conexioacuten cuando disca (modem estandar) o establece su conexioacuten PPP En raras ocasiones su ISP le asignaraacute una direccioacuten IP estaacutetica esto significa que usted configuraraacute la interface exerna de su firewall para usar permanentemente esa direccioacuten Sin embargo su direccioacuten IP asignada seraacute compartida por todos sus sistemas cuando accedan a Internet Usted tendraacute que asignar sus propias direcciones en su red interna (la Interface Interna en su firewall maacutes las otras computadores) El RFC 1918 reserva varios rangos de direcciones Privadas IP para ese propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Antes de arrancar Shoreall usted debe ver la direccioacuten IP de su interface externa y si es una dentro de los rangos descritos arriba deberiacutea quitar la opcioacuten norfc1918 de la entrada que corresponde a su interface externa en etcshorewallinterfaces

Usted querraacute asignar sus direcciones desde la misma subred Para nuestros propoacutesitos podemos considerar una subred que consista de un rango de direcciones xyz0 - xyz255 Tal subred tendraacute una maacutescara de red de 2552552550 La direccioacuten xyz0 se reserva como la Direccioacuten de Subred y xyz255 se reserva como la Direccioacuten de Difusioacuten de la Subred (Boradcast) En Shorewall una subred se describe usando la notacioacuten Classless InterDomain Routing (CIDR) que consiste de direcciones de subred seguida de 24 El ldquo24rdquo se refiere a la cantidad de 1 consecutivos a la cabeza de la maacutescara de red

Rango 1010100 - 101010255

Direccioacuten de Subred 1010100

Direccioacuten de Difusioacuten 101010255

Notacioacuten CIDR 101010024

Es convencioacuten asignarle la primera direccioacuten utilizable en la subred a la interface interna (1010101 en el ejemplo anterior) o la uacuteltima (101010254)

Uno de los propoacutesitos de hacer subredes es permitir a todas las computadoras en la subred entender queacute otras computadoras pueden comunicarse con ellas directamente Para comunicarse con sistemas fuera de la subre los sistemas deben enviar los paquetes a su detino final a traveacutes de un gateway (enrutador)

Sus computadoras locales (computer 1 y computer 2 en el diagrama arriba) deben ser configuradas con el default gateway a la direccioacuten IP de la interface interna del firewall

La discusioacuten a continuacioacuten repasa por encima los temas de subredes y enrutamiento Si estaacute interesado en aprender maacutes acerca del direccionamiento y el enrutamiento IP si le recomienda altamente el libro ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0 (enlace)

El resto de esta guiacutea asume que tiene su red dispuesta de esta forma

El default gateway para las computdores 1 y 2 seriacutea 101010254

Alerta

Su ISP puede que le asigne una direccioacuten RFC 1918 para su interface externa Si dicha direccioacuten estaacute en la subred 101010024 entonces tendraacute que seleccionar una subred DIFERENTE RFC 1918 para su red local

Enmascaramiento IP (SNAT)

Las direcciones reservadas por el RFC 1918 son a veces referidas como no-ruteable debido a que los enrutadores en el corazoacuten de Internet no se renviacutean los paquetes IP cuando tienen como destino una direccioacuten RFC 1918 Cuando uno de su sistemas locales (digamos computer 1) enviacutea una solicitud de conexioacuten a una maacutequina en Internet el firewall debe hacer Network Address Translation (NAT Traduccioacuten de Direccioacuten de Red) El firewall rescribe la direccioacuten de origen en el paquete para que sea la direccioacuten de la interface externa del firewall en otras palabras el

firewall hace parecer que la solicitud de conexioacuten fueacute originada en el propio firewall Esto es necesario hacerlo para la maaacutequina destino sea capaz de enrutar la respuesta de vuelta hasta el firewall (recuerde que los paquetes cuyos destinos es una direccioacuten RFC 1918 no son enrutados a traveacutes de internet para que la respuesta vuelva su origen en computer 1) Cuando el firewall recibe un paquete de respuesta rescribe la direccioacuten de destino de vuelta a 1010101 y enviacutea el paquete a computer 1

En los sistemas Linux el proceso anterior es conocido como Enmascaramiento IP pero tambieacuten veraacute el uso del teacutermino Source Network Address Translation (SNAT) Shorewall sigue la convencioacuten que usa Netfilter

bull Enmascaramiento (Masquerade) describe el caso donde se permite al sistema firewall detectar automaacuteticamente la direccioacuten de la interface externa

bull SNAT se refiere al caso donde expliacutecitamente especifica la direccioacuten origen que desea usar en los paquetes salientes

En Shorewall tanto Enmascaramiento y SNAT se configuran con entradas en el archivo etcshorewallmasq Normalmente usaraacute Enmascaramiento si su direccioacuten IP en la interface externa es dinaacutemica y SNAT en el caso de direccioacuten IP estaacutetica

Si la interface externa de su firewall es eth0 no se necesita modificar el archivo provisto con la muestra De otra forma edite etcshorewallmasq y cambie la primera columna para que refleje el nombre de su interface externa y la segunda columna el nombre de su interface interna

Si su direccioacuten IP externa es estaacutetica puede enterarla en la tercrea columna en etcshorewallmasq si desea si bien su firewall funcionaraacute bien si no lo hace Enterar su direccioacuten IP estaacutetica en la tercera columna hace que procesar los paquetes salientes sea un poco maacutes eficiente

Si estaacute usando el paquete Debian por favor revise su archivo shorewallconf para asegurarse que lo siguiente esteacute escrito correctamente si no es asiacute caacutembielo apropiadamente

bull IP_FORWARDING=On

Desviacuteo de Puerto (DNAT)

Una de sus metas puede ser correr uno o mas servidores en sus sistemas locales Ya que dichas computadoras tienen direcciones RFC-1918 no es posible a los clientes en internet conectar directamente con ellas En cambio es necesario para dichos clientes dirigir sus solicitudes de conexioacuten hacia el firewall quien rescribe la direccioacuten destino a la direccioacuten de su servidor y enviacutea el paquete al servidor Cuando su servidor responde el firewall automaacuteticamente realiza SNAT para rescribir la direccioacuten origen en la respuesta

El proceso anterior es llamado Desviacuteo de Puerto o Port Forwarding o Destination Network Address Translation (DNAT) Usted puede configurar el desviacuteo de puerto usando las reglas DNAT en el archivo etcshorewallrules

La forma general de una regla de desviacuteo de puerto simple en etcshorewallrules es

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net locltserver local ip addressgt[ltserver portgt] ltprotocolgt ltportgt

Shorewall incorpora macros para muchas de las aplicaciones populares Revise en usrshareshorewallmacro para identificar los macros disponibles en su versioacuten Los macros simplemente crean reglas DNAT suministrando el protocolo y puerto(s) como se muestra en los siguientes ejemplos

Ejemplo 1 Servidor Web

Usted estaacute corriendo un Servidor Web en computer 2 y desea desviar el puerto entrante TCP 80 a este sistema

ACTION SOURCE DEST PROTO DEST PORT(S)WebDNAT net loc1010102

Ejemplo 2 Servidor FTP

Usted estaacute corriendo un Servidor FTP en computer 1 tal que desea entonces desviar el puerto entrante TCP 21 a ese sistema

ACTION SOURCE DEST PROTO DEST PORT(S)FTPDNAT net loc1010101

Para FTP necesitaraacute adicionalmente el motor de seguimiento de conexiones y el soporte NAT en su kernel Para los kernel provistos por el vendedor esto significa que los moacutedulos ip_conntrack_ftp y ip_nat_ftp deben ser cargados Shorewall cargaraacute automaacuteticamente dichos moacutedulos si estaacuten disponibles y localizados en el lugar estandar bajo libmodulesltkernel versiongtkernelnetipv4netfilter

Un par de puntos importantes a mantener en mente son

bull Usted debe probar la regla anterior desde un cliente externe a su red local (ie no pruebe desde un explorador en los computadores 1 o 2 o en el firewall) Si desea ser capaz de acceder a su servidor web yo ftp desde adentro de su fireall usando la direccioacuten IP de su interface externa vea Shorewall FAQ 2

bull Muchos ISPs bloquean las solicitudes entrantes al puerto 80 Si tiene problemas conectaacutendose a su servidor intente seguir la siguiente regla y conectar al puerto 5000

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net loc101010280 tcp 5000

En este punto modifique etcshorewallrules para agregar cualquier regla DNAT que se requiera

Importante

Cuando pruebe las reglas DNAT como las anteriores debe realizar las pruebas desde un cliente AFUERA de su fiewall (en la zona net ) Usted no puede probar estas reglas desde la parte interior del firewall

Para tips de Resolucioacuten de Problemas con DNAT vea FAQs 1a y 1b

Domain Name Server (DNS)

Normalmente cuando usted conecta con su ISP y como parte del proceso de obtener una direccioacuten IP el resolutor Domain Name Service (DNS) del firewall seraacute automaacuteticamente configurado (eg el archivo etcresolvconf seraacute rescrito) Alternativamente su ISP puede darle la direccioacuten IP de un par de servidores de nombre DNS para que manualmente los configure como servidores de nombre primario y secundario respectivamente Sin importar la forma en coacutemo se configuran los servidores DNS en su firewall es su responsabilidad configurar el resolutor en sus sistemas internos Puede escoger uno de dos caminos

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 11: 6927538-Shorewall

Alerta

No conecte la interface interna y externa al mismo hub o switch exceptuado para pruebas Usted puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en etcshorewallinterfaces para todas las interfaces comunes al mismo hubswitch Usando tal configuracioacuten con un firewall en produccioacuten no es para nada recomendable

La muestra two-interface de Shorewall asume que la interface externa es eth0 y que la interface interna es eth1 Si su configuracioacuten difiere tendraacute que modificar la muesta acordemente en el archivo etcshorewallinterfaces Mientra esteacute ahiacute puede revisar la lista de opciones que le son especiacuteficas para las interfaces Algunas pistas

Tip

Si su interface externa es ppp0 o ippp0 puede remplazar en la segunda columna detect con ldquo-rdquo (sin las comillas)

Tip

Si su interface externa es ppp0 o ippp0 o si tiene una direccioacuten IP estaacutetica puede eliminar dhcp de la lista de opciones

Tip

Si su interface interna es un puente (bridge) cree If your internal interface is a bridge create using the brctl utility then you must add the routeback option to the option list

Direcciones IP

Antes de seguir avanzando debemos decir unas cuantas palabras acerca de las direcciones Internet Protocol (IP) Normalmente su ISP le asignaraacute una uacutenica direccioacuten IP Puacuteblica Esta direccioacuten puede ser asignada viacutea Dynamic Host Configuration Protocol (DHCP) o como parte del establecimiento de su conexioacuten cuando disca (modem estandar) o establece su conexioacuten PPP En raras ocasiones su ISP le asignaraacute una direccioacuten IP estaacutetica esto significa que usted configuraraacute la interface exerna de su firewall para usar permanentemente esa direccioacuten Sin embargo su direccioacuten IP asignada seraacute compartida por todos sus sistemas cuando accedan a Internet Usted tendraacute que asignar sus propias direcciones en su red interna (la Interface Interna en su firewall maacutes las otras computadores) El RFC 1918 reserva varios rangos de direcciones Privadas IP para ese propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Antes de arrancar Shoreall usted debe ver la direccioacuten IP de su interface externa y si es una dentro de los rangos descritos arriba deberiacutea quitar la opcioacuten norfc1918 de la entrada que corresponde a su interface externa en etcshorewallinterfaces

Usted querraacute asignar sus direcciones desde la misma subred Para nuestros propoacutesitos podemos considerar una subred que consista de un rango de direcciones xyz0 - xyz255 Tal subred tendraacute una maacutescara de red de 2552552550 La direccioacuten xyz0 se reserva como la Direccioacuten de Subred y xyz255 se reserva como la Direccioacuten de Difusioacuten de la Subred (Boradcast) En Shorewall una subred se describe usando la notacioacuten Classless InterDomain Routing (CIDR) que consiste de direcciones de subred seguida de 24 El ldquo24rdquo se refiere a la cantidad de 1 consecutivos a la cabeza de la maacutescara de red

Rango 1010100 - 101010255

Direccioacuten de Subred 1010100

Direccioacuten de Difusioacuten 101010255

Notacioacuten CIDR 101010024

Es convencioacuten asignarle la primera direccioacuten utilizable en la subred a la interface interna (1010101 en el ejemplo anterior) o la uacuteltima (101010254)

Uno de los propoacutesitos de hacer subredes es permitir a todas las computadoras en la subred entender queacute otras computadoras pueden comunicarse con ellas directamente Para comunicarse con sistemas fuera de la subre los sistemas deben enviar los paquetes a su detino final a traveacutes de un gateway (enrutador)

Sus computadoras locales (computer 1 y computer 2 en el diagrama arriba) deben ser configuradas con el default gateway a la direccioacuten IP de la interface interna del firewall

La discusioacuten a continuacioacuten repasa por encima los temas de subredes y enrutamiento Si estaacute interesado en aprender maacutes acerca del direccionamiento y el enrutamiento IP si le recomienda altamente el libro ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0 (enlace)

El resto de esta guiacutea asume que tiene su red dispuesta de esta forma

El default gateway para las computdores 1 y 2 seriacutea 101010254

Alerta

Su ISP puede que le asigne una direccioacuten RFC 1918 para su interface externa Si dicha direccioacuten estaacute en la subred 101010024 entonces tendraacute que seleccionar una subred DIFERENTE RFC 1918 para su red local

Enmascaramiento IP (SNAT)

Las direcciones reservadas por el RFC 1918 son a veces referidas como no-ruteable debido a que los enrutadores en el corazoacuten de Internet no se renviacutean los paquetes IP cuando tienen como destino una direccioacuten RFC 1918 Cuando uno de su sistemas locales (digamos computer 1) enviacutea una solicitud de conexioacuten a una maacutequina en Internet el firewall debe hacer Network Address Translation (NAT Traduccioacuten de Direccioacuten de Red) El firewall rescribe la direccioacuten de origen en el paquete para que sea la direccioacuten de la interface externa del firewall en otras palabras el

firewall hace parecer que la solicitud de conexioacuten fueacute originada en el propio firewall Esto es necesario hacerlo para la maaacutequina destino sea capaz de enrutar la respuesta de vuelta hasta el firewall (recuerde que los paquetes cuyos destinos es una direccioacuten RFC 1918 no son enrutados a traveacutes de internet para que la respuesta vuelva su origen en computer 1) Cuando el firewall recibe un paquete de respuesta rescribe la direccioacuten de destino de vuelta a 1010101 y enviacutea el paquete a computer 1

En los sistemas Linux el proceso anterior es conocido como Enmascaramiento IP pero tambieacuten veraacute el uso del teacutermino Source Network Address Translation (SNAT) Shorewall sigue la convencioacuten que usa Netfilter

bull Enmascaramiento (Masquerade) describe el caso donde se permite al sistema firewall detectar automaacuteticamente la direccioacuten de la interface externa

bull SNAT se refiere al caso donde expliacutecitamente especifica la direccioacuten origen que desea usar en los paquetes salientes

En Shorewall tanto Enmascaramiento y SNAT se configuran con entradas en el archivo etcshorewallmasq Normalmente usaraacute Enmascaramiento si su direccioacuten IP en la interface externa es dinaacutemica y SNAT en el caso de direccioacuten IP estaacutetica

Si la interface externa de su firewall es eth0 no se necesita modificar el archivo provisto con la muestra De otra forma edite etcshorewallmasq y cambie la primera columna para que refleje el nombre de su interface externa y la segunda columna el nombre de su interface interna

Si su direccioacuten IP externa es estaacutetica puede enterarla en la tercrea columna en etcshorewallmasq si desea si bien su firewall funcionaraacute bien si no lo hace Enterar su direccioacuten IP estaacutetica en la tercera columna hace que procesar los paquetes salientes sea un poco maacutes eficiente

Si estaacute usando el paquete Debian por favor revise su archivo shorewallconf para asegurarse que lo siguiente esteacute escrito correctamente si no es asiacute caacutembielo apropiadamente

bull IP_FORWARDING=On

Desviacuteo de Puerto (DNAT)

Una de sus metas puede ser correr uno o mas servidores en sus sistemas locales Ya que dichas computadoras tienen direcciones RFC-1918 no es posible a los clientes en internet conectar directamente con ellas En cambio es necesario para dichos clientes dirigir sus solicitudes de conexioacuten hacia el firewall quien rescribe la direccioacuten destino a la direccioacuten de su servidor y enviacutea el paquete al servidor Cuando su servidor responde el firewall automaacuteticamente realiza SNAT para rescribir la direccioacuten origen en la respuesta

El proceso anterior es llamado Desviacuteo de Puerto o Port Forwarding o Destination Network Address Translation (DNAT) Usted puede configurar el desviacuteo de puerto usando las reglas DNAT en el archivo etcshorewallrules

La forma general de una regla de desviacuteo de puerto simple en etcshorewallrules es

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net locltserver local ip addressgt[ltserver portgt] ltprotocolgt ltportgt

Shorewall incorpora macros para muchas de las aplicaciones populares Revise en usrshareshorewallmacro para identificar los macros disponibles en su versioacuten Los macros simplemente crean reglas DNAT suministrando el protocolo y puerto(s) como se muestra en los siguientes ejemplos

Ejemplo 1 Servidor Web

Usted estaacute corriendo un Servidor Web en computer 2 y desea desviar el puerto entrante TCP 80 a este sistema

ACTION SOURCE DEST PROTO DEST PORT(S)WebDNAT net loc1010102

Ejemplo 2 Servidor FTP

Usted estaacute corriendo un Servidor FTP en computer 1 tal que desea entonces desviar el puerto entrante TCP 21 a ese sistema

ACTION SOURCE DEST PROTO DEST PORT(S)FTPDNAT net loc1010101

Para FTP necesitaraacute adicionalmente el motor de seguimiento de conexiones y el soporte NAT en su kernel Para los kernel provistos por el vendedor esto significa que los moacutedulos ip_conntrack_ftp y ip_nat_ftp deben ser cargados Shorewall cargaraacute automaacuteticamente dichos moacutedulos si estaacuten disponibles y localizados en el lugar estandar bajo libmodulesltkernel versiongtkernelnetipv4netfilter

Un par de puntos importantes a mantener en mente son

bull Usted debe probar la regla anterior desde un cliente externe a su red local (ie no pruebe desde un explorador en los computadores 1 o 2 o en el firewall) Si desea ser capaz de acceder a su servidor web yo ftp desde adentro de su fireall usando la direccioacuten IP de su interface externa vea Shorewall FAQ 2

bull Muchos ISPs bloquean las solicitudes entrantes al puerto 80 Si tiene problemas conectaacutendose a su servidor intente seguir la siguiente regla y conectar al puerto 5000

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net loc101010280 tcp 5000

En este punto modifique etcshorewallrules para agregar cualquier regla DNAT que se requiera

Importante

Cuando pruebe las reglas DNAT como las anteriores debe realizar las pruebas desde un cliente AFUERA de su fiewall (en la zona net ) Usted no puede probar estas reglas desde la parte interior del firewall

Para tips de Resolucioacuten de Problemas con DNAT vea FAQs 1a y 1b

Domain Name Server (DNS)

Normalmente cuando usted conecta con su ISP y como parte del proceso de obtener una direccioacuten IP el resolutor Domain Name Service (DNS) del firewall seraacute automaacuteticamente configurado (eg el archivo etcresolvconf seraacute rescrito) Alternativamente su ISP puede darle la direccioacuten IP de un par de servidores de nombre DNS para que manualmente los configure como servidores de nombre primario y secundario respectivamente Sin importar la forma en coacutemo se configuran los servidores DNS en su firewall es su responsabilidad configurar el resolutor en sus sistemas internos Puede escoger uno de dos caminos

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 12: 6927538-Shorewall

Direccioacuten de Subred 1010100

Direccioacuten de Difusioacuten 101010255

Notacioacuten CIDR 101010024

Es convencioacuten asignarle la primera direccioacuten utilizable en la subred a la interface interna (1010101 en el ejemplo anterior) o la uacuteltima (101010254)

Uno de los propoacutesitos de hacer subredes es permitir a todas las computadoras en la subred entender queacute otras computadoras pueden comunicarse con ellas directamente Para comunicarse con sistemas fuera de la subre los sistemas deben enviar los paquetes a su detino final a traveacutes de un gateway (enrutador)

Sus computadoras locales (computer 1 y computer 2 en el diagrama arriba) deben ser configuradas con el default gateway a la direccioacuten IP de la interface interna del firewall

La discusioacuten a continuacioacuten repasa por encima los temas de subredes y enrutamiento Si estaacute interesado en aprender maacutes acerca del direccionamiento y el enrutamiento IP si le recomienda altamente el libro ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0 (enlace)

El resto de esta guiacutea asume que tiene su red dispuesta de esta forma

El default gateway para las computdores 1 y 2 seriacutea 101010254

Alerta

Su ISP puede que le asigne una direccioacuten RFC 1918 para su interface externa Si dicha direccioacuten estaacute en la subred 101010024 entonces tendraacute que seleccionar una subred DIFERENTE RFC 1918 para su red local

Enmascaramiento IP (SNAT)

Las direcciones reservadas por el RFC 1918 son a veces referidas como no-ruteable debido a que los enrutadores en el corazoacuten de Internet no se renviacutean los paquetes IP cuando tienen como destino una direccioacuten RFC 1918 Cuando uno de su sistemas locales (digamos computer 1) enviacutea una solicitud de conexioacuten a una maacutequina en Internet el firewall debe hacer Network Address Translation (NAT Traduccioacuten de Direccioacuten de Red) El firewall rescribe la direccioacuten de origen en el paquete para que sea la direccioacuten de la interface externa del firewall en otras palabras el

firewall hace parecer que la solicitud de conexioacuten fueacute originada en el propio firewall Esto es necesario hacerlo para la maaacutequina destino sea capaz de enrutar la respuesta de vuelta hasta el firewall (recuerde que los paquetes cuyos destinos es una direccioacuten RFC 1918 no son enrutados a traveacutes de internet para que la respuesta vuelva su origen en computer 1) Cuando el firewall recibe un paquete de respuesta rescribe la direccioacuten de destino de vuelta a 1010101 y enviacutea el paquete a computer 1

En los sistemas Linux el proceso anterior es conocido como Enmascaramiento IP pero tambieacuten veraacute el uso del teacutermino Source Network Address Translation (SNAT) Shorewall sigue la convencioacuten que usa Netfilter

bull Enmascaramiento (Masquerade) describe el caso donde se permite al sistema firewall detectar automaacuteticamente la direccioacuten de la interface externa

bull SNAT se refiere al caso donde expliacutecitamente especifica la direccioacuten origen que desea usar en los paquetes salientes

En Shorewall tanto Enmascaramiento y SNAT se configuran con entradas en el archivo etcshorewallmasq Normalmente usaraacute Enmascaramiento si su direccioacuten IP en la interface externa es dinaacutemica y SNAT en el caso de direccioacuten IP estaacutetica

Si la interface externa de su firewall es eth0 no se necesita modificar el archivo provisto con la muestra De otra forma edite etcshorewallmasq y cambie la primera columna para que refleje el nombre de su interface externa y la segunda columna el nombre de su interface interna

Si su direccioacuten IP externa es estaacutetica puede enterarla en la tercrea columna en etcshorewallmasq si desea si bien su firewall funcionaraacute bien si no lo hace Enterar su direccioacuten IP estaacutetica en la tercera columna hace que procesar los paquetes salientes sea un poco maacutes eficiente

Si estaacute usando el paquete Debian por favor revise su archivo shorewallconf para asegurarse que lo siguiente esteacute escrito correctamente si no es asiacute caacutembielo apropiadamente

bull IP_FORWARDING=On

Desviacuteo de Puerto (DNAT)

Una de sus metas puede ser correr uno o mas servidores en sus sistemas locales Ya que dichas computadoras tienen direcciones RFC-1918 no es posible a los clientes en internet conectar directamente con ellas En cambio es necesario para dichos clientes dirigir sus solicitudes de conexioacuten hacia el firewall quien rescribe la direccioacuten destino a la direccioacuten de su servidor y enviacutea el paquete al servidor Cuando su servidor responde el firewall automaacuteticamente realiza SNAT para rescribir la direccioacuten origen en la respuesta

El proceso anterior es llamado Desviacuteo de Puerto o Port Forwarding o Destination Network Address Translation (DNAT) Usted puede configurar el desviacuteo de puerto usando las reglas DNAT en el archivo etcshorewallrules

La forma general de una regla de desviacuteo de puerto simple en etcshorewallrules es

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net locltserver local ip addressgt[ltserver portgt] ltprotocolgt ltportgt

Shorewall incorpora macros para muchas de las aplicaciones populares Revise en usrshareshorewallmacro para identificar los macros disponibles en su versioacuten Los macros simplemente crean reglas DNAT suministrando el protocolo y puerto(s) como se muestra en los siguientes ejemplos

Ejemplo 1 Servidor Web

Usted estaacute corriendo un Servidor Web en computer 2 y desea desviar el puerto entrante TCP 80 a este sistema

ACTION SOURCE DEST PROTO DEST PORT(S)WebDNAT net loc1010102

Ejemplo 2 Servidor FTP

Usted estaacute corriendo un Servidor FTP en computer 1 tal que desea entonces desviar el puerto entrante TCP 21 a ese sistema

ACTION SOURCE DEST PROTO DEST PORT(S)FTPDNAT net loc1010101

Para FTP necesitaraacute adicionalmente el motor de seguimiento de conexiones y el soporte NAT en su kernel Para los kernel provistos por el vendedor esto significa que los moacutedulos ip_conntrack_ftp y ip_nat_ftp deben ser cargados Shorewall cargaraacute automaacuteticamente dichos moacutedulos si estaacuten disponibles y localizados en el lugar estandar bajo libmodulesltkernel versiongtkernelnetipv4netfilter

Un par de puntos importantes a mantener en mente son

bull Usted debe probar la regla anterior desde un cliente externe a su red local (ie no pruebe desde un explorador en los computadores 1 o 2 o en el firewall) Si desea ser capaz de acceder a su servidor web yo ftp desde adentro de su fireall usando la direccioacuten IP de su interface externa vea Shorewall FAQ 2

bull Muchos ISPs bloquean las solicitudes entrantes al puerto 80 Si tiene problemas conectaacutendose a su servidor intente seguir la siguiente regla y conectar al puerto 5000

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net loc101010280 tcp 5000

En este punto modifique etcshorewallrules para agregar cualquier regla DNAT que se requiera

Importante

Cuando pruebe las reglas DNAT como las anteriores debe realizar las pruebas desde un cliente AFUERA de su fiewall (en la zona net ) Usted no puede probar estas reglas desde la parte interior del firewall

Para tips de Resolucioacuten de Problemas con DNAT vea FAQs 1a y 1b

Domain Name Server (DNS)

Normalmente cuando usted conecta con su ISP y como parte del proceso de obtener una direccioacuten IP el resolutor Domain Name Service (DNS) del firewall seraacute automaacuteticamente configurado (eg el archivo etcresolvconf seraacute rescrito) Alternativamente su ISP puede darle la direccioacuten IP de un par de servidores de nombre DNS para que manualmente los configure como servidores de nombre primario y secundario respectivamente Sin importar la forma en coacutemo se configuran los servidores DNS en su firewall es su responsabilidad configurar el resolutor en sus sistemas internos Puede escoger uno de dos caminos

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 13: 6927538-Shorewall

El default gateway para las computdores 1 y 2 seriacutea 101010254

Alerta

Su ISP puede que le asigne una direccioacuten RFC 1918 para su interface externa Si dicha direccioacuten estaacute en la subred 101010024 entonces tendraacute que seleccionar una subred DIFERENTE RFC 1918 para su red local

Enmascaramiento IP (SNAT)

Las direcciones reservadas por el RFC 1918 son a veces referidas como no-ruteable debido a que los enrutadores en el corazoacuten de Internet no se renviacutean los paquetes IP cuando tienen como destino una direccioacuten RFC 1918 Cuando uno de su sistemas locales (digamos computer 1) enviacutea una solicitud de conexioacuten a una maacutequina en Internet el firewall debe hacer Network Address Translation (NAT Traduccioacuten de Direccioacuten de Red) El firewall rescribe la direccioacuten de origen en el paquete para que sea la direccioacuten de la interface externa del firewall en otras palabras el

firewall hace parecer que la solicitud de conexioacuten fueacute originada en el propio firewall Esto es necesario hacerlo para la maaacutequina destino sea capaz de enrutar la respuesta de vuelta hasta el firewall (recuerde que los paquetes cuyos destinos es una direccioacuten RFC 1918 no son enrutados a traveacutes de internet para que la respuesta vuelva su origen en computer 1) Cuando el firewall recibe un paquete de respuesta rescribe la direccioacuten de destino de vuelta a 1010101 y enviacutea el paquete a computer 1

En los sistemas Linux el proceso anterior es conocido como Enmascaramiento IP pero tambieacuten veraacute el uso del teacutermino Source Network Address Translation (SNAT) Shorewall sigue la convencioacuten que usa Netfilter

bull Enmascaramiento (Masquerade) describe el caso donde se permite al sistema firewall detectar automaacuteticamente la direccioacuten de la interface externa

bull SNAT se refiere al caso donde expliacutecitamente especifica la direccioacuten origen que desea usar en los paquetes salientes

En Shorewall tanto Enmascaramiento y SNAT se configuran con entradas en el archivo etcshorewallmasq Normalmente usaraacute Enmascaramiento si su direccioacuten IP en la interface externa es dinaacutemica y SNAT en el caso de direccioacuten IP estaacutetica

Si la interface externa de su firewall es eth0 no se necesita modificar el archivo provisto con la muestra De otra forma edite etcshorewallmasq y cambie la primera columna para que refleje el nombre de su interface externa y la segunda columna el nombre de su interface interna

Si su direccioacuten IP externa es estaacutetica puede enterarla en la tercrea columna en etcshorewallmasq si desea si bien su firewall funcionaraacute bien si no lo hace Enterar su direccioacuten IP estaacutetica en la tercera columna hace que procesar los paquetes salientes sea un poco maacutes eficiente

Si estaacute usando el paquete Debian por favor revise su archivo shorewallconf para asegurarse que lo siguiente esteacute escrito correctamente si no es asiacute caacutembielo apropiadamente

bull IP_FORWARDING=On

Desviacuteo de Puerto (DNAT)

Una de sus metas puede ser correr uno o mas servidores en sus sistemas locales Ya que dichas computadoras tienen direcciones RFC-1918 no es posible a los clientes en internet conectar directamente con ellas En cambio es necesario para dichos clientes dirigir sus solicitudes de conexioacuten hacia el firewall quien rescribe la direccioacuten destino a la direccioacuten de su servidor y enviacutea el paquete al servidor Cuando su servidor responde el firewall automaacuteticamente realiza SNAT para rescribir la direccioacuten origen en la respuesta

El proceso anterior es llamado Desviacuteo de Puerto o Port Forwarding o Destination Network Address Translation (DNAT) Usted puede configurar el desviacuteo de puerto usando las reglas DNAT en el archivo etcshorewallrules

La forma general de una regla de desviacuteo de puerto simple en etcshorewallrules es

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net locltserver local ip addressgt[ltserver portgt] ltprotocolgt ltportgt

Shorewall incorpora macros para muchas de las aplicaciones populares Revise en usrshareshorewallmacro para identificar los macros disponibles en su versioacuten Los macros simplemente crean reglas DNAT suministrando el protocolo y puerto(s) como se muestra en los siguientes ejemplos

Ejemplo 1 Servidor Web

Usted estaacute corriendo un Servidor Web en computer 2 y desea desviar el puerto entrante TCP 80 a este sistema

ACTION SOURCE DEST PROTO DEST PORT(S)WebDNAT net loc1010102

Ejemplo 2 Servidor FTP

Usted estaacute corriendo un Servidor FTP en computer 1 tal que desea entonces desviar el puerto entrante TCP 21 a ese sistema

ACTION SOURCE DEST PROTO DEST PORT(S)FTPDNAT net loc1010101

Para FTP necesitaraacute adicionalmente el motor de seguimiento de conexiones y el soporte NAT en su kernel Para los kernel provistos por el vendedor esto significa que los moacutedulos ip_conntrack_ftp y ip_nat_ftp deben ser cargados Shorewall cargaraacute automaacuteticamente dichos moacutedulos si estaacuten disponibles y localizados en el lugar estandar bajo libmodulesltkernel versiongtkernelnetipv4netfilter

Un par de puntos importantes a mantener en mente son

bull Usted debe probar la regla anterior desde un cliente externe a su red local (ie no pruebe desde un explorador en los computadores 1 o 2 o en el firewall) Si desea ser capaz de acceder a su servidor web yo ftp desde adentro de su fireall usando la direccioacuten IP de su interface externa vea Shorewall FAQ 2

bull Muchos ISPs bloquean las solicitudes entrantes al puerto 80 Si tiene problemas conectaacutendose a su servidor intente seguir la siguiente regla y conectar al puerto 5000

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net loc101010280 tcp 5000

En este punto modifique etcshorewallrules para agregar cualquier regla DNAT que se requiera

Importante

Cuando pruebe las reglas DNAT como las anteriores debe realizar las pruebas desde un cliente AFUERA de su fiewall (en la zona net ) Usted no puede probar estas reglas desde la parte interior del firewall

Para tips de Resolucioacuten de Problemas con DNAT vea FAQs 1a y 1b

Domain Name Server (DNS)

Normalmente cuando usted conecta con su ISP y como parte del proceso de obtener una direccioacuten IP el resolutor Domain Name Service (DNS) del firewall seraacute automaacuteticamente configurado (eg el archivo etcresolvconf seraacute rescrito) Alternativamente su ISP puede darle la direccioacuten IP de un par de servidores de nombre DNS para que manualmente los configure como servidores de nombre primario y secundario respectivamente Sin importar la forma en coacutemo se configuran los servidores DNS en su firewall es su responsabilidad configurar el resolutor en sus sistemas internos Puede escoger uno de dos caminos

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 14: 6927538-Shorewall

firewall hace parecer que la solicitud de conexioacuten fueacute originada en el propio firewall Esto es necesario hacerlo para la maaacutequina destino sea capaz de enrutar la respuesta de vuelta hasta el firewall (recuerde que los paquetes cuyos destinos es una direccioacuten RFC 1918 no son enrutados a traveacutes de internet para que la respuesta vuelva su origen en computer 1) Cuando el firewall recibe un paquete de respuesta rescribe la direccioacuten de destino de vuelta a 1010101 y enviacutea el paquete a computer 1

En los sistemas Linux el proceso anterior es conocido como Enmascaramiento IP pero tambieacuten veraacute el uso del teacutermino Source Network Address Translation (SNAT) Shorewall sigue la convencioacuten que usa Netfilter

bull Enmascaramiento (Masquerade) describe el caso donde se permite al sistema firewall detectar automaacuteticamente la direccioacuten de la interface externa

bull SNAT se refiere al caso donde expliacutecitamente especifica la direccioacuten origen que desea usar en los paquetes salientes

En Shorewall tanto Enmascaramiento y SNAT se configuran con entradas en el archivo etcshorewallmasq Normalmente usaraacute Enmascaramiento si su direccioacuten IP en la interface externa es dinaacutemica y SNAT en el caso de direccioacuten IP estaacutetica

Si la interface externa de su firewall es eth0 no se necesita modificar el archivo provisto con la muestra De otra forma edite etcshorewallmasq y cambie la primera columna para que refleje el nombre de su interface externa y la segunda columna el nombre de su interface interna

Si su direccioacuten IP externa es estaacutetica puede enterarla en la tercrea columna en etcshorewallmasq si desea si bien su firewall funcionaraacute bien si no lo hace Enterar su direccioacuten IP estaacutetica en la tercera columna hace que procesar los paquetes salientes sea un poco maacutes eficiente

Si estaacute usando el paquete Debian por favor revise su archivo shorewallconf para asegurarse que lo siguiente esteacute escrito correctamente si no es asiacute caacutembielo apropiadamente

bull IP_FORWARDING=On

Desviacuteo de Puerto (DNAT)

Una de sus metas puede ser correr uno o mas servidores en sus sistemas locales Ya que dichas computadoras tienen direcciones RFC-1918 no es posible a los clientes en internet conectar directamente con ellas En cambio es necesario para dichos clientes dirigir sus solicitudes de conexioacuten hacia el firewall quien rescribe la direccioacuten destino a la direccioacuten de su servidor y enviacutea el paquete al servidor Cuando su servidor responde el firewall automaacuteticamente realiza SNAT para rescribir la direccioacuten origen en la respuesta

El proceso anterior es llamado Desviacuteo de Puerto o Port Forwarding o Destination Network Address Translation (DNAT) Usted puede configurar el desviacuteo de puerto usando las reglas DNAT en el archivo etcshorewallrules

La forma general de una regla de desviacuteo de puerto simple en etcshorewallrules es

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net locltserver local ip addressgt[ltserver portgt] ltprotocolgt ltportgt

Shorewall incorpora macros para muchas de las aplicaciones populares Revise en usrshareshorewallmacro para identificar los macros disponibles en su versioacuten Los macros simplemente crean reglas DNAT suministrando el protocolo y puerto(s) como se muestra en los siguientes ejemplos

Ejemplo 1 Servidor Web

Usted estaacute corriendo un Servidor Web en computer 2 y desea desviar el puerto entrante TCP 80 a este sistema

ACTION SOURCE DEST PROTO DEST PORT(S)WebDNAT net loc1010102

Ejemplo 2 Servidor FTP

Usted estaacute corriendo un Servidor FTP en computer 1 tal que desea entonces desviar el puerto entrante TCP 21 a ese sistema

ACTION SOURCE DEST PROTO DEST PORT(S)FTPDNAT net loc1010101

Para FTP necesitaraacute adicionalmente el motor de seguimiento de conexiones y el soporte NAT en su kernel Para los kernel provistos por el vendedor esto significa que los moacutedulos ip_conntrack_ftp y ip_nat_ftp deben ser cargados Shorewall cargaraacute automaacuteticamente dichos moacutedulos si estaacuten disponibles y localizados en el lugar estandar bajo libmodulesltkernel versiongtkernelnetipv4netfilter

Un par de puntos importantes a mantener en mente son

bull Usted debe probar la regla anterior desde un cliente externe a su red local (ie no pruebe desde un explorador en los computadores 1 o 2 o en el firewall) Si desea ser capaz de acceder a su servidor web yo ftp desde adentro de su fireall usando la direccioacuten IP de su interface externa vea Shorewall FAQ 2

bull Muchos ISPs bloquean las solicitudes entrantes al puerto 80 Si tiene problemas conectaacutendose a su servidor intente seguir la siguiente regla y conectar al puerto 5000

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net loc101010280 tcp 5000

En este punto modifique etcshorewallrules para agregar cualquier regla DNAT que se requiera

Importante

Cuando pruebe las reglas DNAT como las anteriores debe realizar las pruebas desde un cliente AFUERA de su fiewall (en la zona net ) Usted no puede probar estas reglas desde la parte interior del firewall

Para tips de Resolucioacuten de Problemas con DNAT vea FAQs 1a y 1b

Domain Name Server (DNS)

Normalmente cuando usted conecta con su ISP y como parte del proceso de obtener una direccioacuten IP el resolutor Domain Name Service (DNS) del firewall seraacute automaacuteticamente configurado (eg el archivo etcresolvconf seraacute rescrito) Alternativamente su ISP puede darle la direccioacuten IP de un par de servidores de nombre DNS para que manualmente los configure como servidores de nombre primario y secundario respectivamente Sin importar la forma en coacutemo se configuran los servidores DNS en su firewall es su responsabilidad configurar el resolutor en sus sistemas internos Puede escoger uno de dos caminos

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 15: 6927538-Shorewall

Shorewall incorpora macros para muchas de las aplicaciones populares Revise en usrshareshorewallmacro para identificar los macros disponibles en su versioacuten Los macros simplemente crean reglas DNAT suministrando el protocolo y puerto(s) como se muestra en los siguientes ejemplos

Ejemplo 1 Servidor Web

Usted estaacute corriendo un Servidor Web en computer 2 y desea desviar el puerto entrante TCP 80 a este sistema

ACTION SOURCE DEST PROTO DEST PORT(S)WebDNAT net loc1010102

Ejemplo 2 Servidor FTP

Usted estaacute corriendo un Servidor FTP en computer 1 tal que desea entonces desviar el puerto entrante TCP 21 a ese sistema

ACTION SOURCE DEST PROTO DEST PORT(S)FTPDNAT net loc1010101

Para FTP necesitaraacute adicionalmente el motor de seguimiento de conexiones y el soporte NAT en su kernel Para los kernel provistos por el vendedor esto significa que los moacutedulos ip_conntrack_ftp y ip_nat_ftp deben ser cargados Shorewall cargaraacute automaacuteticamente dichos moacutedulos si estaacuten disponibles y localizados en el lugar estandar bajo libmodulesltkernel versiongtkernelnetipv4netfilter

Un par de puntos importantes a mantener en mente son

bull Usted debe probar la regla anterior desde un cliente externe a su red local (ie no pruebe desde un explorador en los computadores 1 o 2 o en el firewall) Si desea ser capaz de acceder a su servidor web yo ftp desde adentro de su fireall usando la direccioacuten IP de su interface externa vea Shorewall FAQ 2

bull Muchos ISPs bloquean las solicitudes entrantes al puerto 80 Si tiene problemas conectaacutendose a su servidor intente seguir la siguiente regla y conectar al puerto 5000

ACTION SOURCE DEST PROTO DEST PORT(S)DNAT net loc101010280 tcp 5000

En este punto modifique etcshorewallrules para agregar cualquier regla DNAT que se requiera

Importante

Cuando pruebe las reglas DNAT como las anteriores debe realizar las pruebas desde un cliente AFUERA de su fiewall (en la zona net ) Usted no puede probar estas reglas desde la parte interior del firewall

Para tips de Resolucioacuten de Problemas con DNAT vea FAQs 1a y 1b

Domain Name Server (DNS)

Normalmente cuando usted conecta con su ISP y como parte del proceso de obtener una direccioacuten IP el resolutor Domain Name Service (DNS) del firewall seraacute automaacuteticamente configurado (eg el archivo etcresolvconf seraacute rescrito) Alternativamente su ISP puede darle la direccioacuten IP de un par de servidores de nombre DNS para que manualmente los configure como servidores de nombre primario y secundario respectivamente Sin importar la forma en coacutemo se configuran los servidores DNS en su firewall es su responsabilidad configurar el resolutor en sus sistemas internos Puede escoger uno de dos caminos

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 16: 6927538-Shorewall

bull Configura sus sistemas internos para que usen los servidores de nombre de su ISP Si su ISP le ha suministrado las direcciones de sus servidores DNS o de otros disponibles en su sitio web usted puede configurar sus sistemas internos para que usen dichas direcciones Si dicha informacioacuten no estaacute disponible vea en el archivo etcresolvconf de su sistema firewall -- los servidores de nombre son declarados con los registros nameserver en este archivo

bull Puede configurar un Cache Servidor de Nombres en su firewall Red Hattrade tiene un RPM para el cache servidor de nombres (el RPM tambieacuten requier el RPM bind) y para los usuarios Bering hay un dnscachelrp Si toma este camino usted configuraraacute sus sistemas internos para que usen el mismo firewall como su servidor primario (o uacutenico) de nombres Usariacutea la direccioacuten IP interna de su firewall (101010254 en el ejemplo anterior) como direccioacuten del servidor de nombres Para permitir a los sistemas locales hablar con el cache servidor de nombre deberaacute abrir el puerto 53 (ambos UDP y TCP) desde la red local hacia el firewall esto lo hace agregar las siguientes reglas en etcshorewallrules

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT loc $FW

Otras Conexiones

La muestra two-interface incluye las siguientes reglas

ACTION SOURCE DEST PROTO DEST PORT(S)DNSACCEPT $FW net

Esta regla permite el acceso DNS desde su firewall y puede quitarse si ha quitado el comentario en la liacutenea de etcshorewallpolicy que permite todas las conexiones desde el firewall hacia internet

En la regla que se muestra arriba ldquoDNSACCEPTrdquo es un ejemplo de una invocacioacuten macro Shorewall incluye una cantidad de macros (vea usrshareshorewallmacro) y usted puede agregar los suyos

Usted no tiene que usar los macros cuando codifique las reglas en etcshorewallrules Shorewall arrancaraacute ligeramente maacutes raacutepido si codifica sus reglas directamente en vez de usar macros La regla anterior tambieacuten pudo haber sido codificada asiacute

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW net udp 53ACCEPT $FW net tcp 53

En los casos donde Shorewall no incluya un macro que satisfaga sus necesidades puede ya sea definir un nuevo macro o simplemente codificar las reglas apropiadas directamente

La muestra tambieacuten incluye

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT loc $FW

Esta regla permite correr el servidor SSH en su firewall y conectarse a eacutel desde los sistemas locales

Si desea habilitar otras conexiones desde su firewall a otros sistemas el formato general usando macros es

ACTION SOURCE DEST PROTO DEST PORT(S)ltmacrogtACCEPT $FW ltdestination zonegt

El formato general cuando no se usan macros predefinidos es

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT $FW ltdestination zonegt ltprotocolgt ltportgt

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 17: 6927538-Shorewall

Ejemplo 3 Servidor Web en el Firewall

Usted desea correr un servidor Web en su sistema firewall

ACTION SOURCE DEST PROTO DEST PORT(S)WebACCEPT net $FWWebACCEPT loc $FW

Estas dos reglas por supuesto seriacutean un agregado a las reglas listadas arriba bajo ldquoPuede configurar un Cache Servidor de Nombres en su firewall rdquo

Si no sabe queacute puerto y protcolo usa una aplicacioacuten particular mire aquiacute

Importante

No recomendados habilitar telnet desdehacia internet porque usa texto en claro para su comunicacioacuten (incluso para el login) Si desea acceso shell para su firewall desde Internet use SSH

ACTION SOURCE DEST PROTO DEST PORT(S)SSHACCEPT net $FW

Los usuarios Bering querraacuten agregar las siguientes dos reglas para ser compatibles con la configuracioacuten Shorewall de Jacques

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT loc $FW udp 53 Allow DNS Cache to workACCEPT loc $FW tcp 80 Allow Weblet to work

Ahora edite su archivo etcshorewallrules para agregar o eliminar otras conexiones como se necesario

Algunos Concejos a Mantener en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque enviacutee solicitudes de conexioacuten a la direccioacuten IP de la interface externa de su firewall no significa que la solicitud seraacute asociada con la interface externa o con la zona ldquonetrdquo Cualquier traacutefico que se genere desde la red local seraacute asociado con su interface local y seraacute tratado como traacutefico loc-gtfw

bull Las direcciones IP son propiedades de los sistemas no de las interfaces Es un error pensar que su firewall sea capaz de renviar paquetes soacutelo porque puede hacerle ping a la direccioacuten IP de todas las interfaces IP del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping exitoso es que el enlace entre el sistema local y el firewall funciona bien y que probablemente tenga bien configurado el default gateway del sistema local

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zonas loc poniendo una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO necesariamente siguen automaacuteticamente el camino reverso al tomado por el paquete original de solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso en su camino Este tema usualmente salta a la palestra cuando se instala un firewall Shorewallall en paralelo a un gateway existente y se intenta usar DNAT a traveacutes del Shorewall sin cambiar el default gateway en el sistema que recibe la solicitud renviada Las solicitudes

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 18: 6927538-Shorewall

entraraacuten por el firewall Shorewall donde la direccioacuten IP destino es rescrita pero la respuesta sale sin modificacioacuten por medio del gateway antiguo

bull Shorewall no tiene nocioacuten de adentro o afuera por siacute mismo Estos conceptos se incorporan en el coacutemo se configura Shorewall

Arrancando y Deteniendo Su Firewall

El procedimiento de instalacioacuten configura su sistema para arrancar Shorewall al arrancar (boot) el sistema pero el inicio de Shorewall estaacute deshabilitado por omisioacuten en su configuracioacuten asiacute que no intente arrancar su Shorewall hasta que termine la configuracioacuten Una vez que se hay completado la configuracioacuten de su firewall debe editar su etcshorewallshorewallconf y poner STARTUP_ENABLED=Yes

Importante

Los usuarios del paquete deb deben editar etcdefaultshorewall y poner startup=1

El firewall se arranca usando el comando ldquoshorewall startrdquo y se detiene con el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado para aquellas maacutequinas que tengan una entrada en el archivo etcshorewallroutestopped Un firewall detenido debe ser reiniciado usando el comando ldquoshorewall restartrdquo Si desea eliminar totalmente todo rastro de Shorewall de su configuracioacuten Netfilter use el comando ldquoshorewall clearrdquo

Esta muestra two-interface asume que usted desea habilitar el enrutamiento desdehacia eth1 (la red local) cuando Shorewall estaacute detenido Si su red local no estaacute conectada a eth1 o si desea habilitar el acceso desdehacia otras maacutequinas cambie apropiadamente el archivo etcshorewallroutestopped

Alerta

Si usted estaacute conectado a su firewall desde internet no enviacutee el comando ldquoshorewall stoprdquo a menos que haya agregado una entrada con la direccioacuten IP desde donde se conectoacute al archivo etcshorewallroutestopped Tampoco recomendamos usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarla con el comando ldquoshorewall tryrdquo

Lectura Adicional Recomendada

Se le recomienda altamente la paaacutegina Archivo de Facilidades de Configuracioacuten Comunes -- contiene tips uacutetiles acerca de las facilidades Shorewall que hacen maacutes faacutecil la administracioacuten del firewall Shorewall

Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces

Una vez que tiene su arreglo de dos interfaces funcionando el siguiente paso loacutegico es agregar una conexioacuten de red inalaacutembrica El primer paso es agergar la tarjeta de red adicional a su firewall ya sea una tarjeta inalaacutembirca o una tarjeta ethernet que conecte a un punto de acceso inalaacutembirco

Precaucioacuten

Cuando agrega una tarjeta de red eacutesta no seraacute necesariamente detectada como la siguiente interface ethernet superior Por ejemplo si tiene dos interfaces ethernet en su sistema (eth0 and eth1) y agrega una tercera tarjeta que usa el mismo manejador (driver) de alguna de las dos anteriores la tercera no necesariamente seraacute detectada como eth2 mal pudiera ser detectada como eth0 o eth1 Usted puede ya sea vivir con ello o puede intercambiar las tarjetas en los soacutecates hasta que la nueva tarjeta sea detectada como eth2

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 19: 6927538-Shorewall

Su nuevo arreglo de red luciraacute similar a la figura siguiente

La primera cosa notable es que las computadores en su red inalaacutembrica estan en una subred diferente a los de su red cableada en la LAN En el ejemplo de arriba hemos escogido usar la red 101011024 Las computadoras 3 y 4 seriacutean configuradas con la direccioacuten IP del default gateway IP a 101011254

Segundo hemos escogido incluir la red inalaacutembrica como parte de la zona local Ya que Shorewall permite el traacutefico en-la-zona por omisioacuten el traacutefico puede fluir libremente entre la red cableada local y la red inalaacutembrica

Hay soacutelo dos cambios necesarios para nuestra configuracioacuten Shorewall

bull Se necesita agregar una entrada a etcshorewallinterfaces para la interface de red inalaacutembrica Si la interface inalaacutembrica es wlan0 la entrada puede lucir asiacute

ZONE INTERFACE BROADCAST OPTIONSloc wlan0 detect maclist

Como se muestra en la entrada anterior se recomienda usar la opcioacuten maclist para el segmento inalaacutembrico En paralelo agregue las entradas para las computadoras 3 y 4 en etcshorewallmaclist para prevenir que sus vecinos obtengan una conexioacuten gratuita a internet a sus expensas Comience por omitir esta opcioacuten cuando tenga todo funcionando entonces agregue esta opcioacuten y configure su archivo etcshorewallmaclist

bull Usted necesita agregar una entrada al archivo etcshorewallmasq para enmascarar el traacutefico desde la red inalaacutembrica hacia internet Si su interface hacia internet es eth0 y su interface inalaacutembrica es wlan0 la entrada seriacutea asiacute

INTERFACE SUBNET ADDRESSeth0 wlan0

Otra cosa a notar para poner la red de Microsofttrade a funcionar entre las redes inalaacutembrica y cableada necesitaraacute ya sea un servidor WINS o un PDC Yo personalmente uso Samba configurado como servidor WINS corriendo en mi firewall Correr un servidor WINS en el firewall requiere las reglas que se listan en documentacioacuten ShorewallSamba

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 20: 6927538-Shorewall

Guiacutea de Configuracioacuten de Shorewall

Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)

Precaucioacuten

Este artiacuteculo aplica a Shorewall 30 en adelante Si estaacute corriendo una versioacuten previa de Shorewall 300 entonces por favor vea la documentacioacuten para dicha liberacioacuten

Introduccioacuten

Esta guiacutea estaacute destinada a los usuarios que desean configurar Shorewall en entornos donde un conjunto de direcciones IP puacuteblicas deben ser manejadas Para quienes desean conocer maacutes acerca de Shorewall en otros entornos revise las Guiacuteas Raacutepidas de Shorewall Debido a las amplias diferentes posibles aplicaciones la Guiacutea le daraacute directrices y apuntaraacute hacia otros recursos si ello es necesario

Precaucioacuten

Shorewall requiere el paquete iprouteiproute2 instalado (en RedHat el paquete se llama iproute) Usted puede saber si el paquete estaacute instalado por la presencia del programa ip en su sistema firewall Como root puede usar el comando ldquowhichrdquo para verificar este programa

[rootgateway root] which ipsbinip[rootgateway root]

Se recomienda que primero lea la guiacutea para que se familiarice con lo que estaacute involucrado y luego vuelva hacia atraacute y comience sobre los cambios de configuracioacuten requeridos Los puntos donde se recomiendan cambios de

configuracioacuten se sentildealan con

Precaucioacuten

Si edita sus archivos de configuracioacuten en un sistema Windows usted debe salvarlos como archivos Unix si su editor soporta dicha opcioacuten o debe ejecutar dicho archivo con dos2unix antes de usarlo con Shorewall De forma similar si copia un archivo de configuracioacuten desde su disco duro en Windows a un disco flexible debe ejecutar previamente dos2unix contra la copia antes de usarla con Shorewall

bull Enlace a versioacuten Windows de dos2unix httpwwwsimtelnetpubpd51438html bull Enlace a versioacuten Linux de dos2unix httpwwwmegalomancom7Ehanysoftwarehd2u

Conceptos de Shorewall

Los archivos de configuracioacuten de Shorewall estaacuten en el directorio etcshorewall para la mayoriacutea de las configuraciones soacutelo necesitaraacute lidiar con algunos de ellos como se describe en esta guiacutea El esqueleto de archivos de configuracioacuten es creado durante el Proceso de Instalacioacuten de Shorewall

Alerta

Nota para los Usuarios Debian

Si instala usando un deb encontraraacute que el directorio etcshorewall estaacute vaciacuteo Esto es intencional Los archivos del esqueleto correspondientes a la liberacioacuten correspondiente pueden encotrarse en su sistema en el directorio usrsharedocshorewalldefault-config Simplemente copie los archivos que necesite desde ese directorio a etcshorewall y modifique las copias

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 21: 6927538-Shorewall

Note que debe copiar usrsharedocshorewalldefault-configshorewallconf y usrsharedocshorewalldefault-configmodules a etcshorewall incluso si no los modifica

En la medida que introducimos cada archivo sugerimos que revise dicho archivo en su sistema cada archivo contiene instrucciones detalladas de configuracioacuten

Shorewall ve la red donde estaacute corriendo como si estuviera compuesta de un conjunto de zonas En esta guiacutea usaremos las siguientes zonas

fw

El propio sistema firewall

net

La red puacuteblica Internet

loc

La red local privada que usa direcciones IP privadas

dmz

Una Zona Desmilitarizada que aloja servidores de acceso puacuteblico

Las zonas se definen en el archivo etcshorewallzones

Importante

El archivo etcshorewallzones incluiacutedo en la distribucioacuten estaacute vaciacuteo Usted puede crear el conjunto de zonas estandar descritas anteriormente copiando y pegando el siguiente contenido en dicho archivo

ZONE TYPE OPTIONSfw firewallnet ipv4loc ipv4dmz ipv4

Note que Shorewall reconoce al sistema firewall como su propia zona El ejemplo anterior sigue la convencioacuten usual de nombres zona firewall fw El nombre especificado para la zona firewall (fw en el ejemplo anterior) se almacena en la variable shell $FW cuando se procesa el archivo etcshorewallzones Con la excepcioacuten del nombre asignado a la zona firewall Shorewall no asocia ninguacuten significado especial a los nombes de zona Las zonas son lo que USTED hace de ellas Ello significa que no debe esperar que Shorewall haga algo especial porque esta es la zona interna o porque esta es la zona DMZ

Edite el archivo etcshorewallzones y haga los cambios necesarios

La reglas acerca de queacute traacutefico permitir y negar se expresan en teacuterminos de las zonas

bull Usted expresa la poliacutetica por omisioacuten para conexiones desde una a otra zona en el archivo etcshorewallpolicy

bull Usted define excepciones a dichas poliacuteticas en etcshorewallrules

Shorewall se construye sobre el motor de kernel Netfilter Netfilter implementa la funcioacuten de seguimiento de conexiones que permite lo que se denomina como inspeccioacuten por estado (stateful inspection) de paquetes Esta capacidad de manejar los estados permite que las reglas de firewall sean definidas en teacuterminos de conexiones en vez de paquetes Con Shorewall usted

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 22: 6927538-Shorewall

1 Identifica la zona origen (cliente)2 Identifica la zona destino (servidor)3 Si la POLITICA de la zona cliente a la zona servidor es lo que desea para esta pareja clienteservidor no

necesita hacer nada adicional4 Si la POLITICA no es lo que desea entonces debe agregar una regla La regla se expresa en teacuterminos de la

zona del cliente y de la zona del servidor

Soacutelo porque las conexiones de un tipo particular desde la zona A hacia el firewall estaacuten permitidas y que tambieacuten estaacuten permitidas desde el firewall a la zona B NO sigifica que estas conexiones esten permitidas entre la zona A y la zona B (en otras palabras las poliacuteticas y reglas que involucran a la zona firewall no son transitivas) A cambio significa que usted puede tener un proxy corriendo en el firewall que acepta conexiones desde la zona A y luego establece conexiones separadas por siacute mismo desde el firewall hacia la zona B

Para cada solicitud de conexioacuten que entra al firewall la solicitud se chequea primero contra el archivo etcshorewallrules Si ninguna regla del archivo aplica se aplica a la solicitud de conexioacuten la primera poliacutetica en etcshorewallpolicy que corresponda con dicha solicitud despueacutes de que haya pasado por la accioacuten comuacuten apropiada (si existe alguna)

Previo a Shorewall 220 el archivo por omisioacuten etcshorewallpolicy teniacutea las siguientes poliacuteticas

SOURCE ZONE DESTINATION ZONE POLICY LOG LIMITBURST LEVELloc net ACCEPTnet all DROP infoall all REJECT info

Importante

El archivo de poliacuteticas de la versioacuten actual estaacute vaciacuteo Usted puede copiar y pegar las entradas anteriores para crear un punto de partida para luego personalizar sus poliacuteticas

Las poliacuteticas anteriores haraacuten que

1 permitiraacute todas las solicitudes de conexiones desde la red local hacia internet2 descartaraacute (ignoraraacute) todas las solicitudes de conexiones desde internet hacia su firewall o red local y se

registra un mensaje a nivel informativo (info level log vea aquiacute la descripcioacuten de los niveles de registro)3 rechaza todas las solicitudes de conexiones y registra un mensaje a nivel informativo Cuando una solicitud

se rechaza el firewall devuelve un RST (si el protocolo es TCP) o un paquete ICMP de puerto-inalcanzabe para los otros protocolos

En este punto edite su archivo etcshorewallpolicy y haga los cambios que desee

Interfaces de Red

Para el resto de esta guiacutea nos referiremos al siguiente diagrama Si bien puede que no luzca como el de su red puede usarse para ilustrar los aspectos importantes de la configuracioacuten Shorewall

En este diagrama

bull La Zona DMZ consiste de los sistemas DMZ 1 y DMZ 2 Una DMZ se usa para aislar su servidors accesibles desde internet de sus sistemas locales tal que si uno de esos servidores estaacute comprometido auacuten tendraacute el firewall entre el sistema comprometido y sus sistemas en la red local

bull La Zona Local consiste de los sistemas Local 1 Local 2 y Local 3bull Todos los sistemas desde el ISP hacia afuera componen la Zona Internet

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 23: 6927538-Shorewall

La forma maacutes cimple de definir zonas es asociar el nombre de la zona (previamente definida en etcshorewallzones) con una interface de red Esto se hace en el archivo etcshorewallinterfaces El firewall ilustrado arriba tiene tres interfaces de red Donde la conectividad hacia Internet es hecha a traveacutes de un cable Modem o DSL la Interface Externa seraacute un adaptador Ethernet que se ecneuntra conectado al Modem (eg eth0) a menos que conecte usando Point-to-Point Protocol over Ethernet (PPPoE) o Point-to-Point Tunneling Protocol (PPTP) en cuyo caso la Interface Externa seraacute una interface ppp (eg ppp0) Si conecta usando un modem regular su Interface Externa tambieacuten seraacute ppp0 Si conecta usando ISDN su interface externa seraacute ippp0

Si su interface externa es ppp0 o ippp0 entonces desearaacute establecer CLAMPMSS=yes en etcshorewallshorewallconf

Su Interface Local seraacute un adaptador Ethernet (eth0 eth1 o eth2) y conectaraacute a un hub o switch Sus computadores locales estaraacuten conectadas al mismo switch o hub (nota Si tiene un uacutenico sistema local puede conectar directamente el firewall al computador utilizando un cable cruzado)

Su Interface DMZ tambieacuten seraacute un adaptador Ethernet (eth0 eth1 o eth2) y se conectaraacute a un hub o switch Sus computadores DMZ seraacuten conectados al mismo switch o hub (nota Si tiene un uacutenico sistema DMZ puede conectar directamente el firewall al computador usando un cable cruzado)

Precaucioacuten

No conecte la interace interna y externa al mismo hub o switch exceptuando para pruebas Y estaacute corriendo Shorewall 147 o superior Cuando use estas versiones recientes puede probar usando este tipo de configuracioacuten si especifica la opcioacuten arp_filter o la opcioacuten arp_ignore en el archivo etcshorewallinterfaces para todas las interfaces conectadas al mismo hubswitch No se recomienda utilizar tal configuracioacuten con un firewall de produccioacuten

Para el resto de esta guiacutea asumiremos que

bull La Interface Externa es eth0bull La Interface Local es eth1bull La Interface DMZ es eth2

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 24: 6927538-Shorewall

La cinfiguracioacuten Shorewall por omisioacuten no define el contenido de ninguna zona Para definir la configuracioacuten de arriba usando el archivo etcshorewallinterfaces dicho archivo contendriacutea

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectdmz eth2 detect

Note que la zona $FW no tiene una entrada en el archvio etcshorewallinterfaces

Edite el archivo etcshorewallinterfaces y defina las interfaces de red de su firewall asociadas con su zona Si tiene una zona disponible a traveacutes de maacutes de una interface de red simplemente incluya una entrada para cada interface y repita el nombre de zona tantas veces como haga falta con su respectiva interface de red

Ejemplo 1 Muacuteltiples Interfaces hacia una Zona

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect norfc1918loc eth1 detectloc eth2 detect

Usted puede definir zonas maacutes complicadas usando el archivo etcshorewallhosts pero en la mayoriacutea de los casos ello no es necesario Vea Shorewall_and_Aliased_Interfaceshtml y Multiple_Zoneshtml para algunos ejemplos

Direccionamiento Subredes y Enrutamiento

Normalmente su ISP le asignaraacute un conjunto de direcciones IP Puacuteblicas Usted configuraraacute su interface externa de su firewall para que use una de dichas direcciones permanentemente y entonces tendraacute que decidir como usaraacute el resto de sus direcciones Antes de que contestemos esta pregunta es conveniente primero revisar los fundamentos

Si usted estaacute ampliamente familiarizado con el direccionamiento IP y el enrutamiento puede ir directo a la proacutexima seccioacuten

La siguiente discusioacuten revisa someramente el direccionamiento y el enrutamiento IP Si estaacute interesado en aprender maacutes acerca del tema le recomendaos ampliamente ldquoIP Fundamentals What Everyone Needs to Know about Addressing amp Routingrdquo Thomas A Maufer Prentice-Hall 1999 ISBN 0-13-975483-0

Direcciones IP

Las direcciones IP versioacuten 4 (IPv4) son nuacutemeros de 32 -bits La notacioacuten wxyz refiere a una direccioacuten donde el byte de orden superior tiene el valor ldquowrdquo el proacuteximo byte tiene el valor ldquoxrdquo etc Si tomamos la direccioacuten 1920214 y la expresamos en hexadecimal obtenemos

C000020E

o viacuteendolo como un entero de 32-bits

C000020E

Subredes

Usted comenzaraacute a escuchar los teacuterminos ldquored Clase Ardquo ldquored Clase B y red Clase C En los primeros diacuteas de IP las redes veniacutean en tres tamantildeos (existiacutea tambieacuten redes Clase D pero era usada de forma diferente)

Clase A - maacutescara de red 255000 size = 2 24Clase B - maacutescara de red 25525500 size = 2 16

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 25: 6927538-Shorewall

Clase C - maacutescara de red 2552552550 size = 256

La clase de una red era determinada uniacutevocamente por el valor del byte superior de su direccioacuten tal que usted pudiera ver la direccioacuten IP e inmediatamente determinara la maacutescara asociada La maacutescara de red es un nuacutemero que cuando se aplica un Y loacutegico con la direccioacuten separa la direccioacuten de red del resto que es la direccioacuten de host Por ejemplo la direccioacuten Clase C 1920214 la direccioacuten de red es el hexadecimal C00002 y el nuacutemero de host es 0E

En la medida que internet crecioacute se hizo claro que tal particionamiento tan grueso de direcciones de 32-bits iva a ser muy limitante (iexclPreviamente a las grandes corporaciones y universidades le fueron asignadas sus propias redes clase A) Despueacutes de unos arranques en falso la teacutecnica de subredes evolucionoacute al sistema actual de redes maacutes pequentildeas la teacutecnica se le refiere como Classless InterDomain Routing (CIDR) Hoy diacutea cualquier sistema que usted probablemente use entenderaacute CIDR y las redes basadas en clases son ya algo del pasado

Una subred es un conjunto contiguo de direcciones IP tal que

1 La cantidad de direcciones en el conjunto es una potencia de 2 y2 La primera direccioacuten en el conjunto es un muacuteltiplo del tamantildeo del conjunto3 La primera direccioacuten en la subred se reserva y se le refiere como la direccioacuten de subred4 La uacutetima direccioacuten en la subred estaacute reservada como la direccioacuten de difusioacuten(broadcast) de la subred

Como puede ver por definicioacuten en cada subred de tamantildeo n hay (n - 2) direcciones utilizables (direcciones que se pueden asignar a maacutequinas) La primera y uacuteltima direccioacuten en la subred son utilizadas como direccioacuten de la subred y direccioacuten de difusioacuten respectivamente En consecuencia las subredes maacutes pequentildeas desperdician maacutes direcciones IP que las redes maacutes grandes

Ya que n es una potencia de dos faacutecilmente podemos calcular el Logaritmo-Base2 (log2) de n Para los tamantildeos maacutes comunes de subred el tamantildeo y su logaritmos base 2 son dados por la siguiente tabla

Tabla 1 Logaritmos Base-2

n log2 n (32 - log2 n)

8 3 29

16 4 28

32 5 27

64 6 26

128 7 25

256 8 24

512 9 23

1024 10 22

2048 11 21

4096 12 20

8192 13 19

16384 14 18

32768 15 17

65536 16 16

Notaraacute que la tabla arriba tambieacuten contiene una columna parar (32 - log2 n) Este nuacutemero es la Variable Length Subnet Mask (VLSM) para una red de tamantildeo n De la tabla arriba podemos derivar la siguiente que es un poco maacutes faacutecil de usar

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 26: 6927538-Shorewall

Tabla 2 VLSM

Subnet Size VLSM Subnet Mask

8 29 255255255248

16 28 255255255240

32 27 255255255224

64 26 255255255192

128 25 255255255128

256 24 2552552550

512 23 2552552540

1024 22 2552552520

2048 21 2552552480

4096 20 2552552400

8192 19 2552552240

16384 18 2552551920

32768 17 2552551280

65536 16 25525500

2 24 8 255000

Note que la VLSM se escribe con barra (ldquordquo) -- a menudo escucharaacute de una subred de tamantildeo 64 referida como una subred ldquobarra 26rdquo y una de tamantildeo 8 referida como de ldquobarra 29rdquo

La maacutescara de subred es simplemente un nuacutemero de 32 bits con los primeros ldquoVLSMrdquo bits puestos a uno y los remanentes bits puestos a cero Por ejemplo para una subred de tamantildeo 64 la maacutescara de subred tiene los primeros 26 bits en uno

11111111111111111111111111000000 = FFFFFFC0 = FFFFFFC0 = 255255255192

La maacutescara de subred tiene la propiedad de que si se hace un Y loacutegico con una direccioacuten en la subred el resultado es la direccioacuten de la subred Igual de importante si hace un Y loacutegico de la maacutescara de subre con una direccioacuten fuera de la subred el resultado NO es la direccioacuten de la subred Como ya veremos esta propiedad de la maacutescara de subred es muy uacutetil para el enrutamiento

Para una subred cuya direccioacuten es abcd y cuyo Variable Length Subnet Mask es v denotamos la subred como ldquoabcdvrdquo usando Notacioacuten CIDR Ejemplo

Tabla 3 Subred

Subred 1010100 - 101010127

Tamantildeo Subred 128

Direccioacuten Subred 1010100

Direccioacuten Difusioacuten 101010127

Notacioacuten CIDR 101010025

Existen dos subredes degeneradas que merecen ser nombradas la subred con un miembro y la subre con 2 32 miembros

Tabla 4 32 y 0

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 27: 6927538-Shorewall

Tamantildeo Subred Longitud VLSM Maacutescara Subred Notacioacuten CIDR

1 32 255255255255 abcd32

32 0 0000 00000

Asi que cualquier direccioacuten abcd puede tambieacuten ser escrita como abcd32 y el conjunto de todas las direcciones IP posibles como 00000

Un usuario Shorewall contribuyoacute con este uacutetil resumen graacutefico de la informacioacuten anterior

Maacutes adelante en esta guiacutea veremos usada la notacioacuten abcdv para describir la configuracioacuten de una interface de red (el utilitario ldquoiprdquo tambieacuten usa esta sintaacutexis) Esto simplemente significa que la interface estaacute configurada con la direccioacuten ip abcd y con la maacutescara de red que corresponde a VLSM v

Ejemplo 2 192026529

La interface estaacute configurada con la direccioacuten IP 1920265 y la maacutescara de red 255255255248

A partir de Shorewall 146 sbinshorewall soportar el comando ipcalc que automaacuteticamente calcula la informacioacuten acerca de la [sub]red

Ejemplo 3 Uso del comando ipcalc

shorewall ipcalc 101010025 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Ejemplo 4 Uso del comando ipcalc

shorewall ipcalc 1010100 255255255128 CIDR=101010025 NETMASK=255255255128 NETWORK=1010100 BROADCAST=101010127

Enrutamiento

Uno de los propoacutesitos de las subredes es que eacuteste conforma las bases para el enrutamiento Aquiacute se muestra una tabla de enrutamiento en un firewall

[rootgateway root] netstat -nrKernel IP routing tableDestination Gateway Genmask Flgs MSS Win irtt Iface19216891 0000 255255255255 UH 40 0 0 texas206124146177 0000 255255255255 UH 40 0 0 eth1206124146180 0000 255255255255 UH 40 0 0 eth319216830 0000 2552552550 U 40 0 0 eth319216820 0000 2552552550 U 40 0 0 eth119216810 0000 2552552550 U 40 0 0 eth22061241460 0000 2552552550 U 40 0 0 eth019216890 19202223 2552552550 UG 40 0 0 texas127000 0000 255000 U 40 0 0 lo

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 28: 6927538-Shorewall

0000 206124146254 0000 UG 40 0 0 eth0[rootgateway root]

El dispositivo texas es un tunel GRE con un sitio similar en Dallas Texas

Las tres primeras rutas son rutas host ya que indican coacutemo llegar a una uacutenica maacutequina En la salida de ldquonetstatrdquo esto puede verse en por la ldquoGenmaskrdquo (Maacutescara de Subred) de 255255255255 y la ldquoHrdquo en la columna Flags Las restantes son rutas de redrdquo ya que le dicen al kernel coacutemo enrutar los paquetes hacia subredes completas La uacuteltima ruta se conoce como ruta por omisioacuten y la pasarela mencionada en la ruta es denominado el default gateway

Cuando el kernel intenta enviar un paquete a la direccioacuten IP A comienza por el tope de la tabla de enrutamiento y

bull A se hace Y loacutegico con el valor de la ldquoGenmaskrdquo en la entrada de la tablabull El resultado se compara con el valor ldquoDestinationrdquo en la entrada de la tablabull Si el resultado y el valor ldquoDestinationrdquo son iguales entonces

o Si la columna ldquoGatewayrdquo no es cero el paquete es enviada al gateway por medio de la interface definida en la columna ldquoIfacerdquo

o De otra forma el paquete es enviado directamente a A por medio de la interface nombrada en la columna ldquoifacerdquo

bull De otra forma los pasos anteriores se repiten para la proacutexima entrada en la tabla

Ya que la ruta por omisioacuten coincide con cualquier direccioacuten IP (A LAND 0000 = 0000) los paquetes que no coincidan con ninguna otra ruta en las entradas de la tabla seraacuten enviados al default gateway que usualmente es un enrutador de su ISP Tomemos un ejemplo Suponga que deseamos enrutar un paquete a 19216815 Esta direccioacuten claramente no coincide con ninguna de las rutas host en la tabla pero si hacemos un Y loacutegico con 2552552550 el resultado es 19216810 que coincide con la siguiente entrada de la tabla de enrutamiento

19216810 0000 2552552550 U 40 0 0 eth2

Asiacute que para enruta un paquete hacia 19216815 el paquete se enviacutea directmente por medio de eth2

Se debe enfatizar una cosa maacutes todos los paquetes salientes son enviados usando la tabla de enrutamiento y los paquetes respuesta no son un caso especial Esto parece ser un error comuacuten de concepcioacuten donde las personas piensan que los paquetes de solicitud son como el salmoacuten y contiene coacutedigo geneacutetico que se transfiere maacutegicamente hacia los paquetes respuesta ta que las respuestas siguen la ruta reversa tomada por la solicitud Esto no es el caso las respuestas pueden tomar una ruta totalmente diferente de vuelta hacia el cliente a la que tomoacute la solicitud ellas son totalmente independientes

Address Resolution Protocol (ARP)

Cuando se enviacutean paquetes sobre Ethernet las direcciones IP no se usan En cambio se usa el direccionamiento Ethernet basado direcciones Media Access Control (MAC) Cada dispositivo Ethernet posee su propia y uacutenica direccioacuten MAC quemada en una PROM en el dispositivo durante su fabricacioacuten Usted puede obtener la MAC de un dispositivo Ethernet usando el utilitario ldquoiprdquo

[rootgateway root] ip addr show eth02 eth0 ltBROADCASTMULTICASTUPgt mtu 1500 qdisc htb qlen 100linkether 020008e3fa55 brd ffffffffffffinet 20612414617624 brd 206124146255 scope global eth0inet 20612414617824 brd 206124146255 scope global secondary eth0inet 20612414617924 brd 206124146255 scope global secondary eth0[rootgateway root]

Como puede ver de la salida del comando anterior la MAC es de 6 bytes (48 bits) La MAC de una tarjeta usualmente tambieacuten viene impresa en su superficie en una etiqueta Ya que IP usa direcciones IP y Ethernet usa

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 29: 6927538-Shorewall

direcciones MAC se requiere de un mecanismo para traducir una direccioacuten IP a una direccioacuten MAC este es el propoacutesito del Address Resolution Protocol (ARP) Aquiacute vemos ARP en accioacuten

[rootgateway root] tcpdump -nei eth2 arptcpdump listening on eth2095649766757 208e34c48 0625aa8af0 arp 42 arp who-has 192168119 tell 1921681254095649769372 0625aa8af0 208e34c48 arp 60 arp reply 192168119 is-at 0625aa8af0

2 packets received by filter0 packets dropped by kernel[rootgateway root]

En este intercambio 1921681254 (MAC 208e34c48) desea conocer la MAC del dispositivo con la direccioacuten IP 192168119 El sistema que tiene la direccioacuten IP responde que la direccioacuten MAC del dispositivo con la direccioacuten IP 192168119 es 0625aa8af0

Con la finalidad de evitar el intercambio constante ARP cada vez que un paquete IP se enviacutea los sistemas mantienen un cache ARP de correspondencias IPlt-gtMAC Usted puede ver el cache ARP en su sistema (incluyendo su sistema Windows) usando el comando ldquoarprdquo

[rootgateway root] arp -na (206124146177) at 00A0C9153978 [ether] on eth1 (19216813) at 00A0CC636689 [ether] on eth2 (19216815) at 00A0CCDB31C4 [ether] on eth2 (206124146254) at 00036C8A1838 [ether] on eth0 (192168119) at 000625AA8AF0 [ether] on eth2

El siacutembolo al inicio de la salida son el resultado de haber especificado la opcioacutenn (el ldquoarprdquo de Windows no soporta esta opcioacuten) que provoca que el programa ldquoarprdquo evita la traduccioacuten de nombres IP-gtDNS Si no hubiera especificado esta opcioacuten los siacutembolos hubiesen sido remplazados con sus correspondientes FQDN a cada direccioacuten IP Note que la uacuteltima entrada enla tabla registra la informacioacuten que vimos usando tcpdump arriba

RFC 1918

Las direcciones IP son asignadas por la Internet Assigned Number Authority (IANA) quien delega a su vez las asignaciones de acuerdo a las zonas geograacuteficas a los Regional Internet Registries (RIRs) Por ejemplo las asignaciones para las Americas y para el Africa sub-Sahara Africa se delega al American Registry for Internet Numbers (ARIN) Estos RIRs pueden a su vez delegar a registros nacionales La mayoriacutea de nosotros no lidiamos con estos registros sino que obtenemos nuestras direcciones IP a partir de nuestros ISP Es un hecho que la mayoriacutea de nosotros no podemos justificar tener tantas IPs como dispositivos tenemos asiacute que terminamos usando direcciones IP Privadas El RFC 1918 reserva varios rangos IP para este propoacutesito

10000 - 102552552551721600 - 1723125525519216800 - 192168255255

Las direcciones reservadas por el RFC 1918 son a veces referidas como no ruteables debido a que los enrutadores en Internet no renviacutean los paquetes que tienen destinos direcciones IP del RFC 1918 Esto se entiende ya que cualquiera puede seleccionar cualquiera de estas direcciones para su uso privado pero el teacutermino no ruteable es algo desafortunado porque hace pensar erroacuteneamente a las personas que dichas direcciones no pueden ser enviadas por medio de enrutadores Esto definitivamente no es cierto los enrutadores privados (incluyendo su firewall basado en Shorewall) pueden enviar usando direcciones RFC 1918 igual de bien que con cualquier otra direccioacuten

Cuando seleccione direcciones de estos rangos hay un par de cosas a mantener en mente

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 30: 6927538-Shorewall

bull En la medida que el espacio IPv4 se agota maacutes y maacutes organizaciones (incluyendo ISPs) estaacuten comenzando a usar direcciones RFC 1918 en sus infraestructuras

bull Usted no quiere usar direcciones que este en uso en su ISP o por cualquier otra organizacioacuten con la cual desee establecer una relacioacuten VPN

Asiacute que es buena idea verificar con su ISP para ver si estaacuten usando (o planeando usar) direcciones privadas antes de decidir las direcciones que usaraacute

Alerta

En este documento direcciones IP externas reales son de la forma 19202x 19202024 estaacute reservada por el RFC 3330 para el uso como direcciones IP puacuteblicas en ejemplos impresos y redes de prueba Estas direcciones reales no deben confundirse con las direcciones en 1921680016 como se describen arriba dichas direcciones se reservan en el RFC 1918 para uso privado

Configuracioacuten De Su Red

La escogencia de coacutemo configurar su red depende primariamente de cuaacutentas direcciones IP Puacuteblicas tenga vs cuaacutentos dispositivos direecionables tiene en su red Independientemente de cuaacutentas direcciones tenga su ISP manejaraacute ese conjunto de direcciones en una de dos maneras

bull Enrutando - El traacutefico hacia cualquiera de sus direcciones seraacute enrutado por medio un uacutenico gateway Esto generalmente ocurre si su ISP le ha asignado una subred compelta (29 o mayor) En este caso usted asginaraacute la direccioacuten del gateway como la direccioacuten IP de la interface externa de su routerfirewall

bull No enrutando - Su ISP enviaraacute el traacutefico directamente a cada una de sus direcciones directamente

En las siguientes secciones veremos estos escenarios por separado

Antes de comenzar hay algo que tenemos que verificar

Si esta usando el paquete Debian verifique su archivo shorewallconf para asegurarse que lo siguiente esta configurado correctamente si no es asiacute corrija adecuadamente

bull NAT_ENABLED=Yes (versiones Shorewall previas a 146)bull IP_FORWARDING=On

Enrutando

Asumamos que su ISP le ha asignado la subred 192026428 enrutada por medio de 1920265 Esto significa que tiene las direcciones IP 1920264 a 1920279 y que la interface externa de su firewall tiene la IP 1920265 Su ISP tambieacuten le ha dicho que debe usar la maacutescara de red 2552552550 (asi que su 28 es parte de una mayor 24) Con esta cantidad de direcciones IP usted estaacute en la capacidad de hacer subredes de su 28 en dos subredes 29 y configurar su red como su muestra en el siguiente diagrama

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 31: 6927538-Shorewall

Aquiacute la DMZ estaacute compuesta de la subred 192026429 y la red Local de la red 192027229 El default gateway para las maacutequinas en la DMZ seraacute configurado a 1920266 y el default gateway para las maacutequinas en la red local seraacute 1920273

Note que este diagrama desperdicia muchas direcciones IP ya que estaacute usando 1920264 y 1920272 como direcciones de subred 1920271 y 1920279 como direcciones de difusioacuten de las subredes y 1920266 y 1680273 como direcciones internas del firewallrouter Auacuten asiacute muestra cmo funciona el hacer subredes y si estvieacuteramos lidiando con una red 24 en vez de una red 28 el uso de 6 direcciones IP de 256 estariacutea justificado soacutelo por la simplicidad de la configuracioacuten

El lector astuto notaraacute que la interface externa del FirewallRouter es de hecho parte de la subred DMZ (192026429) iquestQueacute pasa si DMZ 1 (1920267) intenta comunicarse con 1920265 La tabla de enrutamiento de DMZ 1 luciriacutea asiacute

Kernel IP routing tableDestination Gateway Genmask Flags MSS Window irtt Iface1920264 0000 255255255248 U 40 0 0 eth00000 1920266 0000 UG 40 0 0 eth0

Esto significa que DMZ 1 enviaraacute una solicitud ARP ldquoquien-tiene 1920265rdquo y ninguacuten dispositivo en el segmento Ethernet DMZ tiene esa direccioacuten IP iexclAuacuten asiacute el firewall responderaacute a la solicitud con la direccioacuten MAC de su Interface DMX DMZ 1 puede entonces enviar tramas Ethernet a esa direccioacuten MAC y seraacuten recibidos (correctamente) por el firewallrouter

Es este inesperado comportamiento ARP en la parte del Kernel Linux que provoca la alerta anterior en esta guiacutea acerca de la conexioacuten de muacuteltiples interfaces del firewallrouter al mismo hubswitch Cuando una solicitud ARP para una de las direcciones IP del firewallrouter es enviada por cualquier de los sistemas conectados al hubswitch todas las interfaces que conectan al hubswitch pueden responder Es entonces una carrera de cuaacutel respuesta aquiacute-es llega primero a quien enviacuteo la solicitud ARP

No enrutando

Si tiene la situacioacuten anterior pero no es enrutando puede configurar su red exactamente igual que arriba pero con una vuelta adicional de tuerca simplemente especifique la opcioacuten proxyarp en las tres interfaces del firewall en el archivo etcshorewallinterfaces

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 32: 6927538-Shorewall

La mayoriacutea no tenemos el lujo de tener suficientes direcciones IP puacuteblicas para configurar sus redes como se comentoacute en el ejemplo anterior (incluso si la configuracioacuten en enrutando)

Para el resto de esta seccioacuten asuma que su ISP le ha asignado las direcciones IP 19202176-180 y se le ha dicho que use la maacutescara de red 2552552550 y el default gateway 19202254

Claramente este conjunto de direcciones no constituyen una subred y no hay suficientes direcciones para todas las interfaces de red Hay cuatro teacutecnicas que se pueden usar para resolver esta situacioacuten

bull Source Network Address Translation (SNAT)bull Destination Network Address Translation (DNAT) tambieacuten conocido como Port Forwardingbull Proxy ARPbull Network Address Translation (NAT) tambieacuten conocido como NAT uno-a-uno

A menudo una combinacioacuten de estas teacutecnicas pueden usarse efectivamente Cada una de ellas seraacuten discutidas por separado en las siguientes secciones

SNAT

Con SNAT un segmento interno LAN se configura usando direcciones RCF 1918 Cuando una maacutequina A en este segmento interno inicia una conexioacuten a una maacutequina B en internet el firewallrouter rescribe el encabezado IP en la solicitud para usar una de las direcciones IP puacuteblicas como direccioacuten de origen Cuando B responde y la respuesta es recibida en el firewall el firewall cambia la direccioacuten destino de vuelta a la direccioacuten RFC 1918 de A y enviacutea la respuesta de vuelta a A

Supongamos que deciden usar SNAT en su zona local y usar la direccioacuten puacuteblica 19202176 tanto como direccioacuten externa IP del firewall como direccioacuten origen para las solicitudes salientes de dicha zona local

La zona local ha sido dividida en subredes como 192168201029 (maacutescara de red 255255255248)

El sistema en la zona local seriacutea configurado con el default gateway 1921682011 (la direccioacuten IP de la interface local del firewall)SNAT se configura en Shorewall usando el archivo etcshorewallmasq INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Este ejemplo usa la teacutecnica normal de asignar la misma direccioacuten IP puacuteblica para la interface externa del firewall y para el SNAT Si desea usar una direccioacuten IP puacuteblica diferente usted tendriacutea que usar las herramientas de

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 33: 6927538-Shorewall

configuracioacuten de su distribucioacuten Linux para agregar dicha direccioacuten IP a la interface externa o puede poner ADD_SNAT_ALIASES=Yes en etcshorewallshorewallconf y Shorewall agregaraacute la direccioacuten por usted

DNAT

Cuando se usa SNAT es imposible para las maacutequinas en Internet iniciar una conexioacuten con otra maacutequina de los sistemas locales ya que dichos sistemas no tienen direcciones IP Puacuteblicas DNAT provee una forma de permitir conexiones selectivas desde internet

Suponga que su hija desea correr un servidor web en su sistema local Local 3rdquo Usted pudiera permitir conexiones desde internet hacia su servidor agregando la siguiente entrada en etcshorewallrules

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTDNAT net loc1921682014 tcp www

Si alguna de las amigas de su hija en la direccioacuten A desea acceder al servidor de su hija ella puede conectar a http19202176 (la direccioacuten IP externa del firewall) y el firewall rescribiraacute la direccioacuten IP destino a 1921682014 (el sistema de su hija) y enviacutea la solicitud Cuando el servidor de su hija responde el firewall rescribiraacute la direccioacuten origen de vuelta a 19202176 y enviacutea la respuesta de vuelta hacia a A

Este ejemplo usa la direccioacuten IP externa del firewall para hacer el DNAT Usted puede usar otra direccioacuten de sus direcciones IP puacuteblicas (coloacutequela en la columna ORIGINAL DEST en la regla anterior arriba) pero Shorewall no agregaraacute esa direccioacuten a la interface externa del firewall por usted

Importante

Cuando pruebe reglas DNAT como la anterior usted debe probar desde un cliente EXTERNO A SU FIREWALL (en la zona net) iexclUsted no puede probar dichas reglas desde las redes internas al firewall

Para tips de resolucioacuten de problemas DNAT For DNAT vea los FAQ 1a y 1b

Proxy ARP

La idea detraacutes de Proxy ARP es

bull Una maacutequina H detraacutes de su firewall se le asigna una de las direcciones IP puacuteblicas (A) y se le asigna la misma maacutescara de red (M) a la de la interface externa del firewall

bull El firewall responde las solicitudes ARP quien tiene para A de maacutequinas fuera del firewallbull Cuando H enviacutea una solicitud ARP ldquoquien tienerdquo por una maacutequina con una direccioacuten en la red definida por

M donde la maacutequina destino estaacute afuera del firewall el firewall responderaacute a H (con la MAC de la interface del firewall a la cual esteacute conectada H)

Para una descricpioacuten maacutes completa de coacutemo funciona Proxy ARP vea la Documentacioacuten Shorewall Proxy

Supongamos qeu decidimos usar Proxy ARP en la DMZ en nuestra red ejemplo

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 34: 6927538-Shorewall

Aquiacute hemos asignado la direccion IP 19202177 al sistema DMZ 1 y 19202178 a DMZ 2 Note que hemos asignado una direccioacuten IP arbitraria RFC 1918 y una maacutescara de red a la interface DMZ del firewall Esta direccioacuten y maacutescara de red no son relevantes soacutelo aseguacuterese de no solapar otra subred que haya definido

La configuracioacuten Shorewall de Proxy ARP se hace usando el archivo etcshorewallproxyarp

ADDRESS INTERFACE EXTERNAL HAVE ROUTE PERSISTANT19202177 eth2 eth0 No19202178 eth2 eth0 No

Ya que la columna HAVE ROUTE contiene No Shorewall agregaraacute rutas de host a traveacutes de eth2 hacia 19202177 y 19202178 Las interfaces ethernet en DMZ 1 y DMZ 2 deberiacutean ser configuradas para tener las direcciones IP que se muestran pero deberiacutean tener el mismo default gateway que el propio firewall -- a saber 19202254 En otras palabras ellos deberiacutean configurar tal como si estuvieran en paralelo con el firewall en vez de detraacutes de eacutel

Precaucioacuten

No agregue direcciones con Proxy ARP (19202177 y 19202178 en el ejemplo arriba) a la interface externa del firewall (eth0 en nuestro ejemplo)

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 35: 6927538-Shorewall

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

NAT uno-a-uno

Con NAT uno-a-uno usted asigna direcciones RFC 1918 a los sistemas locales y luego establece un mapa uno-a-uno entre estas direcciones y las direcciones IP puacuteblicas Para las conexiones salientes ocurre SNAT (Source Network Address Translation) y para las conexiones entrantes ocurre DNAT (Destination Network Address Translation) Volvamos sobre nuestro ejemplo que involucra el servidor web de su hija en el sistema Local 3

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 36: 6927538-Shorewall

Recuerde que en esta configuracioacuten la red local estaacute usando SNAT y estaacute compartiendo la direccioacuten IP de la interface externa del firewall (19202176) para las conexiones salientes Esto se hace con la siguiente entrada en etcshorewallmasq

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

Suponga ahora que ha decidido darle a su hija su propia direccioacuten IP (19202179) tanto para las conexiones entrantes como salientes Usted hariacutea eso agregando una entrada en etcshorewallnat

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

Con esta entrada su hija tiene su propia direccioacuten IP y los otros dos sistemas locales comparten la direccioacuten IP del firewall

Una vez que la relacioacuten entre 19202179 y 1921682014 se ha establecido por el archivo nat anterior ya no es apropiado usar la regla DNAT para el servidor web de su hija en cambio soacutelo use un regla ACCEPT

ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL PORT(S) PORT(S) DESTACCEPT net loc1921682014 tcp www

Unas palabras de alerta vienen al caso aquiacute los ISPs configuran sus enrutadores con un cache ARP con tiempos de vida muy largos Si mueve un sistema paralelo a detraacutes de su firewall con Proxy ARP probablemente pasaraacuten HORAS antes que el sistema puede comunicarse con internet Hay un par de cosas que puede intentar

1 (Cortesiacutea de Bradey Honsinger) La lectura del Stevens TCPIP Illustrated Vol 1 revela que

paquetes ARP ldquoinnecesariosrdquo deberiacutean provocar que el enrutador del ISP refresque su cache ARP (seccioacuten 47) Un ARP innecesario (gratuituos) es simplemente una maacutequina solicitando la direccioacuten MAC de su propia IP ademaacutes para asegurar que la direccioacuten no estaacute duplicada en el segmento

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 37: 6927538-Shorewall

ldquosi la maacutequina que enviacutea ARP innecesario ha recien cambiado su direccioacuten de hardware este paquete provoca que cualqueir otra maacutequina que tenga una entrada en su cache para la direccioacuten antigua actualice su entrada ARP en el cache con la nueva direccioacutenrdquo

Que en turno es exactamente lo que usted quiere hacer cuado cambia una maacutequina de estar expuesta a Internet a estar detraacutes del Shorewall usando Proxy ARP (o NAT uno-a-uno) Felizmente las versiones maacutes recientes del paquete iputils de RedHat incluyen ldquoarpingrdquo cuya bandera ldquo-Urdquo hace exactamente eso

arping -U -I ltnet ifgt ltnewly proxied IPgt

arping -U -I eth0 66589983 for example

Stevens continua y menciona que no todos los sistemas responden adecuadamente a los ARP innecesarios (gratuituos) pero googleando con arping -U al parecer apunta al soporte de que esta idea funciona la mayoriacutea de las veces

2 Puede llamar a su ISP y pedir que purguen la vieja entrada ARP del cache pero muchos de ellos ni siquiera pueden o quieren purgar entradas individuales

Usted puede determinar si el cache ARP del gateway de su ISP estaacute estancado usando ping y tcpdump Suponga que sospecha que el enrutador que funge de gateway tiene una entrada cache ARP estancada para 19202177 En el firewall corra tcpdump asiacute

tcpdump -nei eth0 icmp

Ahora desde 19202177 haga ping hacia el gateway del ISP (que asumimos es 19202254)

ping 19202254

Podemos ahora observar de la salida de tcpdump

133512159321 04e2202033 007795dd19 ip 98 19202177 gt 19202254 icmp echo request (DF)133512207615 007795dd19 0c0a850b257 ip 98 19202254 gt 19202177 icmp echo reply

Note que la direccioacuten origen MAC en la solicitud echo es diferente a la direccioacuten destino MAC en la respuesta al echo En este caso 04e2202033 era la MAC del NIC eth0 del firewall mientras 0c0a850b257 era la direccioacuten MAC de DMZ 1 En otras palabras el cache ARP del gateway auacuten asocia 19202177 con la NIC en la NIC de DMZ 1 en ez de la de eth0 del fiewall

Reglas

Nota

Shorewall tiene una facilidad de macro que incluye macros para muchas aplicaciones estandar Esta seccioacuten no usa dichos macros sino que define las reglas directamente

Con las poliacuteticas por omisioacuten descritas previamente en este documento su sistemas locales (Local 1-3) pueden acceder a cualquier servidor en internet y la DMZ no puede acceder ninguna maacutequina (incluyendo al firewall) Con las reglas de excepcioacuten para DNAT que hacen que se traduzcan las direcciones y permitir la solicitud de conexioacuten traducida para que atraviese el firewall la forma de permitir solicitudes de conexiones a traveacutes de su firewall es usar reglas ACCEPT

Nota

Ya que las columnas SOURCE PORT(S) y ORIG DEST no se usan en esta seccioacuten no se mostraraacuten

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 38: 6927538-Shorewall

Usted probablemente querraacute hacer ping entre sus zonas

ACTION SOURCE DEST PROTO DEST PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-requestACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-request

Supoacutengase que usted corre servidores de correo y pop3 en DMZ 2 y un servidor Web en DMZ 1 Las reglas que necesitariacutea son

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local Network

Si usted corre un servidor DNS puacuteblico en 19202177 necesitariacutea agregar las siguientes reglas

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the Internet

Probablemente desearaacute comunicarse con su firewall y con los sistemas DMZ desde la red local se recomienda SSH que por medio del utilitario scp tambieacuten puede realizar tareas de publicacioacuten y de actualizacioacuten de software

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 39: 6927538-Shorewall

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

Peculiaridades y Fines

La discusioacuten anterior refleja nuestras preferencias por el uso de Proxy ARP para nuestros servidores en la DMZ y SNATNAT para los sistemas locales Preferimos usar NAT soacutelo en casos donde un sistema que es parte de una subred RFC 1918 necesita tener su propia direccion IP puacuteblica

Si no lo ha hecho auacuten es buena idea que revise su etcshorewallshorewallconf soacutelo para ver si hay algo de su interes Tambieacuten puede qeu desee ver los otros archivos de configuracioacuten que no ha tocado auacuten para tener una idea para queacute otras cosas puede usarse Shorewall

En caso de que no haya mantenido nota aquiacute se encuentra el conjunto final de los archivos de configuracioacuten para nuestra red ejemplo Soacutelo aquellos archivos que fueron modificados de su instalacioacuten original se muestran aquiacute

etcshorewallinterfaces (Las ldquoopcionesrdquo seraacuten muy especiacuteficas al sitio)

ZONE INTERFACE BROADCAST OPTIONSnet eth0 detect rfc1918routefilterloc eth1 detectdmz eth2 detect

La configuracioacuten descrita requiere que sus interfaces de red se levanten antes de que Shorewall pueda ser iniciado Esto abre una pequentildea ventana de tiempo durante la cual no tiene proteccioacuten de firewall Si remplaza ldquodetectrdquo con las direcciones reales de difusioacuten (broadcast) en las entradas anteriores usted podraacute levantar Shorewall antes de levantar las interfaces de red

ZONE INTERFACE BROADCAST OPTIONSnet eth0 19202255 rfc1918loc eth1 1921682017dmz eth2 1921682027

etcshorewallmasq - Subred Local

INTERFACE SUBNET ADDRESSeth0 192168201029 19202176

etcshorewallproxyarp - DMZ

ADDRESS EXTERNAL INTERFACE HAVE ROUTE19202177 eth2 eth0 No19202178 eth2 eth0 No

etcshorewallnat- Sistema de mi hija

EXTERNAL INTERFACE INTERNAL ALL INTERFACES LOCAL19202179 eth0 1921682014 No No

etcshorewallrules

ACTION SOURCE DEST PROTO DEST COMMENTS PORT(S)ACCEPT net dmz icmp echo-requestACCEPT net loc icmp echo-request

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 40: 6927538-Shorewall

ACCEPT dmz loc icmp echo-requestACCEPT loc dmz icmp echo-requestACCEPT net loc1921682014 tcp www Daughters ServerACCEPT net dmz19202178 tcp smtp Mail from InternetACCEPT net dmz19202178 tcp pop3 Pop3 from InternetACCEPT loc dmz19202178 tcp smtp Mail from local NetworkACCEPT loc dmz19202178 tcp pop3 Pop3 from local NetworkACCEPT $FW dmz19202178 tcp smtp Mail from the FirewallACCEPT dmz19202178 net tcp smtp Mail to the InternetACCEPT net dmz19202177 tcp http WWW from InternetACCEPT net dmz19202177 tcp https Secure WWW from InternetACCEPT loc dmz19202177 tcp https Secure WWW from local NetworkACCEPT net dmz19202177 udp domain UDP DNS from InternetACCEPT net dmz19202177 tcp domain TCP DNS from InternetACCEPT loc dmz19202177 udp domain UDP DNS from Local NetworkACCEPT loc dmz19202177 tcp domain TCP DNS from Local NetworkACCEPT $FW dmz19202177 udp domain UDP DNS from the FirewallACCEPT $FW dmz19202177 tcp domain TCP DNS from the FirewallACCEPT dmz19202177 net udp domain UDP DNS to the InternetACCEPT dmz19202177 net tcp domain TCPP DNS to the InternetACCEPT loc dmz tcp ssh SSH to the DMZACCEPT net $FW tcp ssh SSH to the Firewall

DNS

Dado el conjunto RFC 1918 y las direcciones puacuteblicas en esta configuracioacuten soacutelo tiene sentido tener servidores DNS separados interno y externo Usted puede combinar los dos en un uacutenico servidor BIND 9 usando Vistas (Views) Si no estaacute interesado en vistas de Bind 9 puede salta hasta la proacutexima seccioacuten

Suponga que su dominio es foobarnet y quiere que dos sistemas DMZ se llamen wwwfoobarnet y mailfoobarnet y quiere que los tres sistemas locales se llamen winkenfoobarnet blinkenfoobarnet y nodfoobarnet Usted quiere que su firewall sea conocido como firewallfoobarnet externamente y su interface local que sea conocida comos gatewayfoobarnet y su interface a la dmz como dmzfoobarnet Hagamos que el servidor DNS esteacute en 19202177 que a su vez seraacute conocido por el nombre ns1foobarnet

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 41: 6927538-Shorewall

El archivo etcnamedconf luciriacutea asiacute

options directory varnamed listen-on 127001 19202177 transfer-format many-answers max-transfer-time-in 60

allow-transfer Servers allowed to request zone tranfers ltsecondary NS IPgt

logging channel xfer-log file varlognamedbind-xferlog print-category yes print-severity yes print-time yes severity info

category xfer-in xfer-log category xfer-out xfer-log category notify xfer-log

This is the view presented to our internal systems

view internal These are the clients that see this view match-clients 192168201029 192168202029 1270008 1920217632 1920217832 1920217932 1920218032 If this server cant complete the request it should use outside servers to do so recursion yes

zone in type hint file introotcache

zone foobarnet in type master notify no

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 42: 6927538-Shorewall

allow-update none file intdbfoobar

zone 00127in-addrarpa in type master notify no allow-update none file intdb12700

zone 201168192in-addrarpa in type master notify no allow-update none file intdb192168201

zone 202168192in-addrarpa in type master notify no allow-update none file intdb192168202

zone 17620192in-addrarpa in type master notify no allow-update none file db19202176 zone 17720192in-addrarpa in type master notify no allow-update none file db19202177

zone 17820192in-addrarpa in type master notify no allow-update none file db19202178

zone 17920192in-addrarpa in type master notify no allow-update none file db206124146179

This is the view that we present to the outside world

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 43: 6927538-Shorewall

view external match-clients any If we cant answer the query we tell the client so recursion no

zone foobarnet in type master notify yes allow-update none file extdbfoobar

zone 17620192in-addrarpa in type master notify yes allow-update none file db19202176

zone 17720192in-addrarpa in type master notify yes allow-update none file db19202177

zone 17820192in-addrarpa in type master notify yes allow-update none file db19202178

zone 17920192in-addrarpa in type master notify yes allow-update none file db19202179

Aquiacute se encuentra los archivos en varnamed (aquellos que no se muestran usualmente estaacuten incluidos en su distribucioacuten de bind)

db19202176 - Esta es la zona reversa para la interface externa del firewall

Start of Authority (Inverse Address Arpa) for 1920217632 Filename db19202176 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour)

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 44: 6927538-Shorewall

3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17620192in-addrarpa 86400 IN PTR firewallfoobarnet

db19202177 - Zona reversa para el servidor www

Start of Authority (Inverse Address Arpa) for 1920217732 Filename db19202177 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17720192in-addrarpa 86400 IN PTR wwwfoobarnet

db19202178 - Zona reversa para el servidor de correo

Start of Authority (Inverse Address Arpa) for 1920217832 Filename db19202178 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 45: 6927538-Shorewall

Iverse Address Arpa Records (PTRs) 17820192in-addrarpa 86400 IN PTR mailfoobarnet

db19202179 - Zona reversa para el servidor puacuteblico web de mi hija

Start of Authority (Inverse Address Arpa) for 1920217932 Filename db19202179 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001102303 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet 604800 IN NS ltname of secondary nsgt Iverse Address Arpa Records (PTRs) 17920192in-addrarpa 86400 IN PTR nodfoobarnet

intdb12700 - Zona revers para localhost

Start of Authority (Inverse Address Arpa) for 1270008 Filename db12700 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2001092901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR localhostfoobarnet

intdb192168201 - Zona reversa para la red local Esta soacutelo se muestra a los clientes internos

Start of Authority (Inverse Address Arpa) for 192168201029 Filename db192168201

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 46: 6927538-Shorewall

604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet Iverse Address Arpa Records (PTRs) 1 86400 IN PTR gatewayfoobarnet2 86400 IN PTR winkenfoobarnet3 86400 IN PTR blinkenfoobarnet4 86400 IN PTR nodfoobarnet

intdb192168202 - Zona reversa para la interface DMZ del firewall

Start of Authority (Inverse Address Arpa) for 192168202029 Filename db192168202 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002032501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day)

Specify Name Servers for all Reverse Lookups (IN-ADDRARPA) 604800 IN NS ns1foobarnet

Iverse Address Arpa Records (PTRs) 1 86400 IN PTR dmzfoobarnet

intdbfoobar - Zona para los clientes internos

Start of Authority for foobarnet Filename dbfoobar 604800 IN SOA ns1foobarnet netadminfoobarnet ( 2002071501 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) foobarnet Nameserver Records (NS)

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 47: 6927538-Shorewall

604800 IN NS ns1foobarnet

Foobarnet Office Records (ADDRESS)localhost 86400 IN A 127001

firewall 86400 IN A 19202176www 86400 IN A 19202177ns1 86400 IN A 19202177mail 86400 IN A 19202178

gateway 86400 IN A 1921682011winken 86400 IN A 1921682012blinken 86400 IN A 1921682013nod 86400 IN A 1921682014

dmz 86400 IN A 1921682021

extdbfoobar - Zona para los clientes externos

Start of Authority for foobarnet Filename dbfoobar 86400 IN SOA ns1foobarnet netadminfoobarnet ( 2002052901 serial 10800 refresh (3 hour) 3600 retry (1 hour) 604800 expire (7 days) 86400 ) minimum (1 day) Foobarnet Nameserver Records (NS) 86400 IN NS ns1foobarnet 86400 IN NS ltsecondary NSgt Foobarnet Foobar Wa Office Records (ADDRESS)localhost 86400 IN A 127001 The firewall itselffirewall 86400 IN A 19202176 The DMZns1 86400 IN A 19202177www 86400 IN A 19202177mail 86400 IN A 19202178 The Local Networknod 86400 IN A 19202179

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 48: 6927538-Shorewall

Current Aliases for foobarnet (CNAME)

foobarnet MX Records (MAIL EXCHANGER)foobarnet 86400 IN A 19202177 86400 IN MX 0 mailfoobarnet 86400 IN MX 1 ltbackup MXgt

Algunos Concejos a Manterne en Mente

bull Usted no puede probar su firewall desde adentro Soacutelo porque pueda enviar solicitudes hacia su direccioacuten IP externa en el firewall no significa que la solicitud seraacute asociada con la interface externa o la zona ldquonetrdquo Cualquier traacutefico que genere desde la red local seraacute asociado con su interface local y seraacute tratada como traacutefico loc-gt$FW

bull Las direcciones IP son propiedad de los sistemas no de las interfaces Es un error creer que su firewall es capaz de renviar paquetes solo porque puede hacerle ping a todas las direcciones IP en las interfaces del firewall desde la red local La uacutenica conclusioacuten que puede sacar de tal ping es que el enlace entre su sistema local y el firewall funciona y que probablemente tiene la configuracioacuten de default gateway bien ajustada

bull Todas las direcciones IP configuradas en las interfaces del firewall estaacuten en la zona $FW (fw) Si 1921681254 es la direccioacuten IP de su interface interna entonces puede escribir ldquo$FW1921681254rdquo en una regla pero no puede escribir ldquoloc1921681254rdquo De forma similar no tiene sentido agregar 1921681254 a la zona loc usando una entrada en etcshorewallhosts

bull Los paquetes de respuesta NO siguen automaacuteticamente la ruta reversa hacia el cliente origen que envioacute la solicitud Todos los paquetes son enrutados de acuerdo a la tabla de enrutamiento de la maacutequina en cada paso de su camino Este asunto usualmente salta cuando la gente instala el firewall Shorewall en forma paralela con el gateway existente e intentan usar DNAT por medio del Shorewall cambiando el default gateway del sistema que recibe las solicitudes traducidas Las solicitudes entran por el firewall Shorewall por la interface donde la direccioacuten destino IP fue rescrita pero la respuesta sale sin modificar por medio del viejo gateway

bull Shorewall en siacute mismo no tiene nocioacuten de adentro y afuera Estos conceptos se incorporan en coacutemo se configure Shorewall

Arrancando y Deteniendo el Firewall

El proceso de Instalacioacuten configura su sistema para que arranque Shorewall al arrancar su sistema (boot)

El firewall se arrancar usando el comando ldquoshorewall startrdquo y se detiene usando el comando ldquoshorewall stoprdquo Cuando el firewall estaacute detenido el enrutamiento estaacute habilitado hacia aquellas maacutequinas que tienen una entrada en etcshorewallroutestopped Un firewall en ejecucioacuten puede reiniciarse con el comando ldquoshorewall restartrdquo Si desea eliminar totalmente cualquier elemento de Shorewall de su configuracioacuten Netfilter use ldquoshorewall clearrdquo

Edite el archivo etcshorewallroutestopped y configure aquellos sistemas que usted desee que esteacuten disponibles para que accedan al firewall cuando eacuteste esteacute detenido

Precaucioacuten

Si usted estaacute conectado a su firewall desde internet no mande el comando ldquoshorewall stoprdquo a mesno que haya agergado una entrada para la IP desde la cual se ha conectado en etcshorewallroutestopped Tampoco se recomienda usar ldquoshorewall restartrdquo es mejor crear una configuracioacuten alterna y probarlar usando el comando ldquoshorewall try

  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten
Page 49: 6927538-Shorewall
  • Shorewall
  • Instalacioacuten y Actualizacioacuten de Shorewall
    • Importante
    • Nota
    • Instalar usando RPM
      • Precaucioacuten
      • Nota
      • Nota
      • Alerta
        • Instalar usando tarball
        • Instalar usando lrp
        • Instalar usando deb
          • Importante
            • Notas Generales Acerca de la Actualizacioacuten Shorewall
            • Actualizando con RPM
              • Nota
              • Nota
                • Actualizando con tarball
                • Actualizando con lrp
                  • Importante
                  • Nota
                    • Configurando Shorewall
                    • DesinstalarVolverAtraacutes
                    • Firewall Baacutesico Dos-Interfaces
                    • Introduccioacuten
                      • Precaucioacuten
                      • Requerimientos de Sistema
                      • Convenciones
                        • PPTPADSL
                        • Conceptos Shorewall
                          • Alerta
                          • Importante
                            • Interfaces de Red
                              • Alerta
                              • Tip
                              • Tip
                              • Tip
                                • Direcciones IP
                                  • Alerta
                                    • Enmascaramiento IP (SNAT)
                                    • Desviacuteo de Puerto (DNAT)
                                      • Importante
                                        • Domain Name Server (DNS)
                                        • Otras Conexiones
                                          • Importante
                                            • Algunos Concejos a Mantener en Mente
                                            • Arrancando y Deteniendo Su Firewall
                                              • Importante
                                              • Alerta
                                                • Lectura Adicional Recomendada
                                                • Agregando un Segmento Inalaacutembrico a su Firewall Dos-Interfaces
                                                  • Precaucioacuten
                                                      • Guiacutea de Configuracioacuten de Shorewall
                                                        • Original de Tom Eastep traduccioacuten Guillermo Goacutemez (Neotech Venezuela)
                                                        • Precaucioacuten
                                                        • Introduccioacuten
                                                          • Precaucioacuten
                                                          • Precaucioacuten
                                                            • Conceptos de Shorewall
                                                              • Alerta
                                                              • Importante
                                                              • Importante
                                                                • Interfaces de Red
                                                                  • Precaucioacuten
                                                                    • Direccionamiento Subredes y Enrutamiento
                                                                      • Direcciones IP
                                                                      • Subredes
                                                                      • Enrutamiento
                                                                      • Address Resolution Protocol (ARP)
                                                                      • RFC 1918
                                                                      • Alerta
                                                                        • Configuracioacuten De Su Red
                                                                          • Enrutando
                                                                          • No enrutando
                                                                            • SNAT
                                                                            • DNAT
                                                                              • Importante
                                                                                • Proxy ARP
                                                                                  • Precaucioacuten
                                                                                    • NAT uno-a-uno
                                                                                      • Reglas
                                                                                      • Nota
                                                                                      • Nota
                                                                                      • Peculiaridades y Fines
                                                                                        • DNS
                                                                                        • Algunos Concejos a Manterne en Mente
                                                                                        • Arrancando y Deteniendo el Firewall
                                                                                          • Precaucioacuten