Aplicando plugin Layer7 ao Debian Lenny 64 bits
Dica publicada em Linux / Introdução
Aplicando plugin Layer7 ao Debian Lenny 64 bits
Esse tutorial é guia de instalação do módulo Layer7 em sistema operacional Linux Debian Lenny 64 ou 32 bits.
O Layer7 é um excelente plugin para o kernel e iptables, onde é possível realizar o bloqueio de programas direto, sem a necessidade de bloqueio por portas, o que muitas vezes é inviável como no caso de softwares como TOR, que mudam de porta dinamicamente.
A compatibilidade do Layer7 com o kernel que você vai utilizar pode ser verificada no link:
Baixando os fontes:
# cd /usr/src
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.bz2
# wget http://nchc.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.21.tar.gz
# wget http://iptables.org/projects/iptables/files/iptables-1.4.1.1.tar.bz2
# wget http://jaist.dl.sourceforge.net/sourceforge/l7-filter/l7-protocols-2008-12-18.tar.gz
Preparando o ambiente:
# aptitude install bzip2 gzip unzip
# aptitude install libncurses5-dev
# aptitude install kernel-package
# aptitude install build-essential
Removendo o iptables padrão (versão antiga):
# apt-get remove iptables
Descompactando pacotes:
# tar xvjf linux-2.6.28.tar.bz2
# tar xvjf iptables-1.4.1.1.tar.bz2
# tar xzvf netfilter-layer7-v2.21.tar.gz
# tar xzvf l7-protocols-2008-12-18.tar.gz
Criando link simbólico para o diretório do novo kernel 2.6.8:
# ln -s /usr/src/linux-2.6.28 /usr/src/linux
Copiando as configurações de boot para efetuar compilação do novo kernel:
# cp /boot/config-2.6.26-2-amd64 /usr/src/linux/.config
Aplicando o patch do layer7 no novo kernel:
# cd /usr/src/linux
# patch -p1 < /usr/src/netfilter-layer7-v2.21/kernel-2.6.25-2.6.28-layer7-2.21.patch
# make menuconfig
Na janela que surgirá, siga os passos:
Networking ---> Networking options ---> [*] Network packet filtering Framework (Netfilter) ---> Core Netfilter Configuration
e ative:
<M> Layer 7 match support (EXPERIMENTAL)
[*] Layer 7 debugging output
Agora escolha EXIT até aparecer a tela solicitando para salvar e selecione YES e <ENTER> para salvar.
kernel está configurado para o Layer7, basta agora compilar e instalar. Para isso siga os passos abaixo:
# make
# make module
# make modules_install
# make install
Configurando boot pelo novo kernel:
# cd /boot
# mkinitramfs -o initrd.img-2.6.28 2.6.28
# update-grub
Reinicie o computador e depois verifique se o novo kernel foi realmente carregado usando o comando abaixo:
# uname -r (o kernel deve ser o 2.6.28)
Copiando arquivos do layer7 e instalando o iptables. A versão é a 1.4.1.1:
# cd /usr/src/iptables-1.4.1.1/extensions
# cp /usr/src/netfilter-layer7-v2.21/iptables-1.4.1.1-for-kernel-2.6.20forward/* ./
# cd ..
# ./configure --with-ksource=/usr/src/linux
# make
# make install
Instalando os protocolos do layer7:
# cd /usr/src/ l7-protocols-2008-12-18
# make install
Testando regras:
# iptables -A FORWARD -m layer7 --l7proto tor -j DROP
Com o comando acima você bloqueou o aplicativo TOR.
Para ver os protocolos suportados, acesse o link:
O Layer7 é um excelente plugin para o kernel e iptables, onde é possível realizar o bloqueio de programas direto, sem a necessidade de bloqueio por portas, o que muitas vezes é inviável como no caso de softwares como TOR, que mudam de porta dinamicamente.
A compatibilidade do Layer7 com o kernel que você vai utilizar pode ser verificada no link:
Baixando os fontes:
# cd /usr/src
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.tar.bz2
# wget http://nchc.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.21.tar.gz
# wget http://iptables.org/projects/iptables/files/iptables-1.4.1.1.tar.bz2
# wget http://jaist.dl.sourceforge.net/sourceforge/l7-filter/l7-protocols-2008-12-18.tar.gz
Preparando o ambiente:
# aptitude install bzip2 gzip unzip
# aptitude install libncurses5-dev
# aptitude install kernel-package
# aptitude install build-essential
Removendo o iptables padrão (versão antiga):
# apt-get remove iptables
Descompactando pacotes:
# tar xvjf linux-2.6.28.tar.bz2
# tar xvjf iptables-1.4.1.1.tar.bz2
# tar xzvf netfilter-layer7-v2.21.tar.gz
# tar xzvf l7-protocols-2008-12-18.tar.gz
Criando link simbólico para o diretório do novo kernel 2.6.8:
# ln -s /usr/src/linux-2.6.28 /usr/src/linux
Copiando as configurações de boot para efetuar compilação do novo kernel:
# cp /boot/config-2.6.26-2-amd64 /usr/src/linux/.config
Aplicando o patch do layer7 no novo kernel:
# cd /usr/src/linux
# patch -p1 < /usr/src/netfilter-layer7-v2.21/kernel-2.6.25-2.6.28-layer7-2.21.patch
# make menuconfig
Na janela que surgirá, siga os passos:
Networking ---> Networking options ---> [*] Network packet filtering Framework (Netfilter) ---> Core Netfilter Configuration
e ative:
<M> Layer 7 match support (EXPERIMENTAL)
[*] Layer 7 debugging output
Agora escolha EXIT até aparecer a tela solicitando para salvar e selecione YES e <ENTER> para salvar.
kernel está configurado para o Layer7, basta agora compilar e instalar. Para isso siga os passos abaixo:
# make
# make module
# make modules_install
# make install
Configurando boot pelo novo kernel:
# cd /boot
# mkinitramfs -o initrd.img-2.6.28 2.6.28
# update-grub
Reinicie o computador e depois verifique se o novo kernel foi realmente carregado usando o comando abaixo:
# uname -r (o kernel deve ser o 2.6.28)
Copiando arquivos do layer7 e instalando o iptables. A versão é a 1.4.1.1:
# cd /usr/src/iptables-1.4.1.1/extensions
# cp /usr/src/netfilter-layer7-v2.21/iptables-1.4.1.1-for-kernel-2.6.20forward/* ./
# cd ..
# ./configure --with-ksource=/usr/src/linux
# make
# make install
Instalando os protocolos do layer7:
# cd /usr/src/ l7-protocols-2008-12-18
# make install
Habilitando Layer7 e testando
Você pode colocar esse comando dentro do arquivo /etc/rc.local:
modprobe ipt_layer7
Testando regras:
# iptables -A FORWARD -m layer7 --l7proto tor -j DROP
Com o comando acima você bloqueou o aplicativo TOR.
Para ver os protocolos suportados, acesse o link:
Tenho um servidor Lenny Kernel 2.6.26-1-686, rodando diversos.. sera que se eu fazer exatamente o que você passou, não terei problemas? como conflitos etc?
Agradeço desde já!