FIREWALL
1. Firewall
= Cortafuegos, un sistema de protección
Un Firewall no es otra cosa que un cortafuegos. Acepción adaptada
de la terminología de los servicios
contra incendios, que cuentan con una técnica especial para
poder controlar fuegos de gran intensidad y
evitar su propagación.
Un Firewall en informática es muy similar porque permite controlar
los accesos no deseados mediante
políticas de seguridad que pueden ser definidas por el usuario,
tanto a nivel local, como prestando
servicios en red.
Para ello existen dos modalidades de aplicaciones Firewall: las destinadas
a los usuarios individuales, y
aquellas diseñadas para empresas y para ser instaladas en proxys
(equipos que sirven como punto de
conexión para otros conectados en red).
Los primeros cortafuegos (firewall) estuvieron basados en sistemas
UNIX sin enrutamiento con conexión
a dos diferentes redes. Una tarjeta de red conectada con una dirección
válida a la red interna y otra tarjeta
(o acceso) con una dirección IP válida ante Internet.
Para alcanzar Internet desde la red privada era
necesario entrar en el servidor UNIX (cortafuegos) y utilizar los recursos
de este para alcanzar Internet.
Los Firewall trabajan sobre protocolos TCP/IP, que permiten a los equipos
hablar entre ellos sin importar
el sistema operativo y programas que utilicen. El TCP/IP permite a
las personas con Windows 95
comunicarse con otras personas con sistemas operativos UNIX o Macintosh.
La información transmitida no se envía de golpe sino
que ha de ser partida en diferentes paquetes de
tamaño determinado. Es el propio sistema el que determina en
cuántos paquetes ha de ser partida la
información, para que aquéllos sean homogéneos.
Y es precisamente en estos paquetes en donde un
hacker puede colarse para cambiar o introducir un nuevo parámetro
(enviando la información modificada
al último de los paquetes que casi nunca se encuentra lleno)
para poder tener acceso posteriormente a
nuestro equipo.
Por lo que atañe a los sistemas operativos Windows, el programa
Winsock es el que se encarga de
gestionar estos paquetes de información, para posteriormente
enviarlos a otras aplicaciones, incluyendo al
firewall si es que existiera uno instalado en el equipo.
Volver al Indice ...
1.1. ¿Para qué
un Firewall?
El firewall es un sistema que refuerza y fortalece las políticas
de control de acceso. Estas políticas están
establecidas en función de criterios que habitualmente las empresas
programadores determinan a priori
dependiendo de las incidencias y de los casos más habituales
en la red. Criterios que normalmente regulan
el tráfico entre una red interna (que suele ser de confianza,
ya que solemos conocer a quienes se
encuentran conectados), y otra red externa (que suele ser de menor
confianza, porque a ella puede
conectarse cualquier usuario).
Así, los firewall se emplean habitualmente para proteger a las
redes internas ante accesos no autorizados
que se realicen vía Internet o mediante otra red externa.
En el momento en el que se tiene instalada la aplicación Firewall
comenzará a aplicar los criterios de
restricción determinados, bloqueando todo el tráfico
que no haya sido autorizado entre el sistema de
confianza (una red interna o nuestro propio equipo en solitario) y
el sistema de dudosa confianza (Internet
como el caso más propio). Un proceso -llamado filtrado- se efectuará
constantemente y sin que se detecte
una ralentización en el equipo, y que permitirá o denegará
el acceso a cualquier parte de nuestro equipo.
Volver al Indice ...
1.2. Tipos de Firewall
y tipos de medidas
Por extensión, podemos denominar firewall a cualquier dispositivo
que controle el tráfico de la red
aplicando medidas de seguridad. Pero en realidad hay que discernir
entre tres grandes variantes, contando
cada una de ellas con diferentes métodos para proteger los recursos
de la red.
1. Elementales o básicos. Trabajan sobre routers en los niveles
más bajos del protocolo de la red
(Winsock). Filtran los paquetes. A estos firewall también se
les denomina "screening routers").
2. Ubicados en portales servidor Proxy. Suelen emplear niveles altos
de protocolo, dotando de servicios
proxy a redes externas para clientes. También monitorizan y
controlan el tráfico mediante el rastreo de
cierta información dentro de los paquetes.
3. Con técnicas de inspección, que comparan los diferentes
patrones de bits de los paquetes respecto de
un paquete que se considere conocido y de entera confianza.
El filtrado de paquetes es uno de los elementos más importantes
de este sistema de contramedidas de
seguridad, permitiendo ser configurado -al uso de cada equipo- de manera
que pueda denegar o permitir
determinados tipos de paquetes, y su paso a través del Servidor
Proxy (Proxy Server).
A la hora de configurar este bloqueo o desbloqueo de información,
puede realizarse de forma específica
(p.e., todas aquellas que provengan de una dirección de internet
determinada, sea de correo electrónico, o
dominio), o de manera específica (p.e., para el bloqueo de todos
los paquetes que lleguen de un host de
Internet determinado).
Volver al Indice ...
1.2.1. Tipos de medidas
restrictivas
En primer lugar, podemos encontrarnos con una característica propia
de los firewalls llamada filtrado
dinámico (dynamic) de paquetes, que va a permitir la permisividad
del Firewall para poder transmitir y/o
recibir datos. Finalizado el proceso, cierra el servicio de nuevo y
elimina la redundancia y el riesgo
minimizando el número de puertos abiertos.
Un segundo tipo de medida es el denominado filtrado estático
(static) de paquetes. Incómoda pues
requiere de configuración manual realizada por el propio usuario,
que ha de establecer los paquetes de
información que pueden ser cedidos o no. Además ha de
conocer los puertos desde lo que han de
transmitirse, y las rutas de salida a las que dirigirse.
Volver al Indice ...
1.3. Control de sucesos
Un Firewall, como cualquier buen sistema de seguridad, ha de permitir el
seguimiento de los registros
anómalos y permitidos realizados hacia y desde el sistema. Un
efectivo método de control, que permite
establecer nuevos parámetros restrictivos, y/o anular otros
que impiden el natural acceso de los datos en
cualquiera de las dos direcciones (recepción o envío).
El control de sucesos se realiza mediante el monitoreo de las instancias
de la aplicación, y queda
almacenado en archivos de registro (log), que pueden ser editables,
imprimibles y guardados en formato
de texto.
Las características básicas que debemos de encontrar
en el sistema de registro de actividades de la
máquina han de ser las siguientes:
Información de servicio (Service Information) - Con la fecha,
y hora.
Información remota (Remote Information)- Incluyendo la/s dirección/es
IP del presunto
Intruso, así como su puerto y el protocolo de comunicación
utilizado.
Información Local (Local Information) - Mostrando la dirección
IP de destino y su puerto de
acceso.
Filtrado de Información (Filter Information)- referenciando la
forma en que ha actuado el filtro
que utilizamos y qué adaptador de red lo hizo.
Paquetes de información (Packet Information)- Suele estar expresado
en formato hexadecimal, y
muestra las primeras líneas (de identificación) de cada
uno de los paquetes.
Volver al Indice ...
1.4.
Características diferenciadoras de los Firewall a nivel de red
Algunos elementos a tener en cuenta:
1. Filtran el tráfico siguiendo un patrón establecido
por la fuente (Source) y por la IP de destino
(Destination), por la asignación del puerto TCP y por el tipo
de paquete.
2. Habitualmente son enrutadores IP especializados. Rápidos
y eficientes, y los usuarios de la red no
notan que el programa esté funcionando. Cabe la posibilidad
de poder guardar información interna en
cualquiera de los paquetes que estén tramitándose, incluso
los contenidos de ciertos datos.
3. Ofrecen cierta ventaja contra intrusos que sólo quieren acceder
al monitoreo del equipo. Suelen acceder
tan sólo a programas del tipo Winsock.
4. Es conveniente aprender a diferenciar entre una red (network) y
el nivel de red (network level) del
sistema operativo.
5. IMPORTANTE: Un PC no es una red. No hay red que proteja un solo
PC.
6. Tampoco un programa firewall de nivel de red para un solo PC es
un firewall de red. No protege una
red sino un solo equipo. El término firewall de nivel de red
(network level firewall) se refiere al programa
que opera en un nivel de red del sistema operativo del ordenador.
7. El término firewall de red (network firewall), tiene que
ver con la organización de ordenadores
conectados en red, en donde uno de los equipos sería considerado
bajo configuración de host baluarte
(bastion host). Éstos suelen ser los tipos de firewall más
comunes. Como acotación baste decir que el
término se acuña por referencia a los castillos Europeos,
a modo de analogía que describiría el
funcionamiento del firewal, por cuanto al foso y al modelo de puente
levadizo. El firewall sería en esta
ocasión el foso, o el puente levadizo (sistema preventivo-defensivo),
mientras que el castillo sería la red
que queremos proteger. El papel de Bastion host lo toma un ordenador
que disponga de, al menos, una
interfaz de acceso a la red de confianza, y otra con la red de dudosa
confianza. El sistema funciona
mediante permisos, de forma que sólo el equipo bastión
es quien establece el cómo y cuándo pueden
pasarse los paquetes de información. Este sistema no suele trabajar
de forma independiente, sino que
forma parte de un entramado de Firewall más complejo.
Diferentes niveles de seguridad
Los firewall "screened host", emplean redirecciones a, al menos, una
conexión a la red de confianza y
otra conexión con el "bastion host". El redireccionamiento funciona
a modo de pantalla previa, para el
filtrado de paquetes. Una vez analizada toda la información
redirige todo el tráfico IP al bastion host.
A la hora de configurar el redireccionamiento hay que tener en cuenta
las normas de filtrado precedentes,
así como las direcciones IP a las que tenemos permiso de acceso
o a las que tenemos denegado el acceso.
La ventaja que nos ofrece el redireccionamiento es que disminuye el
tráfico que pudiéramos generar, ya
que quien se encarga de soportarlo es el equipo que actúa como
bastion host. Una solución que también
favorece el trabajo de éste ya que no tiene que estar buscando
entre los diferentes equipos conectados los
datos y los paquetes de información que han de ser soportados.
El paso siguiente dentro de la terminología Firewall es el de
los firewall de nivel de aplicación
(application level): programas que operan entre la red a proteger y
la red externa.
Su funcionamiento no es otro que el de evitar el contacto directo entre
los paquetes de información que
fluyen localmente (dentro de la red) y los que fluyen externamente
(desde y hacia fuera de la red).
Lógicamente los informes que puede ofrecer serán mucho
más detallados. Este tipo de Firewall sólo
funciona ejecutándose localmente (desde un equipo). Esto reduce
posibles riesgos de intervención remota,
ofrece mayor seguridad. Aunque suele ser conveniente la convivencia
con otro Firewall de nivel superior.
Volver al Indice ...
1.5. Conceptos a tener en
cuenta
- Política: Normas que rigen el funcionamiento de los firewalls
y que se configuran por parte del usuario.
Establecen la permisividad o la denegación del servicio para
el envío y la recepción de los paquetes de
información.
- Es recomendable utilizar un firewall de nivel de aplicación
como complemento de firewall de red.
Ofrece mayor seguridad.
- Los firewall sólo bloquean lo que se les configure que bloqueen.
- El firewall y la política del firewall son dos cosas diferentes.
- La configuración del firewall establece qué paquete
tiene el tamaño incorrecto para un determinado
puerto, o qué paquete proviene de una fuente no autorizada.
En el caso de que el paquete haya llegado al
equipo, únicamente el firewall determinará si mantendrá
el puerto abierto para recibir otros paquetes de
TCP/IP, y si el paquete se usará en otras aplicaciones.
- Es altamente recomendable que se actualice el sistema operativo con
los parches de seguridad de las
aplicaciones.
- Es importante realizar periódicamente copias de backup de
todos los datos importantes. Esta copia no
debe de tener acceso a la red, ni tiene que ser visible para nadie.
- No se deben aceptar programas o archivos de origen desconocido.
- La mejor ayuda para un Firewall es su trabajo conjunto con un antivirus.
Un Firewall no es un antivirus.
Es recomendable, antes de ejecutar nada, analizar los archivos descargados
con la aplicación antivirus.
Volver al Indice ...
2.
Firewall en Entornos Windows: Norton Personal Firewall 2001
2.1. El programa
Norton Personal Firewall 2001 (de Symantec) incluye dos aplicaciones relativas
a la seguridad: Norton
Personal Firewall y Norton Privacy Control.
Capaces de monitorear Internet y ofrecer la seguridad necesaria para
poder navegar con tranquilidad, al
salvaguardar los datos de nuestro equipo e impedir que terceros no
deseados puedan hacerse con nuestros
datos, sin nuestro consentimiento.
Se trata de un programa sencillo pero muy completo. La esencia radica
en la protección y en la seguridad
de la información personal almacenada en nuestro equipo, pero
también en el hecho de impedir que estos
datos confidenciales no puedan ser accesibles por parte de nadie desde
la red.
Un firewall es un programa que actúa a modo de filtro, bloqueando
o permitiendo determinadas
conexiones y transmisiones de datos desde o hacia Internet. Con este
filtrado casi nadie no deseado puede
acceder a la información que el usuario quiera proteger.
Volver al Indice ...
2.2. Protección
de la información personal
2.1.1.
La información personal... siempre personal.
La privacidad on line es una de las premisas más importantes a tener
en cuenta a la hora de iniciar la
navegación. Esta herramienta permite establecer qué datos
son los que han de protegerse y cederse o
mostrarse en determinados sitios web (como por ejemplo los números
de nuestra tarjeta de crédito). En el
caso de que algunos de los datos fueran a ser enviados ha algún
sitio no seguro o que no garantice la
privacidad de los mismos, Norton Personal Firewall 2001 alerta mediante
un mensaje con el que
podremos hacer:
1. Permitir el envío de los datos únicamente para esta
ocasión. Es la primera de las opciones que nos
encontramos, y 'vulnera' los límites de seguridad que se establecieron
al configurar el programa, para
permitir que los datos solicitados sean enviados sólo en esta
ocasión.
2. Impedir el envío de datos. Podría considerarse una
pregunta redundante si se estableció -durante la
configuración de las opciones del programa- que no se enviara
ninguno. Pero creo que no es necesario
recordar que en cualquier momento podemos intentar dar nuestros datos
(para realizar una compra en
Internet, por ejemplo), y que esto puede producirse diez minutos después
de haber instalado el programa,
como diez días después, o diez semanas más tarde.
Y por lo tanto olvidar que se señaló esta opción,
y
también dónde encontrar la forma para desactivarla. Por
lo menos el programa nos recuerda los
privilegios que establecimos en su momento.
3. Configurar una norma para el futuro. En el caso de que al establecer
las opciones generales de
acceso del programa, omitiéramos u olvidáramos configurar
un acceso, en el momento en el que
intentáramos enviar datos confidenciales a la red, el programa
avisaría con esta tercera opción. Ésta nos
permite establecer las condiciones por las cuales nuestros datos puedan
ser enviados a un sitio web en
concreto. Aunque hay que tener en cuenta que nosotros podemos no saber
que a ese sitio se accede a
través de diferentes proxis o rutas de acceso, por lo que puede
que -en el momento de configurar el
acceso- nos solicite más de un permiso. A partir de este momento,
y aunque esté señalada la opción de
seguridad, siempre se permitirá el envío de nuestros
datos personales y confidenciales a ese sitio.
Volver al Indice ...
2.1.2. Las 'cookies'...
¿qué hacen?
Las "cookies" son pequeños archivos de texto que apenas ocupan 1
Kb. Suelen almacenarse dentro de
nuestro ordenador y con ellas algunas páginas web 'nos reconocen'
como usuarios, además de que
controlan por dónde y qué páginas navegamos. También
mantienen actualizado nuestro carro de la
compra, en el caso en el que estemos realizando una compra on line,
o eliminan la necesidad de tener que
darnos de alta en sitios en donde se requiera un login. Pero también
aumentan el riesgo de que nuestra
privacidad se vea comprometida.
Con Norton Personal Firewall, es posible bloquear bajo -demanda o predeterminadamente-
estas cookies
desde el principio.
Volver al Indice ...
2.3. Protección contra
hackers.
Este programa, además de impedir el acceso a ?cookies?, protege
contra intrusiones de programas como
Back Orifice y Net Bus, es decir impide de forma efectiva el acceso
remoto.
Volver al Indice ...
2.4. Configuración
Symantec ha implementado una tecnología dinámica que permite
al programa adaptarse a las necesidades
y rutinas del nuestro ordenador, puesto que realiza un análisis
y un reconocimiento de las aplicaciones
más comunes que se emplean cuando estamos navegando, y configura
las opciones del firewall para cada
una de ellas. Es decir. Imaginemos que empleamos un programa de descarga
como Go!Zilla. Si la
conexión habitual se realiza por uno sólo de sus servidores,
Norton Personal Firewall 2001 establece un
permiso para este acceso.
Volver al Indice ...
2.4.1. Configuración
del Firewall
Alta: Bloquea cualquier comunicación (en ambos sentidos) siempre
que el usuario no lo haya permitido.
Sin embargo, hay que establecer determinadas reglas personalizadas
para cada aplicación que pueda
acceder a Internet.
Media: Bloquea una larga lista de puertos que están predeterminados
y seleccionados como
potencialmente peligrosos, por encontrase en ellos programas dañinos.
Sin embargo, también puede
bloquear el acceso a Internet de determinadas aplicaciones que utilicen
estos puertos para conectarse.
Desde la interfaz principal permite también configurar el tipo
de nivel que queremos usar en cuanto a
los accesos de privacidad y de seguridad personales en función
de los siguientes parámetros:
Seguridad
Alta
Bloquea cualquier cosa hasta que se le permita el acceso. Esta opción
del firewall se establece en el
máximo.
Los controles ActiveX y los applets de Java quedan bloqueados y por
cada ocasión en el que haya de
activarse alguno el programa solicita autorización. Esta opción
del firewall se establece en media.
Media
Bloquea cualquier cosa hasta que se le permita el acceso. Esta opción
del firewall se establece en el
máximo.
Los controles ActiveX y los applets de Java tiene acceso libre, permitiendo
su ejecución a discreción.
Baja
Bloqueo sólo de aplicaciones maliciosas conocidas. Esta opción
del firewall se establece en media. Los
controles ActiveX y los applets de Java tiene acceso libre, permitiendo
su ejecución a discreción.
Applets Java
Alta
Bloquea en el navegador predeterminado la descarga de cualquier applet
de Java o de controles ActiveX
desde Internet.
Es la opción más segura y recomendada. Sin embargo impedirá
que algunos sitios web se vean como
fueron diseñados.
Media
Activa el asistente para las reglas de Java/ActiveX. Esta opción
permite establecer bloqueos y/o accesos
personalizados para cada uno de los applet Java o controles ActiveX
que quieran ser descargados o no. Es
una opción más engorrosa por el hecho de tener que estar
casi cada dos por tres configurando la
aplicación (bajo demanda, por supuesto), pero permite visualizar
los sitios seguros (o que así lo creamos
nosotros) con tranquilidad y por completo.
Baja
Permiso sine die para los applets Java y los controles ActiveX.
Volver al Indice ...
2.5. Conclusiones
¿Es necesario un programa de este tipo para nuestro uso personal?
Millones de ordenadores se conectan diariamente a Internet, y éste
es un número que aumenta a diario.
Cuando nos conectamos a la red de redes es posible mantener conexiones
con estos equipos, y también
que se realice el proceso a la inversa. Las conexiones que se realicen
de forma insegura pueden dejar a
nuestro ordenador indefenso y 'abierto' a ataques producidos por hackers,
virus, caballos de troya, o sitios
web que dispongan de códigos que puedan afectar al contenido
de nuestro equipo.
En ocasiones su uso provoca la denegación de acceso a determinados
servicios de web (como es el caso
de acceso a suscripciones de correo que necesitan de 'validación'
de usuario por cookies). Una de las
ventajas de Norton Personal Firewall 2001 es que ofrece la posibilidad
de establecer ciertas normas o
reglas para permitir el acceso a determinadas conexiones o bloquearlas.
Normas que pueden ser
modificadas en cualquier momento y a conveniencia del usuario.
Norton Personal Firewall 2000-2001, ofrece la posibilidad de establecer
un límite de seguridad que, en mi
opinión, es necesario que exista en cada equipo. Aunque a veces
pueda resultar engorrosa la
configuración de reglas para cada acceso, o que veamos reducidas
nuestras opciones de navegación, no
cabe duda de que quien lo pruebe quedará tan asombrado como
yo lo estoy, al comprobar la cantidad de
cookies y demás accesorios a los que sometemos a nuestra máquina
cada día. Por lo que a seguridad se
refiere, puedo decir que sí me ha garantizado un margen en el
que he mantenido a mi ordenador a salvo.
Volver al Indice ...
2.6. Requisitos técnicos
Requisitos para PC, mínimos
Para Windows 2000 Workstation/Windows NT
Procesador Intel Pentium o mejor.
Windows 2000 Profesional Workstation o Windows NT 4.0 Workstation,
con
Service Pack 3 o superior.
32 MB de RAM (48 MB recomendadas).
10 MB de espacio disponible en disco.
Unidad de CD-ROM.
Microsoft Windows con soporte a Internet.
Explorador de Internet Microsoft o Netscape 4.0 o superior.
Para Windows 95/98/Me
Procesador del tipo Intel Pentium o superior (de por lo menos 133 MHz).
Windows 95 B, Windows 98, Windows 98 SE, o Windows Millennium.
24 MB de RAM (32 MB recomendadas).
10 MB de espacio disponible en el disco duro.
UNidad de CD-ROM. · Microsoft Windows con soporte a Internet.
Explorador de Internet Microsoft o Netscape 4.0 o superior.
Requisitos para Mac, mínimos
Procesador PowerPC.
Mac OS 8.1 o superior.
24 MB de memoria RAM.
3 MB libres de espacio en el disco.
Unidad de CD-ROM.
Conexión a Internet.
Volver al Indice ...
3. Firewall en Entornos
UNIX/LINUX
3.1. Requerimientos de Hardware
Los cortafuegos de filtrado no son exigentes en recursos de hardware. Son
tan sencillos como los
enrutadores simples.
Los requerimientos de hardware necesarios son:
1. Un 486-DX66 con 32 MB de memoria RAM
2. Al menos 250 MB de disco duro
3. Conexión a la red
Si requieres un servidor proxi que manejará cantidades de tráfico,
deberás usar un sistema con mayor
configuración en hardware. Esto es debido a que por cada usuario
que se conecte a el sistema este creará
otro proceso. Dependiendo de la cantidad de usuarios que se conecten
al sistema usted deberá
dimensionar su equipo.
Volver al Indice ...
3.2. Requerimientos de Software
3.2.1. Requerimientos de
kernel
Para crear un cortafuegos de filtrado, no se requiere ningún software
especial. Linux lo hace. El firewall
que está en el kernel del linux ha cambiado diversas veces.
Si estas usando un kernel viejo debes
conseguir una copia reciente. Los núcleos (kernel) viejos no
soportan más IPFWADM. Si usas un kernel
2.2.13 o superior, estarás usando el ipchains desarrollado por
http://www.rustcorp.com/linux/ipchains/ Si
usas el kernel 2.4 hay nuevas utilidades de cortafuegos.
Volver al Indice ...
3.3. Procedimiento de
Configuración
Instalar LINUX con configuración de servidor y a medida que avance,
cerrar los servicios que no necesite
editando el archivo /etc/inetd.conf. Para mayor seguridad desinstale
los servicios que no requiera. Como
algunas distribuiciones no tienen el kernel preparado como se requiere
para el uso de herramientas de
cortafuegos (Firewall), deberá compilarlo de acuerdo con sus
necesidades.
Volver al Indice ...
3.3.1. Compilando el
núcleo (kernel)
Arranque con una instalación limpia mínima de su distribución
LINUX. Cuanto menos software haya
cargado, menos serán los huecos, puertas traseras o bugs que
introducirán problemas de seguridad en su
servidor.
Consiga un kernel estable. Para este caso tenemos el kernel 2.2.15.
Por lo tanto la documentación aquí
realizada estará basada para este kernel.
Use el comando "make menuconfig" para editar los valores de configuración
del kernel.
Volver al Indice ...
3.3.2.
Configuración de tarjetas de red y/o ppp y las direcciones de red.
Configuración de la(s) tarjeta(s) de red y protocolo ppp
Configuración de las direcciones de red.
La meta es proveer dos conexiones de red a sus cortafuegos de filtrado.
Una es sobre internet y otra es
sobre su LAN.
Si no requiere que Internet acceda a su red privada, no es necesario
utilizar una dirección válida ante
Internet. Puedes usar una dirección de los rangos destinados
para redes privadas pero para ello requiere
utilizar IP masquerading, que convierte los paquetes internos con una
dirección IP válida ante
INTERNET, lo que hace que su red sea más segura.
Debe tener una dirección IP válida ante Internet. Esta
dirección puede ser asignada permanentemente a tu
ordenador por un ISP mediante un enlace dedicado o puede ser dinámica
asignada a través de una
conexión conmutada (no dedicada) a través de un proceso
PPP (point to point protocol).
Volver al Indice ...
3.3.3. Prueba de la red
Asegúrese que las siguientes pruebas se realizan y que se obtienen
resultados favorables:
Chequee que su(s) tarjeta(s) de red y/o el acceso conmutado al ISP
(enlace a través de ppp) estén activos
y bien configurados. Para verificar lo anterior utilice el comando
"ifconfig".
ifconfig
lo
Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:1620 errors:0 dropped:0 overruns:0
TX packets:1620 errors:0 dropped:0 overruns:0
collisions:0 txqueuelan:0
eth0
Link encap:10Mbps Ethernet HWaddr 00:00:09:85:AC:55
inet addr:192.168.1.18 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1000 errors:0 dropped:0 overruns:0
TX packets:1100 errors:0 dropped:0 overruns:0
collisions:0 txqueuelan:0
Interrupt:12 Base address:0x310
ppp0
Link encap:10Mbps Ethernet HWaddr 00:00:09:80:1E:D7
inet addr:XXX.XXX.XXX.XXX Bcast:XXX.XXX.XXX.XXX
Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1110 errors:0 dropped:0 overruns:0
TX packets:1111 errors:0 dropped:0 overruns:0
collisions:0 txqueuelan:0
Interrupt:15 Base address:0x350
-Verifique la tabla de rutas en sus sistema. Para ello haga uso del
comando "route -n"
#route -n
Kernel routing table
Destination Gateway Genmask Flags MSS Window
Use Iface
24.94.1.0 * 255.255.255.0 U 1500 0 15 eth0
192.168.1.0 * 255.255.255.0 U 1500 0 0 eth1
127.0.0.0 * 255.0.0.0 U 3584 0 2 lo
default 24.94.1.123 * UG 1500 0 72 eth0
-Asegúrese que cada ordenador de la red vé el cortafuegos
(firewall). Para ello utilice el comando "ping".
ping 192.168.1.18
Haciendo ping a 192.168.1.18 (linux.dominio.com)
con 32 bytes de datos
Respuesta desde 192.168.1.18: Bytes=32 Tiempo
< 10 ms TDV 128
-Haga ping desde los otros equipos a la dirección externa del
cortafuegos. Esto no debería funcionar, es
decir, no debe recibir respuesta. Si recibe respuesta, tiene el masquerading
o el IP forwarding habilitado.
Deshabilítelos e intente de nuevo. Se requiere conocer que el
filtrado está en su lugar. Para el kernel
2.1.102 o superiores utilice el siguiente comando
echo "0" > /proc/sys/net/ipv4/ip_forward
Habilite el IP forwarding y/o masquerading nuevamente con el siguiente
comando. Usted deberá ser
capaz de hacer ping a cualquier sitio de internet desde cualqueir equipo
de la red.
echo "1" > /proc/sys/net/ipv4/ip_forward
Volver al Indice ...
3.3.4. Asegurando
el cortafuegos (firewall)
Un cortafuegos no es algo bueno si el sistema está construido sobre
un sistema abierto para permitir
ataques. Un Cracker puede ganar acceso a través de un servicio
que no es del firewall y modificar el
sistema de acuerdo con sus necesidades. Para que esto no suceda, es
necesario apagar los servicios
innecesarios.
El archivo /etc/inetd.conf contiene la configuración del demonio
"inetd", el cual controla una serie de
demonios del servidor y los arranca en la medida que son requeridos
por paquetes que llegan por puertos
permitidos.
Se deben deshabilitar servicios como echo, discard, daytime, chargen,
ftp, gopher, shell, login, exec, talk,
ntalk, pop-2, pop-3, netstat, systat, tftp, bootp, finger, cfinger,
time, swat y linuxconfig (si tiene uno en su
sistema).
Para deshabilitar un servicio, basta con comentar la línea con
el símbolo #. Para que los cambios tengan
efecto sobre el sistema, utilice el comando "kill -HUP <pid>", donde
pid es el identificador del proceso
del inetd.
Para probar que lo anterior funcionó, realice un telnet al puerto
15 del firewall (netstat). Si sale algún
mensaje el servicio no ha sido deshabilitado. También puede
crear el archivo /etc/nologin, cuando este
archivo está creado, no permite hacer login a ningún
usuario (sólo root puede hacer login).
Volver al Indice ...
3.4. Procedimiento de Instalación
El procedimiento de instalación del cortafuegos se basa en la configuración
de filtrado IP con el comando
IPCHAINS. IPCHAINS es el código reescrito del IPFWADM (utilizado
para filtrar paquetes en linux con
versiones de kernel inferiores a 2.1.202). No obstante para los kernels
más actuales (2.4.x)se puede utlizar
tanto el paquete ipchains como otro denominado iptables. Este último
es algo más complejo (aunque más
versátil) y no se puede utilizar con kernels estables y muy
utilizados como 2.2.x
3.4.1 Reglas de Filtrado
Para instalar un firewall en nuestro equipo sólo precisamos de un
kernel con las opciones adecuadas y el
paquete ipchains. Es este paquete el que deberemos usar para introducir
en el kernel las reglas de filtrado
adecuadas para que funcione filtrando exactamente las conexiones que
nosotros deseemos.
Podemos ejecutar ipchains con los parámetros adecuados en cada
caso e introducir a mano así cada una de
las reglas de filtrado. Pero resultaría un trabajo algo absurdo,
ya que al apagar nuestro equipo las reglas se
perderían y al volverlo a arrancar tendríamos que introducirlas
a mano de nuevo. Lo usual es crear un fichero
que se ejecute en el arranque, como /etc/rc.boot/ipchains que editaremos
(deberemos editarlo com root)
introduciendo en él las reglas necesarias.
Deberemos consular la documentación de nuestra distribución
al respecto para decidir el lugar más adecuado
para instalar nuestro script, puesto que quizá nos interese
tenerlo activo sólo cuando estemos conectados a
Internet y no el resto del tiempo. Una vez creado bastará con
asegurarnos de que tiene permisos de ejecución
adecuados, se los damos ejecutando, también como root:
chmod 600 /etc/rc.boot/ipchains
Lógicamente siempre que lo modifiquemos habrá que asignar
de nuevo estos permisos. Es importantew el
asunto de los permisos en este fichero, ya que no queremos que nadie
que entre como usuario normal en
nuestro sistema (tanto directamente como en remoto) pueda modificarlo.
Al colocar dicho fichero ipchains
en el directorio /etc/rc.boot/ conseguiremos que nuestro firewall se
lance cada vez que arrancamos nuestro
equipo.
Si por ejemplo tenemos una conexión a Internet utilizando un
modem, podemos hacer que se lance el firewall
cuando nos conectamos Internet, en cuyo caso bastaría colocar
el fichero ipchains en el directorio
/etc/network/if-up.d/ (aunque la ubicación de estos ficheros
es conveniente que se consulte en el manual de
nuestra distribución, ya sea debian, mandrake, ...).
3.4.2 Construcción
de Reglas de Filtrado
Las reglas de filtrado son las líneas de ejecución que colocamos
en el fichero ipchains o bien ejecutamos a mano.
Para saber cómo construirlas podemos acudir a la página
man de ipchains. en general son reglas bastante sencillas,
en cada línea lo primero que aparece es el ejecutable, ipchains
con su path. Lógicamente es él quien sabe cómo
añadir las reglas a las cadenas del kernel. Ejecutamos por tanto
ipchains y le pasamos una serie de parámetros
que constituirán la regla concreta que queramos añadir.
A continuación se describe brevemente las funciones básicas
que se pueden realizar para la administración de un
cortafuegos basado en IPChains.
Las operaciones para trabajar sobre una cadena entera son:
- Crear una cadena nueva (-N)
- Borrar una cadena vacia (-X)
- Adicionar una nueva regla (-A)
- Cambiar la política para una cadena propia (-P): indicando
'-P' sobre una cierta cadena, indicaremos la 'polítcia' por
defecto para esa cadena, o sea, qué se decide hacer con
un paquete si ninguna de las reglas que le hayamos dicho
especifica nada. por defecto la poliítica para las tres
cadenas iniciales (INPUT, OUTPUT Y FORWARD) es
'ACCEPT', pero normalmente es buena idea poner INPUT y FORWARD
a DENY.
- Borrar las reglas de una cadena (flush), el flush hace que se ignoren
todas las otras reglas aplicadas anteriormente (-F)
- Listar las reglas en una cadena (-L)
- Borrar los contadores sobre todas las reglas en una cadena (-Z)
- Hay diferentes maneras de manipular reglas en una cadena:
- Insertar una regla en algún punto de la cadena (-I)
- Reemplazar una regla en alguna posición de la cadena (-R)
- Borrar una regla en alguna posición de la cadena (-D)
- Borrar la primera regla que coincide con la cadena (-D)
- Hay otras operaciones para Masquerading con ipchains:
- Listar las actuales conexiones masquerading (-M -L)
- Configurar los valores de tiempo de masquerading (-M -S)
- El parámetro -p, sirve para indicar el protocolo de la conexión,
que puede ser TCP o UDP. En /etc/protocols tenemos
una lista completa de los protocolos estándar que podríamos
especificar aquií.
- El parámetro -d, sirve para indicar la IP de destino de la
transmisión.
- El parámetro -s, sirve para indicar el origen de la transmisión.
- El parámetro -j, sirve para indicar la acción concreta
que se llevará a cabo para los paquetes afectados por esta regla.
Las opciones posibles para la acciópn son: ACCEPT, DENY,
REJECT MASQ, REDIRECT o RETURN. Que corresponden
lógicamente a: aceptar, negar, rechazar, enmascarar,
redirigir y volver (no hacer nada), respectivamente. Hay una diferencia
sutil entre REJECT y DENY. DENY implica que tiramos el paquete
y hacemos como si este no hubiera llegado nunca.
REJECT, sin embargo implica que lo rechazamos mandando un paquete
ICMP a quien lo envió advirtiéndole de que lo hemos
rechazado. Si por ejemplo hacemos un telnet a una dirección
que tiene el puerto 23 cerrado con REJECT, veremos un
'connection refused' como contestación. Sin embargo,
si fuera DENY, aparentemente sería como si el otro lado estuviera
desconectado de la red. Por ejemplo:
/bin/ipchains -A input -i eth0 -s 192.168.10.100
-j REJECT
Ejecutando la línea anterior, estaríamos añadiendo
una regla al kernel que dijera que se rechazarán todas las conexiones
entrantes por el dispositivo eth0 (una tarjeta de red) desde
la IP 192.168.10.100.
En la medida que realiza sus cambios, puede llegar a dejar espacios
de tiempo en los cuales personas
extrañas podrían ingresar al sistema y realizar modificaciones
según su conveniencia. Si no se es
cuidadoso, algunos paquetes podrían pasar mientras realiza las
modificaciones. Una manera simple de
evitar lo anterior y hacerlo de manera segura es la siguiente:
Insertar reglas denegando las facilidades de entrada (input), salida
(output) y redireccionamiento
(forward)
ipchains -I input 1 -j DENY
ipchains -I output 1 -j DENY
ipchains -I forward 1 -j DENY
Una vez realizados los cambios correspondientes, hay que ejecutar las
siguientes instrucciones para borrar
las reglas que restringían las facilidades de entrada, salida
y redireccionamiento.
ipchains -D input 1
ipchains -D output 1
ipchains -D forward 1
El archivo en el que se configuran las reglas para el cortafuegos (Firewall)
es el "/etc/rc.d/rc.firewall".
Este archivo se edita con el editor de texto "vi" y se adicionan las
líneas (reglas) correspondientes.
## Borrar todas las reglas.
/sbin/ipchains -F input
/sbin/ipchains -F output
/sbin/ipchains -F forward
## Redireccionar http para proxy transparente
/sbin/ipchains -A input -p tcp -s 192.168.1.0/24
-d 0.0.0.0/0 80 -j REDIRECT 8080
## Crear una propia cadena para nuestras propias
reglas
/sbin/ipchains -N micadena
## Permitir que el correo alcance el servidor
/sbin/ipchains -A my-chain -s 0.0.0.0/0 smtp
-d 192.168.1.18 1024:-j ACCEPT
## Permitir conexiones de correo electrónico
a servidores de correo
## externos
/sbin/ipchains -A my-chain -s 192.168.1.18 -d
0.0.0.0/0 smtp -j ACCEPT
## Permitir conexiones WEB a su servidor WEB
/sbin/ipchains -A my-chain -s 0.0.0.0/0 www -d
192.168.1.18 1024: -j ACCEPT
## Permitir conexiones WEB a servidores WEB externos
/sbin/ipchains -A my-chain -s 192.168.1.0/24
1024: -d 0.0.0.0/0 www -j ACCEPT
## Si se está usando masquerading
## No permitir tráfico interno de masquerading
/sbin/ipchains -A forward -s 192.168.1.0/24 -d
192.168.1.0/24 -j ACCEPT
## No permitir masquerading externo directo a
la interfase
/sbin/ipchains -A forward -s XXX.XXX.XXX.0/32
-d 0.0.0.0/0 -j ACCEPT
## Enmascarar todas las IP´s internas hacia
fuera
/sbin/ipchains -A forward -s 192.168.1.0/24 -d
0.0.0.0/0 -j MASQ
Volver al Indice ...
3.4.3. Orden de
aplicación de las Reglas
Hay que tener en cuenta que las reglas se aplican en el mismo orden en
el que se ejecutan. De modo que sí la primera
línea de nuestro firewall fuera:
/sbin/ipchains -A input ACCEPT
Estaríamos aceptando todas las conexiones entrantes, con lo
que cualquier regla posterior que no permitiera el acceso
por un puerto concreto quedaría invalidada si esta regla se
ejecuta antes.
Por tanto, además de ser cuidadosos con lo que dice cada regla
concreta hemos de asegurarnos que el orden de aplicación
es el adecuado. Por tanto, en general lo más recomendable es
cerrar primero todos los puertos, los de entrada al menos, y
luego ir abriendo uno a uno los que sepamos que debemos tener abiertos.
De ese modo no habrá problemas y todos, salvo
los que despues abramos, quedarán cerrados, y nuestro sistema
será bastante más seguro que antes. No obstante, es
conveniente recordar durante la configuración de nuestro firewall
que si algo deja de funcionar, dejamos de tener salida a
Internet, etc., podría estar ocurriendo que hubiéramos
cerrado algún puerto o servicio que si fuera necesario. por esto,
es
recomendable mientras estemos en fase de pruebas, tener siempre a mano
una pequeña chuleta con las instrucciones
necesarias para desactivar por completo nuestro firewall en caso de
que algo no funcione.
3.4.4. Activando
y Desactivando el Firewall
Siempre podemos ejecutar a mano ipchains para añadir algunas reglas
al kernel. Por ejemplo, si mientras estamos tratando
de configurar algún programa o servicio nuevo en nuestro equipo
(montando un FTP, o preparando nuestro PC para que sirva
páginas web, etc.) observamos que algo no funciona, podemos
para el firewall por completo para comprobar que el problema
no sea simplemente que tenemos el acceso o salida cortados por nuestro
propio firewall.
La manera más rápida de liimpiar todas las reglas existentes
y que se dejen salir y entrar todos los paquetes es ejecutar, una
a una las siguientes reglas:
/sbin/ipchains -F
/sbin/ipchains -P input ACCEPT
/sbin/ipchains -P output ACCEPT
/sbin/ipchains -P forward ACCEPT
Con ellas deshabilitamos todas las órdenes previas, y colocamos
como política por defecto aceptar conexiones, tanto de entrada
como de salida y de forward.
Una vez que terminemos nuestras comprobaciones, si queremos lanzar
de nuevo nuestro firewall bastará con ejecutar a mano el
script que hemos construido. Aunque será necesario ejecutarlo
como root, puesto que ipchains necesita permisos de superusuario
para poder realizar cambios en la configuración de los filtros.
3.5. Ejemplos y Pruebas
3.5.1.
Ejemplo en el que sólo se admite paquetes de entrada para conexiones
HTTP
Este ejemplo concreto es para el caso de que tengamos un equipo conectado
a Internet utilizando un módem y que además tenga
una tarjeta de red que lo conecta a otro equipo, de modo que enmascara
la salida de este otro equipo y permite, para ambos, salida
para todo tipo de servicios. Sin embargo lo único que sirve
él mismo al exterior es una página web, de modo que sólo
permite
paquetes de entrada para conexiones HTTP.
#!/bin/bash
# La línea anterior se coloca porque lo
que construimos es un conjunto de reglas que queremos que se ejecuten como
script en bash.
# Todas las líneas con almohadilla serán,
lógicamente, comentarios.
# Asignamos a la variable MI_IP en valor concreto
de nuestra IP
MI_IP="$PP_LOCAL"
# Comenzamos haciendo un flush. Esto limpia todas
las reglas que pudiéramos haber introducido previamente.
/sbin/ipchains -F
# Luego aplicamos por defecto 3 reglas que dicen
que:
# Se cierran las conexiones de entrada por defecto
/sbin/ipchains -P input DENY
# Se abren las conexiones de forward por defecto
/sbin/ipchains -P input DENY
# Se abren las conexiones de salida por defecto
/sbin/ipchaines -P output ACCEPT
# A continuación, tras las reglas de política
por defecto, aplicamos reglas que hagan referencia a conexiones a dispositivos
# o puertos concretos.
# Aceptamos las conexiones de entrada desde procesos
locales (por el interfaz "lo")
/sbin/ipchains -A input -i lo -j ACCEPT
# Aceptamos las conexiones de entrada provinientes
de IPs de la red local (o sea, que entren por "cualquier" interfaz excepto
ppp0)
/sbin/ipchains -A input -s 192.168.1.0./24 -i
! ppp0 -j ACCEPT
# Rechazamos los fragmentos de los paquetes ICMP
/sbin/ipchains -A input -p icmp -f -d $MI_IP
-i ppp0 -j DENY
# Pero aceptamos los paquetes ICMP normales,
para que nuestro equipo responda a pings, por ejemplo.
/sbin/ipchains -A input -p icmp -d $MI_IP -i
ppp0 -j ACCEPT
# Aceptamos las conexiones entrantes al puerto
80, que es el del servicio HTTP, para poder servir nuestra página
web al exterior.
/sbin/ipchains -A input -p tcp -d $MI_IP 80 -i
ppp0 -j ACCEPT
# Rechazamos en todo caso las conexiones TCP
y también las UDP a algunos puertos típicos de troyanos
# como BackOrifice o SubSeven.
/sbin/ipchains -A input -p udp -d $MI_IP 12345:12346
-i ppp0 -j DENY
/sbin/ipchains -A input -p tcp -d $MI_IP 12345:12346
-i ppp0 -j DENY
/sbin/ipchains -A input -p udp -d $MI_IP 31337
-i ppp0 -j DENY
/sbin/ipchains -A input -p tcp -d $MI_IP 31337
-i ppp0 -j DENY
/sbin/ipchains -A input -p udp -d $MI_IP 5999:6010
-i ppp0 -j DENY
/sbin/ipchains -A input -p tcp -d $MI_IP 5999:6010
-i ppp0 -j DENY
# Rechazamos también las conexiones al
puerto de MySQL
/sbin/ipchains -A input -p udp -d $MI_IP 3306
-i ppp0 -j DENY
/sbin/ipchains -A input -p tcp -d $MI_IP 3306
-i ppp0 -j DENY
# Aceptamos todas las conexiones, que no sean
las anteriores claro, deentrada al pueto 1024 y a cualquiera
# por encima de él (por eso los ":", que
# equivalen aquí a 1024:65535)
/sbin/ipchains -A input -p udp -d $MI_IP 1024:
-i ppp0 -j DENY
/sbin/ipchains -A input -p tcp -d $MI_IP 1024:
-i ppp0 -j DENY
# No permitimos ningún otro tipo de conexión
entrante
/sbin/ipchains -A input -p tcp -y -d $MI_IP -i
ppp0 -j DENY
# Enmascaramos las conexiones de forward desde
direcciones IP de la red local hacia
# el exteriro (o sea, salientes por el interfaz
ppp0)
/sbin/ipchains -A forward -s 192.168.1.0/24 -i
ppp0 -j MASQ
Una vez que tenemos nuesro firewall corriendo,
conviene comporbar que el funcionamiento es el adecuado. Es
decir, que no hemos cerrado ningún servicio
de salida, o entrada que quisiéramos tener disponible. Y que aquellos
que deseábamos cerrados realmente lo están.
Por ejemplo, si nuestras reglas no cierrran salida de ningún tipo,
sólo entradas, deberemos poder salir a
Internet para cualquier cosa, así podemos hacer pings a equipos
en el
exterior. Por ejemplo ejecutando: "ping www.uji.es".
Hay que tener en cuenta que se esa IP no responde a pings
puede que hayamos colocado mal alguna regla o
bien que ese equipo esté apagado o no responda a pings, por lo
que es recomendable comprobarlo con varias.
Tambien deberemos poder acceder a diversas páginas
web. E igualmente si nuestro firewall es el del ejemplo
anterior, desde un equipo exterior deberemos
poder ver una página web disponible en nuestro equipo (si es que
tenemos alguna disponible, claro).
También podemos comprobar desde el exterior
si se puede hacer telnet a los puertos usuales de POP3, IMAP4,
telnet o SSH, entre otros, que en el caso del
ejemplo deberían estar cerrados y no constestar dando mensajes
como éste:
telnet: Unable to connect to remote host: Connection
refused
Volver al Indice ...
3.5.2. Ejemplo de archivo
rc.firewall
A continuación se presenta como ejemplo el archivo "/etc/rc.d/rc.firewall"
que modificamos para
implementear los servicios. En este archivo se escriben las instrucciones,
llámense reglas, para la
configuración de los servicios de cortafuegos (Firewall). Este
mismo archivo se modifica para el manejo
y configuración de IP Masquerading.
##Ejemplo del archivo /etc/rc.d/rc.firewall
##Las siguientes líneas vienen por defecto
en el archivo
PATH=/sbin:/bin:/usr/sbin:/usr/bin
# Mandrake-Security:if you remove this comment,
remove the next line
too
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
# Habilitar la desfragmentacion de IP automatica
echo "1" > /proc/sys/net/ipv4/ip_always_defrag
## Las siguientes instrucciones se encuentran
con comentario y aplican
## básicamente para enmascaramiento IP
# Habilitar el forwarding de direccionamiento
IP (deshabilitado por
# defecto)
# echo "1" > /proc/sys/net/ipv4/ip_forward
# Todos los equipos de la subred 192.168.1.X
con mascara 255.255.255.0
# son enmascarados
#/sbin/ipchains -A forward -s 192.168.1.0/24
-j MASQ
#################
## Limpiar todas las reglas .... Flush everything
/sbin/ipchains -F input
/sbin/ipchains -F forward
/sbin/ipchains -F output
#################
#Insertar una regla que cierre todos los servicios
de entrada
/sbin/ipchains -I input 1 -j DENY
##Fijar las políticas en negado para los
servicios de entrada, salida
y
##redireccionamiento
/sbin/ipchains -P input DENY
/sbin/ipchains -P output ACCEPT
/sbin/ipchains -P forward ACCEPT
##Habilitar el forwarding de direccionamiento
IP (deshabilitado por
##defecto)
echo "1" > /proc/sys/net/ipv4/ip_forward
#Negar mensajes por difusión (broadcast)
en las interfaces que
permanecen
/sbin/ipchains -A input -d 0.0.0.0 -j DENY
/sbin/ipchains -A input -d 255.255.255.255 -j
DENY
#Variables definidas para definición de
reglas del cortafuegos
ANY="0.0.0.0/0"
ALLONES="255.255.255.255"
REDPRIVADA=192.168.1.0/24
PRIVADA=eth0
PUBLICA=ppp0
##Reglas para el cortafuegos (firewall)
/sbin/ipchains -A input -p udp -d $ANY 137 -j
DENY # Netbios sobre IP
/sbin/ipchains -A input -p tcp -d $ANY 137 -j
DENY # Netbios sobre IP
/sbin/ipchains -A input -p udp -d $ANY 138 -j
DENY # Netbios sobre IP
/sbin/ipchains -A input -p tcp -d $ANY 138 -j
DENY # Netbios sobre IP
/sbin/ipchains -A input -p udp -d $ANY 67 -j
DENY # bootp
/sbin/ipchains -A input -p udp -d $ANY 68 -j
DENY # bootp
/sbin/ipchains -A input -s 192.0.0.0/24 -j DENY
# Multicast
#Permitir salidas de la red privada
/sbin/ipchains -A input -i lo -j ACCEPT
#Verificación de paquetes de la red interna
/sbin/ipchains -A input -i $PRIVADA -s $REDPRIVADA
-d $ANY -j ACCEPT
/sbin/ipchains -A input -i $PRIVADA -d $ALLONES
-j ACCEPT
##Permitir servicios de Salida
# Servicios ICMP
/sbin/ipchains -A input -p icmp -j ACCEPT
#Servicios TCP
/sbin/ipchains -A input -p tcp ! -y -j ACCEPT
#Permitir/Restringir servicios de entrada
/sbin/ipchains -A input -p tcp -d $ANY 22 -j
ACCEPT
#Restringir servicios de entrada - Telnet
/sbin/ipchains -A input -p tcp -d $ANY telnet
-j ACCEPT
#Restringir FTP entrante
/sbin/ipchains -A input -p tcp -d $ANY ftp -j
ACCEPT
#Enmascarar paquetes enviados desde la red interna
/sbin/ipchains -A forward -s $REDPRIVADA -d $ANY
-j MASQ
#Impedir todo lo demas y grabarlo en un archivo
de log
/sbin/ipchains -A input -l -j DENY
#Remover el el bloqueo inicial a los servicios
de entrada
/sbin/ipchains -D input 1
Volver al Indice ...
3.5.3. Pruebas
Las siguientes instrucciones se utilizan para verificar que el cortafuegos
configurado funciona.
Básicamente se borran todas las reglas adicionadas y se permiten
los accesos a los servicios de entrada y
salida (input y output).
##Para probar que SI funciona
/sbin/ipchains -F input
/sbin/ipchains -F output
/sbin/ipchains -F forward
echo 1> /proc/sys/net/ipv4/ip_forward
/sbin/ipchains -A input -j ACCEPT
/sbin/ipchains -A output -j ACCEPT
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -i ppp0 -j MASQ
Volver al Indice ...