lunes, 4 de agosto de 2008

IP Tables mas 7Layer Filter - Firewall

Introducción

Este tutorial le guiará a través de la creación de una capa Linux clasificador de paquetes de 7 en Linux CentOS 5.1, este puede ser fácilmente adaptado a cualquier otra distribución de Linux que andan por ahí.

L7-filtro es un clasificador para el Linux Netfilter que identifica paquetes basados en las pautas de capa de aplicaciones de datos. Esto permite corregir la clasificación de tráfico P2P.
Puede clasificar los paquetes tales como Kazaa, HTTP, Jabber, Citrix, Bittorrent, FTP, Gnucleus, eDonkey2000, etc, que utiliza los puertos impredecibles, así como protocolos estándar no se ejecuta en los puertos estándar. Complementa existentes que coincidan con los clasificadores en la dirección IP, números de puerto y así sucesivamente. http://l7-filter.sourceforge.net/


1) Download required packages

1.1) Download L7-filter kernel

wget http://downloads.sourceforge.net/l7-filter/netfilter-layer7-v2.19.tar.gz

1.2) Download L7-filter userspace

wget http://downloads.sourceforge.net/l7-filter/l7-filter-userspace-0.7.tar.gz

1.3) Download L7-filter Protocol definitions

wget http://downloads.sourceforge.net/l7-filter/l7-protocols-2008-04-23.tar.gz

Important Note: Always download the latest version of L7-filter from http://sourceforge.net/project/showfiles.php?group_id=80085

1.4) Download Linux Iptables 1.4.0

wget http://www.netfilter.org/projects/iptables/files/iptables-1.4.0.tar.bz2

1.5) Download Linux Kernel 2.6.26

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.tar.bz2

2) Install L7-filter

Open a terminal and do

tar -xvf linux-2.6.26.tar.bz2

tar -xvf netfilter-layer7-v2.19.tar.gz

2.1) Apply patch to Linux kernel source

cd linux-2.6.26
patch -p1 < ../netfilter-layer7-v2.19/kernel-2.6.25-layer7-2.19.patch

2.2) Apply patch & install iptables 1.4.0

tar -xvf iptables-1.4.0.tar.bz2
cd iptables-1.4.0
patch -p1 < ../netfilter-layer7-v2.19/iptables-1.4-for-kernel-2.6.20forward-layer7-2.19.patch
chmod +x extensions/.layer7-test
make KERNEL_DIR=~/linux-2.6.26
make install KERNEL_DIR=~/linux-2.6.26

3) Installing protocol definitions

tar -xvf l7-protocols-2008-04-23.tar.gz
cd l7-protocols-2008-04-23
mkdir /etc/l7-protocols
cp protocols/* /etc/l7-protocols

4) Compiling & installing new linux kernel

cd linux-2.6.26
make menuconfig
make all
make modules_install
make install

Nota importante: - Debe habilitar las siguientes opciones (estas son correctos para Linux 2.6.26, pero tienden a moverse mucho, así que usted puede tener que ir de caza si usted tiene otra versión del núcleo):

* "Red marco de filtrado de paquetes (Netfilter)" (→ Redes Redes opción)
* "Netfilter conexión de seguimiento de apoyo" (... → Red marco de filtrado de paquetes (Netfilter) → Configuración de Netfilter Core)
* "Conexión de seguimiento del flujo de" (en la misma pantalla)
* Por último, "Layer 7 coincidir con apoyo"
* Opcional, pero muy recomendable: un montón de opciones de Netfilter, sobre todo "el apoyo de FTP" y de otros partidos. Si no sabes lo que estás haciendo, seguir adelante y permitir que todos ellos.

5) Check GRUB setting

vim /etc/grub.conf

It must look like this:

default=0
timeout=3
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.26)
root (hd0,0)
kernel /vmlinuz-2.6.26 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.26.img
title CentOS (2.6.18-53.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet


initrd /initrd-2.6.18-53.el5.img

6) Finally

Well we are done, restart the system and enjoy.

restart

7) Test l7-filter

iptables -m layer7 --help

Have fun!


Arituculo original en ingles: howtoforge

No hay comentarios: