# El Manual de &kappname;

## Introducción

&kappname; es una utilidad amigable de generación y gestión de cortafuegos para KDE funcionando sobre Linux. Le permite especificar de forma sencilla qué protocolos de red deben ser permitidos entre grupos de ordenadores sin necesidad de que usted tenga conocimiento de número de puertos o paquetes. &kappname; actúa sobre los procesos de filtrado de paquetes `ipchains` y `iptables`.

### ¿Que es un cortafuegos y por qué necesito uno?

Un cortafuegos es una herramienta de software y/o hardware que defiende su ordenador, o su red de ordenadores, de los ataques realizados por usuarios curiosos o maliciosos. Protege restringiendo qué ordenadores están autorizados a hacer algo con los ordenadores protegidos. Actúa filtrando y bloqueando las comunicaciones de red entre los ordenadores protegidos e Internet.

Con la aparición de conexiones domésticas a Internet rápidas y permanentes, su ordenador ha quedado expuesto a constantes ataques desde cualquier sitio en el mundo. Puede preguntarse "¿porqué querría nadie acceder a mi ordenador?. ¡Si no tengo nada importante!". Pues en realidad lo tiene; un ordenador doméstico almacena nombres de usuario y contraseñas para conectar a Internet, correo electrónico personal, posiblemente información financiera e incluso información de su tarjeta de crédito. Incluso sin tener nada de esto, su ordenador puede ser utilizado por usuarios maliciosos (llamados popularmente 'crackers') como plataforma de ataques a otros ordenadores. Y lo malo es que estos ataques parecerán proceder ¡de usted!.

Si desea aprender más sobre cortafuegos, puede consultar el artículo (en inglés) firewall de la página How Stuff Works.

### Advertencia: No hay Soluciones Mágicas

Intentaremos explicar la naturaleza de la seguridad en ordenadores y qué papel juegan los cortafuegos. La mayoria de brechas de seguridad son causadas simplemente por software defectuoso. No son creadas por 'hackers' o 'crackers'. Estos intentan encontrar esos fallos y, entonces, explotarlos. Las brechas de seguridad son a menudo fallos o deficiencias del software que se pueden aprovechar con propósitos maliciosos.

Lo que hace un cortafuegos es poner una barrera de seguridad con los 'malos' en un lado y su software potencialmente vulnerable en el otro. Intenta evitar que los agresores ganen cualquier tipo de acceso a los servidores y al software que funciona en máquinas detrás del cortafuegos. Sin acceso, los atacantes no serán capaces de aprovechar los fallos del software que usted utiliza. Desgraciadamente, esta forma de protección por desconexión no es útil porque el objetivo de tener ordenadores en red es para que unos se comuniquen con otros. Por ello, para que la red sea útil, deberá abrir agujeros en el cortafuegos para permitir comunicación o acceso entre los ordenadores protegidos y el resto del mundo. Un cortafuegos no ofrece protección para los accesos que se realizan a través de estos agujeros. Por ejemplo, si usted opera un servidor web accesible desde el exterior, el cortafuegos no ofrecerá protección contra los ataques dirigidos contra ese servidor web.

Un cortafuegos es sólo una parte de su sistema de seguridad, sólo una parte. He aquí una lista breve de consejos efectivos para aumentar la seguridad del sistema. Estas recomendaciones son aplicables también a otros sistemas de ordenadores:

- Asegúrese de obtener e instalar las correcciones de seguridad del software que utiliza en sus ordenadores. La mejor forma de detener la explotación de vulnerabilidades en el software es eliminar esas vulnerabilidades. Visite regularmente la sección de actualizaciones del sitio web de su distribución de Linux, y revise si hay disponibles actualizaciones, parches de seguridad o correcciones de errores. Hoy en día, las distribuciones de Linux más modernas cuentan con herramientas que revisan si aparecen nuevas actualizaciones. Aprenda a usar esas herramientas y utilícelas.

- No instale software que no necesite o no vaya a usar. Esto es especialmente crítico con software orientado al funcionamiento en red, como servidores y software de cliente de red. Muchas distribuciones Linux instalan por defecto una cantidad enorme de software y una buena parte de ese software no lo necesitará. Asegúrese de desinstalar cualquier software innecesario tras instalar un sistema Linux nuevo. Otra estrategia que puede adoptar, si su distribución ofrece esa posibilidad, es seleccionar una instalación mínima y posteriormente instalar el software que necesite.

- El creador de su distribución Linux seguramente tendrá una lista de correo de advertencias de seguridad. Encuentrela en la web de su distribución y únase a la lista para conocer las correcciones disponibles tan pronto como estén disponibles.

- Si una parte del software que esté usando tiene un historial de seguridad malo y aún tiene problemas de seguridad sin resolver, considere seriamente cambiar a alguna alternativa mejor y más segura.

Si usted sigue estos consejos, sus sistemas serán cien veces más seguros, incluso sin usar un cortafuegos.

### Por qué usar &kappname;

- Interfaz de usuario fácil de usar. Usted le dice al cortafuegos lo que tiene que hacer, sin necesidad de explicarle los detalles ni cómo lo ha de hacer.

- Basado en protocolos de aplicaciones. A diferencia de otras herramientas, &kappname; no requiere que usted conozca los entresijos de los paquetes IP y puertos. &kappname; ya se cuida de eso. Esto reduce las posibilidades de una configuración errónea que deje brechas de seguridad en los ordenadores.

- No es sólo una configuración inicial de cortafuegos. &kappname; se usa para mantener y modificar el cortafuegos siempre que lo necesite.

- Puede ser usado en estaciones de trabajo y configuraciones de enrutador.

- Le permite dividir su red en grupos de ordenadores y controlar qué protocolos están permitidos entre los grupos.

- Trabaja con el subsistema de cortafuegos `ipchains` de kernels de la serie 2.2 de Linux , y tambien con netfilter/ `iptables` de la serie de kernels 2.4 y superior.

- Aprovecha características avanzadas de la serie de kernels 2.4, como seguimiento de la conexión y límites de tasa de registro.

- Licenciado bajo los términos de GPL. Es libre y así se mantendrá.

## Usando &kappname;

### Tutorial: Configuración Básica

En este tutorial se explicarán varios conceptos básicos de red y cómo configurar &kappname; rápidamente para proteger una máquina.

#### Arrancar &kappname;

Primero, arranque &kappname;. En los sistemas más recientes de Mandrake y Redhat debería haber una entrada en el menú K bajo Sistema/Configuración/Internet ó Red. Ante todo, el sistema solicitará la contraseña del usuario 'root'. Esto es necesario porque &kappname; necesita acceso de administrador para modificar el subsistema de red del ordenador.

Cuando &kappname; haya arrancado, podrá ver que el interfaz de usuario está dividido en cuatro pestañas. En este tutorial ignoraremos las pestañas Zona, Registro y Avanzado y nos concentraremos en la pestaña Protocolo.

#### Conceptos básicos de redes

(Puede saltarse esta sección si ya comprende los protocolos y el "Modelo Cliente/Servidor".)

Ahora explicaremos lo que es un protocolo. En las redes de ordenadores, unos ordenadores hablan con otros. Y, de la misma forma que en el mundo real es necesario que dos personas se hablen en el mismo idioma (ya sea inglés, español o el lenguaje de signos), lo mismo se aplica a los ordenadores de una red; necesitan acordar en qué lenguaje van a hablar con otro ordenador. Estos 'lenguajes' son conocidos como protocolos de red. Una diferencia importante entre el lenguaje humano y los protocolos de red es que los protocolos se usan para una sola tarea particular, como transferir ficheros (por ejemplo, FTP, File Transfer Protocol, o protocolo de transferencia de ficheros), visualizar páginas web (por ejemplo HTTP, HyperText Transmission Protocol, o Protocolo de transmisión de hipertexto) o chatear con otros usuarios de ordenadores (por ejemplo, IRC, Internet Relay Chat).

Los ataques contra sistemas se realizan abusando de los protocolos y del software que los utiliza. Muy a menudo, el software que utiliza un protocolo contiene fallos que pueden ser aprovechados por usuarios maliciosos para conseguir acceder a un sistema o para interrumpir su funcionamiento.

Un importante concepto que debe entender sobre los protocolos de red es el "Modelo Cliente/Servidor". Todos los protocolos de red tienen al menos dos partes que se comunican. Aunque ambas partes usan el mismo protocolo, tendrán diferentes papeles que interpretar. El modelo más común es aquel en que una parte actúa como "cliente" y la otra actúa como "servidor". Como analogía muy aproximada, supongamos que está comprando patatas fritas en un establecimiento de comida rápida. Usted y la persona que está tras el mostrador utilizan el mismo lenguaje (por ejemplo, español) como protocolo de comunicación, pero realizan distintos papeles. Usted es el "cliente", que hace las peticiones, y el dependiente es el "servidor", que cumple las peticiones que el cliente le indica. HTTP, el protocolo usado en la World Wide Web, usa el modelo Cliente/servidor. Su navegador web actúa como cliente mientras que el potente servidor web de Slashdot o CNN actúa como servidor, entregando páginas a su navegador cuando éste se las pide.

#### Permitir DNS

(Puede saltarse esta sección si ya sabe qué es DNS.)

La pestaña Protocolo es donde usted especifica qué protocolos pueden ser usados entre su ordenador e Internet. El protocolo "Domain Name System" (sistema de nombres de dominio), comúnmente conocido como DNS, es un protocolo muy importante. Todos los ordenadores de Internet tienen algo llamado dirección IP, que solo es un número. Puede que en alguna ocasión lo haya visto. A menudo se escribe como cuatro números separados por puntos (dotted quad), como "195.231.34.5". Una dirección IP es como un número de teléfono, pero identifica ordenadores en Internet, no teléfonos. Un problema que tiene el uso de estas direcciones IP es que no es muy amigable para el ser humano, y esta es la razón por la que se inventaron los "Nombres de Dominio". Un "Nombre de Dominio" es una forma más humana de identificar una máquina. Algunos ejemplos son www.simonzone.com, www.cnn.com o dot.kde.org. Pero los ordenadores entienden de direcciones IP, no de nombres de dominio. Y aquí es donde DNS entra en acción. Son como la guía telefónica entre nombres de dominio y direcciones IP. Las máquinas DNS de Internet no hacen otra cosa que devolver la dirección IP correspondiente a un nombre de dominio. Mediante el uso de DNS, su ordenador sabe a qué se refiere cuando usted le pide www.slashdot.org. Si no puede usar DNS, su navegador web no sabrá encontrar la página web de www.cnn.com, ni su cliente de chat ICQ sabrá encontrar la red de chat de icq.com. Sin DNS, la mayoría del resto de protocolos no podrán funcionar.

Veamos los pasos que hay que dar para permitir a su ordenador que se comunique con servidores DNS de Internet.

- Vaya a la pestaña Protocolo.

- Primero, asegúrese de que Internet está seleccionada en la lista Zonas de red Definidas:. (Está en la parte superior izquierda de la ventana.) La lista debería tener dos entradas, Internet y Local.

- Abra la categoría Red de la lista que aparece. Al expandirse deberá mostrar más opciones y casillas con entradas como ICMP Redirect y DNS - Domain Name Server por ejemplo.

- A la derecha de la lista de protocolos aparecen unas casillas bajo la columna Local. Haga clic en ellas para que aparezca una señal de 'marcada'. La casilla tiene tres estados: vacía, marcada o cruzada. Haciendo clic repetidamente verá como la casilla pasa por los tres estados.

Y ya está. Esto es lo que se necesita para que su ordenador tenga permiso para acceder a los servidores DNS en Internet. Su pantalla debería parecerse a la que aparece debajo.

Leyendo la pestaña Protocolo. Leyendo la pestaña Protocolo.

Esta ilustración resume como leer la información presentada en la pestaña Protocolo. Hay bastante información aquí, pero es necesario que entienda lo que significa para evitar configuraciones erróneas.

#### Organización de Protocolos

Ahora que hemos permitido el protocolo DNS, podemos autorizar otros protocolos comunes que seguramente necesitaremos usar.

&kappname; soporta muchos protocolos distintos. Están organizados en categorías para facilitar su búsqueda. Las categorías son:

- Chat - Protocolos usados por programas de chat como IRC o ICQ.

- Servicio de datos - Protocolos usados por bases de datos y otras fuentes de datos como servidores de hora, por ejemplo.

- Transferencia de ficheros - Protocolos usados para transferir ficheros. HTTP para la Web y FTP son buenos ejemplos.

- Juego - Protocolos usados para juegos multijugador en línea.

- Sesión Interactiva - Protocolos usados para trabajar o realizar acciones sobre un sistema remoto. Los protocolos SSH Secure Shell, telnet y RPC están en esta categoría.

- Correo - Protocolos asociados con la entrega y manejo de correo. Aquí están SMTP y POP3, por ejemplo.

- Medios - Protocolos usados para multimedia en Internet.

- Miscelánea - Otros protocolos que no pueden englobarse en otras categorías.

- Red - Protocolos relacionados con la operación propia de la red.

- Definido por el usuario - Aquí aparecen los protocolos definidos por el usuario en la pestaña Avanzado.

Naturalmente, hay protocolos que podrían estar en otra categoría distinta a la que finalmente han sido asignados. Depende de las interpretaciones.

Haga clic sobre un nombre de protocolo para ver rápidamente información sobre él. Aparecerá una descripción del protocolo en el área que está en la parte inferior izquierda de la ventana.

#### Permitiendo Protocolos Comunes

Esta es una lista rápida de los protocolos más comunes que seguramente querrá autorizar.

- HTTP - Usado para ver páginas de la World Wide Web. Si quiere consultar páginas web lo necesitará. Está en la categoría Transferencia de Ficheros.

- FTP - Protocolo de Transferencia de ficheros (File Transfer Protocol). Usado para cargar y descargar ficheros, tambien es usado comunmente en la red. Si ha visto en algún momento alguna dirección que empezara como "ftp://" en la barra de direcciones de su navegador, entonces ha utilizado FTP. FTP está tambien en la categoría Transferencia de Ficheros.

- SMTP - Protocolo Simple de Transporte de Correo (Simple Mail Transport Protocol). Usado para enviar correo en Internet. Se encuentra en la categoría Correo.

- POP3 - Protocolo de Oficina de Correos (Post Office Protocol) versión 3. Usado comunmente para descargar correo desde un buzón que está en nuestro proveedor de servicios de internet. Tambien está en la categoría Correo.

Resista la tentación de permitir todos los protocolos. Cuantos más protocolos permita, más débil será su cortafuegos. La idea es permitir sólo los protocolos que realmente necesite, y ninguno más. No permita un protocolo si sólo piensa que lo necesitará en el futuro. Siempre puede activar Guarddog y permitir el protocolo en el momento en que lo necesite.

#### Aplicando su nuevo cortafuegos

Para activar los cambios que haga en &kappname;, necesita pulsar el botón Aplicar o el botón Aceptar. El botón Aceptar cerrará tambien &kappname; dejando el cortafuegos activo. &kappname; configurará entonces el subsistema de red de su ordenador aplicando las normas de su cortafuegos. Una vez que pulse el botón Aplicar aparecerá un mensaje que advierte que el cambio de configuración del cortafuegos interrumpirá momentáneamente las conexiones de red. Por lo tanto, no es una buena idea estar haciendo alguna operación importante, como una transferencia FTP, cuando aplique la configuración. Tras pulsar el botón Aceptar del mensaje de advertencia aparecerá otra ventana que mostrará el proceso de configuración del cortafuegos. Si sucede algún error, se mostrará en esa ventana. Puse el botón Aceptar para salir de la ventana de resultado.

¡Listo! Su nuevo cortafuegos debería estár funcionando. Desde ahora, cada vez que arranque su sistema, el cortafuegos arrancará automáticamente. &kappname; no necesita estar funcionando constantemente para proteger su ordenador. Si necesita modificar la configuración de su cortafuegos, simplemente vuelva a arrancar &kappname; y haga los cambios que desee.

Para comprobar que su cortafuegos está trabajando correctamente, vaya a la página Gibson Research Corporation, diríjase a la zona "Shields Up!" y pídale que haga una prueba "Test My Shields!" o "Probe My Ports!". Hará una exploración de su máquina y le dará un informe de los resultados. Esperamos que obtenga un informe positivo.

### Tutorial: Usando Zonas

En este tutorial aplicaremos lo aprendido en el primer tutorial y presentaremos el concepto de Zonas. Las Zonas le permiten controlar con precisión qué protocolos están permitidos entre distintos grupos de ordenadores.

#### Introducción a las Zonas

En &kappname;, una zona es sólo un conjunto de direcciones IP. Puede considerar que las direcciones IP son como números de teléfono para máquinas de Internet. Una zona especifica más o menos un grupo de ordenadores. Una vez que la zona ha sido creada podemos usar la pestaña Protocolo para especificar qué protocolos usarán los ordenadores de la zona.

Por ejemplo, si sabemos que la gente de evil.com no es fiable, podemos restringir su acceso a nuestro ordenador usando zonas. Primero creamos una zona llamada "Bad Guys" y situamos evil.com en ella. Despues, vamos a la pestaña Protocolo y nos aseguramos de que no hay protocolos seleccionados entre la zona "Bad Guys" y la zona "Local". (La zona Local representa la máquina local). De esta forma podemos limitar, e incluso bloquear completamente, el acceso de evil.com a nuestro ordenador.

Situando a los Bad Guys en una zona y dejándolos fuera. Situando a los Bad Guys en una zona y dejándolos fuera.

#### Editando Zonas

Las zonas se especifican y editan en la pestaña Zona. A la izquierda del formulario Zona está la lista de zonas definidas. Guarddog tiene dos zonas integradas que no se pueden cambiar. Estas son Local e Internet. Local es la zona que contiene sólo a la máquina local, la máquina en la que &kappname; está funcionando. Internet corresponde a cualquier otra dirección IP que no está en otra zona. Simplemente, si una dirección IP no está en ninguna otra zona, se asume que está en la zona Internet.

La información sobre la zona seleccionada se visualiza a la derecha de la lista de zonas. Cada zona tiene un nombre que se usa en la pestaña Protocolo y, por lo tanto, debe ser un nombre corto. Se puede dar un comentario más descriptivo a la zona.

La lista de direcciones IP de la zona se muestra en la lista Direcciones de la Zona.

Las zonas con las que se puede conectar la zona actualmente seleccionada pueden verse en la lista Conexión que está en la parte derecha de la ventana.

La pestaña Zona La pestaña Zona.

Una dirección IP sólo puede estar en una zona al mismo tiempo.

#### Creando una Zona Desmilitarizada

Pongamos las zonas a trabajar.

Un buen uso de las zonas pasa por reforzar el cortafuegos configurando una "Zona Desmilitarizada" (DMZ). En seguridad de redes, una DMZ es un grupo de ordenadores situados entre Internet y la red interna de una organización. Los ordenadores de la DMZ están expuestos a Internet y usualmente realizan tareas como servir páginas web al público o manejar correo. Dado que estas máquinas están expuestas a Internet y a constantes ataques del exterior, su acceso a la red interna está restringido. La idea es que si un atacante toma control de una máquina de la DMZ, no gane al mismo tiempo acceso a la red interna de la organización.

Aún si no está gestionando una red o un grupo de servidores web o de correo, puede que utilice un grupo de ordenadores que puedan considerarse parte de una DMZ. En este tutorial configuraremos una DMZ conteniendo el servidor de correo que usted usa para enviar y recibir correos.

Vaya a la pestaña Zona y pulse el botón Nueva Zona para crear una nueva zona. Esta nueva zona aparecerá en la lista de zonas y se llamará nueva zona. Vaya al campo Nombre y cambie nueva zona para que se llame "DMZ". El nombre es corto, pero puede poner una descripción más larga en el campo Comentario.

A la derecha de la ventana está la lista Conexión. Es un grupo de casillas que le permite especificar qué otras zonas tienen conexión con la que tenemos seleccionada. Seleccione la casilla de Local para indicar que la zona DMZ está conectada a la zona Local. La combinación de DMZ y Local sólo estará disponible en la pestaña Protocolo si esta casilla está seleccionada. &kappname; bloqueará toda comunicación entre zonas que no estén conectadas a otras.

Ahora vaya a la pestaña Protocolo y asegúrese de que Protocolos Servidos por la zona: incluya DMZ. En la lista de protocolos hay una columna llamada Local. Abra la categoría de protocolos Correo, marque POP2, POP3, y SMTP. POP3 se usa para recoger correo de un buzón que está en un servidor de correo, mientras que SMTP se usa para enviar correo. Permitiendo estos protocolos para la zona Local estamos diciendo que queremos permitir a la máquina local el uso de estos protocolos de correo con las máquinas de la zona DMZ.

Si las máquinas de la DMZ son tambien servidores web deberá activar HTTP, FTP y otros protocolos comunes.

Una vez que ha terminado de configurar &kappname;, aplique sus cambios con el botón Aplicar y pruebe su programa de correo para ver si aún puede enviar y recibir correo.

### Tutorial: Configuración como enrutador

Hasta ahora hemos usado &kappname; para proteger una sola máquina (el ordenador donde funciona &kappname;), pero mucha gente sabe que un ordenador funcionando con Linux puede funcionar tambien como un fantástico enrutador para conectar múltiples redes. En este tutorial veremos cómo usar &kappname; en una máquina enrutadora para proteger una red local de los peligros de Internet.

&kappname; sólo soporta configuraciones de enrutamiento en máquinas que funcionen con kernel Linux versión 2.4 o superior con `iptables`.

#### Anatomía de una red local típica conectada a Internet

Una configuración típica de enrutador con &kappname; funcionando en la máquina enrutadora. Una configuración típica de enrutador con &kappname; funcionando en la máquina enrutadora.

El diagrama superior muestra la configuración de red de una red local (en adelante LAN) típica conectada a Internet a través de un sistema Linux actuando como enrutador. La LAN que queremos proteger está en la parte izquierda del diagrama. Internet aparece a la derecha. Toda la comunicación entre la LAN e Internet pasa a través de la máquina puente que aparece señalada por el perro. &kappname; funciona en la máquina puente. El aspecto más importante de esta instalación, desde el punto de vista de seguridad, es que todo el tráfico de red entre la LAN e Internet pasa a través de una máquina: la máquina puente. Esto nos lleva a considerar instalar el cortafuegos en esa máquina para filtrar el tráfico de red.

El diagrama tambien muestra las zonas que deberemos configurar en &kappname;.

#### "Repita conmigo: &kappname; es un cortafuegos"

Hay un poco de confusión entre la función de un cortafuegos y la de un enrutador de paquetes. Los cortafuegos actúan como filtrosde tráfico de red, filtrando y bloqueando tráfico de red peligroso y no deseado. Son dispositivos de seguridad. Las características de enrutamiento o enmascaramiento IP no son dispositivos de seguridad; son características de red avanzadas.

Esta confusión permanece porque, en el pasado de Linux, antes de la serie 2.4 del kernel, el subsistema de red estaba definido de tal forma que no era posible separar funcionalidades de enrutamiento avanzadas de las funcionalidades normales del cortafuegos. Esto llevó a los programas de cortafuegos a incluir soporte directo para características de enrutamiento avanzadas, como enmascaramiento IP o redireccionamiento de puertos, por ejemplo.

&kappname; es sólo un cortafuegos y no se usa para configurar esas características. Para ello se debe usar otro programa diferente.

Guidedog es una utilidad amigable para configuraciones de red avanzadas y está diseñada para trabajar conjuntamente con &kappname;.

#### Configure las propiedades de enrutamiento y red

Antes de continuar, debe establecer el enrutamiento para su máquina y confirmar que el tráfico es correctamente enrutado y enmascarado. Para facilitar la tarea de depurar fácilmente la configuración de su puente puede desactivar &kappname; seleccionando la casilla Deshabilitar cortafuegos de la pestaña Avanzado y aplicar entonces los cambios. Esto permitirá probar su configuración de enrutamiento sin que &kappname; bloquee ningún tráfico de prueba.

Se recomienda encarecidamente que no pruebe su configuración de red mientras permanece conectado a una red hostil como Internet. Conecte una máquina a la tarjeta de red que planee conectar a Internet y déle una dirección IP semejante a alguna de Internet, como simulador.

#### Enseñando a &kappname; a permitir Tráfico de/hacia su LAN

Si ha configurado y probado su configuración de enrutamiento y red con &kappname; deshabilitado, vuelva a activar &kappname; otra vez. Si todo va bien, se encontrará que su red no podrá conectar con Internet. &kappname; tiene un diseño a prueba de fallos: "lo que no está explícitamente permitido, está prohibido". En esta situación quiere decir que, hasta que se le diga a &kappname; que permita tráfico desde su red hacia Internet, asumirá que debe bloquear todo el tráfico. De esta forma se puede hacer fácilmente una configuración segura (demasiado, incluso) y dificulta tener una configuración insegura.

La forma en que especificamos a &kappname; que los ordenadores de la LAN están permitidos a acceder a Internet es usando zonas. Simplemente creamos una zona para albergar las direcciones de todos los ordenadores de nuestra LAN y entonces especificamos que esta zona está conectada a Internet, y probablemente a la zona Local tambien, y entonces ir a la pestaña Protocolo y marcar los protocolos que deban estar permitidos entre la LAN e Internet.

#### Paso a paso

Vaya a la pestaña Zona, cree una nueva zona y llámela "LAN". En la lista Direcciones de la Zona inserte las direcciones IP de los ordenadores de su LAN. La lista de direcciones entiende varios tipos de notaciones de direcciones, y puede aceptar bloques enteros de red. Si está haciendo funcionar una red enmascarada usando el espacio privado de direcciones 192.168.1.0/255.255.255.0, puede indicar el bloque completo en una sola dirección usando el formato 192.168.1.0/255.255.255.0 o el más corto 192.168.1.0/24.

Despues, vaya a la lista Conexión y marque Internet y Local para especificar que su zona LAN debe ser conectada a las zonas Internet y Local.

Ahora, vaya a la pestaña Protocolo y asegúrese de que en Protocolos Servidos desde la Zona: aparece Internet. En la lista de protocolos de debajo, debe ver una columna de casillas para la zona Local y otra columna para la zona LAN. Tal y como hemos marcado protocolos para la zona local en el primer tutorial, podemos hacer lo mismo con la zona LAN. Marque en la lista de protocolos los que las máquinas de la zona LAN pueden utilizar en Internet.

Cuando esté listo, aplique los cambios y fíjese si sus máquinas pueden acceder a Internet. Eso es todo lo que se ha de hacer.

### Notas Importantes

He aquí algunas notas importantes referentes al uso de algunos protocolos.

#### Windows Networking (NETBIOS)

Si su ordenador está conectado a una red local en la que quiere usar NETBIOS, necesita una ayuda extra para hacer que las cosas trabajen bien. Básicamente, cree una zona para su red local, cosa que ya habrá hecho probablemente, y asegúrese de que la dirección de difusión (broadcast) de la red local está tambien en la lista de direcciones de zona.

Si no sabe la dirección de difusión de su red local, la forma más sencilla es ir a un terminal de comandos y ejecutar la orden `/sbin/ifconfig`. Verá algo semejante a esto:

    eth0      Link encap:Ethernet  HWaddr 00:50:FC:2A:AB:7A
              inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:100
              RX bytes:0 (0.0 b)  TX bytes:240 (240.0 b)
              Interrupt:10 Base address:0x4000

    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:992 errors:0 dropped:0 overruns:0 frame:0
              TX packets:992 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:76568 (74.7 Kb)  TX bytes:76568 (74.7 Kb)

Esta es una lista de los interfaces de red que tiene su ordenador. Su lista puede ser diferente, por supuesto. Los nombres de los interfaces de red están listados a la izquierda. Necesita ver una que corresponda a su red local. Típicamente se llamará `ethX`. Tambien es posible que tenga múltiples entradas `ethX` especialmente si tambien tiene acceso a Internet por cable o ADSL. Una vez que haya encontrado la que necesita, busque `Bcast:`. Esta es la dirección de difusión (broadcast) de la red conectada a este interfaz. Escriba esta dirección de difusión en la lista de direcciones IP de la zona correspondiente a su red local.

#### Rastreos Nmap y Nessus

No es posible hacer rastreos efectivos con nmap o nessus a través de, o desde, una máquina en la que se ejecute &kappname;. La razón es que los cortafuegos son diseñados para bloquear la clase de tráfico inusual y "hostil" que estos programas producen. Un cortafuegos no puede distinguir entre el tráfico de exploración amigo producido por usted y el producido por otros intrusos, por lo que bloquea ambos tipos de tráfico.

#### Telstra BigPond Cable

Las personas que en Australia usan Telstra's BigPond cable para acceder a Internet necesitan asegurarse de que al servidor `dce-server` de Telstra se le permite servir BigPond Cable Login a su máquina local. Esto es necesario para iniciar sesión en BigPond y tambien para permitir el 'latido' que usa BigPond para verificar que su máquina está aún conectada.

Una solución es crear una zona especial para los servidores importantes de BigPond que tambien sirven correo, etc... y asegurarse de que el `dce-server` figura en ella, y entonces permitir a la zona servir el protocolo BigPond Cable Login y cualquier protocolo de web o de correo que necesite.

#### X Window System

En X Window System, la noción de cliente y servidor es un poco confusa. Se considera que el servidor es la máquina que ejecuta el servidor X, visualiza la pantalla y acepta las entradas del usuario, mientras que el cliente es el programa remoto cuyo interfaz de usuario está siendo visualizado sobre el servidor X (o sea, que un terminal ligero ejecutando un interfaz X es realmente el servidor X, y el potente servidor que ejecuta el programa cuyo interfaz se visualiza en el cliente ligero es realmente el cliente X).

Esto significa que debe asegurarse de permitir que el protocolo X sea servido por la zona que contiene la máquina que muestra el interfaz X (el servidor X), a la zona que contiene las máquinas que realmente ejecutan los programas (los clientes X).

#### DHCP (Dynamic Host Configuration Protocol)

Vaya a la sección llamada dhcp para informarse cómo usar DHCP con &kappname;.

#### Squid, proxys Web e ICP

Si está usando un cache/proxy web como Squid y desea que interactúe con otros cache/proxys, necesita activar el protocolo ICP (Internet Cache Protocol), en la categoría Red de la pestaña Protocolo. Activar el protocolo Squid no bastará para conectar ICP.

## Referencia del Programa

### La pestaña Zona

&kappname; está construido con el concepto de zonas contenedoras de direcciones IP, gestionando qué protocolos de red están permitidos entre las distintas zonas. En esta pestaña es donde se gestionan las zonas y sus contenidos.

La lista de las zonas actualmente definidas está en la parte izquierda de la pestaña, en Zonas de red definidas:. Las propiedades de la zona seleccionada se muestran en el área Propiedades de la zona. Los botones Nueva Zona y Borrar Zona en la parte inferior izquierda del formulario crean nuevas zonas o borran la zona seleccionada.

Hay dos zonas integradas que no pueden ser modificadas ni borradas. Se llaman Internet y Local La zona Local contiene automaticamente las direcciones IP de los interfaces de red de la máquina donde está funcionando el firewall. Fíjese que la lista de direcciones de esta zona no se muestra realmente en la ventana. La zona Internet contiene automáticamente las direcciones que no constan en otra zona. Actúa como la zona donde están las direcciones IP que no están en ninguna otra zona.

Cada zona recibe un nombre que puede ser editado en el campo de texto Nombre:. Se recomienda que el nombre sea corto. Se puede insertar un comentario más largo para la zona en el campo Comentario:.

#### Direcciones

Cada zona consiste en un conjunto de direcciones IP. La lista Direcciones de la zona contiene la lista de direcciones IP de la zona actualmente seleccionada. Se pueden añadir direcciones a la lista usando el botón Nueva dirección. La direccion actualmente seleccionada puede ser borrada usando el botón Borrar dirección. El campo de texto Dirección:, le permite editar la dirección actualmente seleccionada.

Las direcciones y rangos de direcciones pueden especificarse de varias formas:

- Dirección IP numérica (dotted quad). Se pueden especificar redes enteras usando una máscara. Las máscaras pueden ser máscaras de red (por ejemplo 255.255.255.0) o un número normal (por ejemplo 24). Unos ejemplos: 123.34.56.78, 192.168.1.1/24 y 192.168.1.1/255.255.255.0 (las dos últimas definen todas las direcciones desde 192.168.1.1 hasta 192.168.1.255)

- Nombre de dominio. Sólo se permiten nombres de dominio cualificados (Fully Qualified Domain Names - FQDN); algo parecido a .simonzone.com no funcionará. Se requiere un nombre completo, como www.simonzone.com, por ejemplo.

#### Conexión

La lista Conexión le permite especificar a qué otras zonas está conectada la zona actual. Cuando una zona se conecta a otra, esta combinación particular aparecerá en la pestaña Protocolo Si una combinación no está seleccionada aquí, entonces no aparecerá en la pestaña Protocolo, y no se permitirá ninguna comunicación entre las dos zonas.

### La pestaña Protocolo

La pestaña Protocolo se usa para especificar qué protocolos se permiten entre qué combinaciones de zonas.

A la izquierda está la lista Zonas de red definidas: conteniendo cada zona que haya sido definida. El área Propiedades de la zona muestra qué protocolos o servicios están permitidos y a quien están permitidos. Nos referiremos a la zona actualmente seleccionada como zona servidora.

La lista extensible de protocolos está organizada en diez categorías:

- Chat - Protocolos usados por programas de chat como IRC o ICQ.

- Servicio de datos - Protocolos usados por bases de datos y otras fuentes de datos como servidores de hora.

- Transferencia de ficheros - Protocolos usados para tranferir ficheros como HTTP para la Web y FTP.

- Juego - Protocolos usados por juegos multijugador en línea (online).

- Sesión Interactiva - Protocolos usados para trabajar o realizar acciones en sistemas remotos. Los protocolos SSH Secure Shell, telnet y RPC están aquí.

- Correo - Protocolos asociados con la entrega y el movimiento de correo electrónico. SMTP y POP3 están aquí.

- Medios - Protocolos usados para entrega multimedia en Internet en tiempo real.

- Miscelánea - Otros protocolos no englobables en las otras categorias.

- Red - Protocolos relacionados con la operación propia de la red.

- Definido por el usuario - Aquí se muestran los protocolos definidos por el usuario en la pestaña "Avanzado".

A la derecha de cada protocolo de la lista hay una o más columnas de casillas. Cada zona a la está conectada la zona servidora tiene una columna de casillas. El nombre de la zona encabeza la columna. Las zonas/columnas que aparecen aquí están determinadas en la lista Conexión de la pestaña Zona para la zona actualmente seleccionada.

Las casillas tienen los siguientes significados:

- Vacía - El protocolo no está permitido. Los clientes de esta zona no establecerán una conexión con la zona servidora usando este protocolo. Por ejemplo, si la zona "Web Servers" es la zona servidora actualmente seleccionada, y la casilla del protocolo HTTP (Web) está vacía para la zona "Bad Guys", entonces las máquinas de la zona "Bad Guys" no tienen permiso para acceder a un servidor web que funcione en la zona "Web Servers". Cualquier intento será ignorado. Cualquier paquete entrante será descartado.

- Seleccionada - Se permite el protocolo. Los clientes de esta zona establecerán conexión con la zona servidora usando este protocolo. Por ejemplo, si la zona servidora seleccionada es "Web Servers", y el protocolo HTTP (Web) está seleccionada para la zona "Bad Guys", las máquinas en la zona "Bad Guys" están permitidas para acceder a un servidor web funcionando en una máquina de la zona "Web Servers".

- Cruzada - El protocolo no está permitido y los paquetes serán rechazados en vez de ser simplemente descartados. Cuando se rechaza un paquete, se devuelve otro paquete ICMP al origen para informar de que el paquete ha sido rechazado por el cortafuegos. Por ejemplo, si la zona servidora actualmente seleccionada es "Web Servers", y la casilla del protocolo HTTP (Web) contiene una 'x' para la zona "Bad Guys", las maquinas de la zona "Bad Guys" no tendrán permiso de acceso a un servidor web que funcione en la zona "Web Servers". A diferencia de la casilla vacía, los intentos de conexión son rechazados en lugar de ser simplemente ignorados.

Bajo la lista aparecen unas leyendas que muestran el significado de los distintos estados de las casillas.

Rechazar un protocolo se considera una forma de bloqueo más 'amigable', debido a que el que establece la conexión es informado inmediatamente de lo sucedido. Cuando un paquete es silenciosamente bloqueado por el cortafuegos, el que establece la conexión no lo sabrá y tendrá que esperar un tiempo antes de determinar que la comunicación ha fallado.

Generalmente hay pocas razones para rechazar protocolos en lugar de simplemente descartarlos. Si alguien intenta usar un protocolo no permitido, asumiríamos por seguridad que ese alguien es hostil y no debería ser ayudado. En esta situación, descartar paquetes es mejor porque usa menos capacidad de red y tiene el efecto de hacer que el programa de exploración que puede estar usando el intruso funcione mucho más lentamente.

El único protocolo que es deseable rechazar en vez de descartar es el protocolo "ident" (dentro de la categoría Red) (Ver Preguntas y Respuestas).

#### Información de Protocolo

En la parte inferior izquierda se puede ver información sobre un protocolo. Puede obtener información de cualquier protocolo de la lista haciendo clic sobre su nombre.

Está disponible la siguiente información sobre cada protocolo:

- Nombre - El nombre del protocolo. Nombre completo y cualquier otro acrónimo por el que se le conozca.

- Descripción - Una corta descripción de para qué es usado el protocolo.

- Riesgo de seguridad - Una estimación del riesgo de seguridad que implica el uso del protocolo. El riesgo puede ser bajo, medio, alto o desconocido.

- Uso de red - Descripción de cómo el protocolo usa la red. Describe qué conexiones, protocolos IP, rango de puertos, etc... usa el protocolo para funcionar. Esta información sólo aparece si la casilla Mostrar ayuda avanzada del protocolo de la pestaña Avanzado está seleccionada.

### La pestaña Registro

La pestaña Registro contiene varias opciones para controlar qué eventos registrar y cómo son registrados.

La opción Registrar paquetes bloqueados controla si se han de anotar en el registro del sistema los paquetes que &kappname; ordena bloquear. Un paquete de un protocolo no permitido se bloquea por defecto. Cuando esta opción está seleccionada, se registran los paquetes bloqueados.

La Opción Registrar paquetes rechazados controla si se han de anotar en el registro del sistema los paquetes que Guarddog ordena rechazar. Se rechazan los protocolos que aparecen 'cruzados' en la pestaña Protocolo. Cuando esta opción está seleccionada, todos los paquetes rechazados son registrados.

La opción Registrar conexiones TCP abortadas (exploraciones half open) controla si se anotan las conexiones TCP que son forzadas a desconectar usando un paquete RST. Una técnica de exploración de puertos llamada exploración "half-open" usa paquetes RST para abortar rápidamente una conexión TCP medio abierta y evitar de este modo su detección. Esto se puede hacer usando `nmap` con la opción `-sS`. Marcando esta opción puede detectar y registrar si esto sucede. Por desgracia, a muchos servidores web les gusta terminar rápidamente las conexiones usando un paquete RST. Esto puede producir un montón de anotaciones no deseadas en su registro del sistema. Por lo tanto, seguramente deseará desmarcar esta opción. Además, esta opción sólo funciona si el cortafuegos se usa en una máquina con kernel Linux 2.4 combinado con `iptables`.

Los registros de paquetes se anotan en el `syslog`. Consulte el manual de `syslog` para más información.

#### Limitar tasas

Este grupo de opciones le permite especificar cómo &kappname; limitará la tasa con la que anotará los mensajes en el registro del sistema. La tasa limitada de registro se hace para evitar que alguien pueda realizar un ataque de denegación de servicio contra su máquina 'inundándola' con paquetes e intentando llenar su registro de sistema y su espacio de disco.

La opción Limitar tasa de registro controla si la tasa de registro de paquetes debe limitarse o no. Se recomienda seleccionar esta opción.

El campo Tasa le permite especificar la tasa máxima a la que los paquetes deben ser añadidos al registro del sistema. La tasa puede ser especificada en medidas de número de entradas por segundo, minuto, hora o día.

El campo Tasa le permite especificar tasa de registro media máxima. Los paquetes que deben ser registrados vienen a menudo en ráfagas de rápida sucesión. El campo Ráfaga le permite especificar cuantos paquetes en una ráfaga deben ser registrados. Cuando se rebasa el límite de ráfaga, toma preferencia la tasa de registro media.

Para más información acerca de cómo trabaja esta opción, consulte la documentación de `iptables` y el fichero fuente del kernel Linux `/net/ipv4/netfilter/ipt_limit.c`.

La opción Advertir cuando llegue al límite controla si &kappname; debe insertar mensajes de aviso en el registro del sistema cuando ha sido forzado a aplicar un límite de tasa de registro de paquetes. Cuando el límite de tasa se aplica a los mensajes de registro de paquetes, sólo aparece en el registro un número limitado de paquetes, omitiendo el resto. Cuando usted va a consultar el registro del sistema, es útil saber si se han omitido registros debido a la limitación de tasas.

El campo Tasa de advertencias le permite especificar la frecuencia con la que se insertarán mensajes de advertencia cuando se usa la limitación de tasas.

Los mensajes de advertencia en el registro del sistema tienen la palabra `LIMITED` al principio de la línea.

#### Opciones de registro

La opción Registrar IP Options controla si el campo 'options' de la cabecera IP de un paquete debe ser incluido en el mensaje de registro del paquete.

La opción Registrar TCP Options controla si el campo 'options' de la cabecera TCP de un paquete debe ser incluido en el mensaje de registro del paquete.

La opción Registrar números de secuencia TCP controla si se debe incluir el número de secuencia (sequence number) TCP de un paquete en el mensaje de registro del paquete.

El selector Prioridad de registro especifica la prioridad de registro usada cuando se envían los mensajes al registro del sistema. Vea la documentación de `syslog.conf` para más información.

### La pestaña Avanzado

La pestaña Avanzado contiene diversas opciones avanzadas. Aquí puede definir sus protocolos para abrir un pequeño agujero a través de su cortafuegos para que pueda manejar un protocolo ad hoc. Por ejemplo, acceder a un interfaz web de administración remota que utiliza un puerto distinto del habitual.

Cuando la casilla Mostrar ayuda avanzada del protocolo está seleccionada, se muestra información extra en la ayuda de protocolos en la pestaña Protocolo. La información extra incluye qué tipo de conexiones usa el protocolo.

La opción Permitir TCP timestamps le permite conectar o desconectar los TCP timestamps. Dejando conectado TCP timestamps posibilita a otros calcular cuánto tiempo lleva funcionando su ordenador desde la última vez que ha sido encendido. `nmap` `-O` puede hacer esto. Generalmente, a menos que esté conectado a una red de alta velocidad en la que confía, no hay ninguna razón por la que debería permitir TCP timestamps.

El botón Restaurar a configuración 'de fábrica' borra la configuración del cortafuegos y lo devuelve a la configuración que tendría &kappname; recién instalado.

#### Rango de Puertos Dinámicos Locales

Los dos campos de texto que siguen a Rango de Puertos Dinámicos Locales permiten especificar el rango de puertos usados por el sistema operativo para el puerto de orígen de nuevas conexiones salientes. Cuando se establece una conexión a una máquina externa, el puerto origen de la conexión no suele ser especificado por la aplicación; se deja al sistema operativo que elija un número de puerto que esté libre. El rango de puertos dinámicos locales es sólo el grupo de puertos que el sistema operativo usará cuando busque un puerto disponible.

Generalmente, hay pocas razones que fuercen a cambiar estos valores. Sólo será importante en máquinas que deban tener un número inusualmente alto de conexiones activas a la vez.

#### DHCP (Dynamic Host Configuration Protocol)

Si utiliza DHCP para configurar un interfaz de red, necesitará especificar el nombre del interfaz o interfaces en el campo Permitir DHCP en los interfaces:.

Si su máquina está ejecutando un servidor DHCP sobre un interfaz de red, tendrá que especificarlo en el campo Permitir servidor DHCP sobre el interfaz:.

Cuando se especifiquen varios interfaces, separe los nombres utilizando una coma ",".

#### Importar/Exportar

Importar y Exportar le permite guardar la configuración actual a un fichero, y volver a recuperarla por &kappname;. Cuando selecciona uno de estos botones, aparece un diálogo de fichero que le permite especificar de qué fichero importar o a qué fichero exportar la configuración.

El campo Descripción le permite introducir una anotación breve sobre la configuración actual del cortafuegos.

Exportar no exporta tan solo la configuración del cortafuegos: realmente exporta las órdenes completas de configuración del cortafuegos. Estas órdenes se pueden mover a otra máquina y configurarán en ésta el cortafuegos sin necesidad de instalar &kappname; en ella.

#### Protocolos definidos por el usuario

Además de todos los protocolos soportados por &kappname;, tambien es posible especificar sus propios protocolos.

En el grupo Protocolos definidos por el usuario aparece la lista de protocolos definidos por el propio usuario. Use el botón Nuevo Protocolo para crear un nuevo protocolo en blanco. El botón Borrar Protocolo borra el protocolo definido por el usuario que esté seleccionado en la lista.

Tras crear un nuevo protocolo puede darle un nombre usando el campo Nombre. La lista Tipo le permite especificar qué protocolo IP, TCP o UDP usa el protocolo que define. En los campos Puertos puede especificar el rango de puertos de la máquina remota a los que se conectará el protocolo. Para los protocolos UDP use la casilla bidireccional para especificar si el protocolo es bidireccional y requiere que los paquetes viajen en ambas direcciones. Una vez que el protocolo ha sido especificado, queda disponible en la pestaña Protocolo bajo la categoría Definido por el usuario. Aquí puede ser seleccionado o no, igual que cualquier otro protocolo integrado.

Esta característica está concebida para protocolos simples donde un servidor está escuchando por un puerto simple TCP/UDP. Si necesita especificar un protocolo más complejo, considere contactar con el autor para que pueda integrarse en una futura versión de &kappname;.

## Preguntas y respuestas

&reporting.bugs; &updating.documentation;

¿&kappname; necesita estar funcionando para proteger mi ordenador?

&kappname; ofrece una forma amigable de configurar el cortafuegos integrado en su ordenador. &kappname; no necesita estar en funcionamiento para proteger su ordenador.

¿Cómo puedo ver qué puertos utiliza un protocolo específico? o ¿Cómo puedo ver qué puertos abre un protocolo específico?

Vaya a la pestaña Avanzado y marque la casilla Mostrar ayuda avanzada del protocolo. Desde ahora, cuando vaya a la pestaña Protocolo y haga clic sobre el nombre de un protocolo, a la izquierda se mostrará información sobre ese protocolo y qué puertos TCP/UDP usa.

¿Porqué mis conexiones FTP/Correo/IRC son lentas?

Muchos servidores de correo e IRC, cuando se establece la conexión, usan el protocolo "ident" para intentar conocer el propietario de la conexión entrante, y no responden a la conexión entrante hasta que han intentado "ident". Este problema se muestra con retardos en la conexión con servidores de correo. La conexión se establecerá, pero habrá un retardo notable antes de que se pueda recoger el correo. Esto es debido a que el servidor intenta hacer una conexión de respuesta "ident", pero deja pasar un tiempo de espera antes de determinar que no funciona. La solución es asegurarse de que "ident" es rechazado en las conexiones procedentes de la zona en la que está el servidor de correo.

## Creditos y Licencia

&kappname;

Programa copyright 2000-2003 Simon Edwards simon@simonzone.com

Documentación copyright 2000-2003 Simon Edwards simon@simonzone.com

&underFDL; &underGPL;

Gracias a las siguientes personas:

- J F Gratton (Ayuda con un poco de código de red.)

- Joerg Buchland (Ayuda detectando qué interfaz /dev usa RDSI.)

- Ludovic Lange (Correcciones, ayuda con DHCP.)

- Jason L. Buberel (Impresiones, información de protocolos.)

- Carsten Pfeiffer (Impresiones, ayuda con KDE3)

- Gunner Poulsen (Traducción Danesa)

- Adam Kreuschner (RPMs para SuSE)

- Matthew Schick (RPMs para Redhat)

- Daniele Medri (Traducción Italiana)

- Stephan Johach (Traducción Alemana)

- Pascal Billery Schneider (Traducción Francesa)

- Antonio Díaz Cayuela (Traducción Española)

- Cualquier otro que ha aportado ayuda, informes de errores o soporte.

## Instalación

### Como conseguir &kappname;

&kappname; puede encontrarse en http://www.simonzone.com/software/guarddog/.

&documentation.index;