Instalação do Layer7 no Debian Etch
O Layer7 é um excelente plugin para o kernel e iptables, onde é possível realizar o bloqueio de programas direto na camada de aplicação sem a necessidade de bloqueio por portas, o que muitas vezes é inviável.
Introdução
O Layer7 é um excelente plugin para o kernel e iptables, onde é possível realizar o bloqueio de programas direto na camada de aplicação sem a necessidade de bloqueio por portas, o que muitas vezes é inviável.
Imagine realizar o bloqueio do Emule, Kazza, Bittorrent com todas as portas que eles utilizam, sendo que as portas são dinâmicas. Você certamente ficaria doido, pois a cada momento seria um porta diferente. Com o Layer7 é possível bloquear sem ter que fazer alteração alguma na estação, somente no servidor. O Layer7 também bloqueia P2P, MSN e muitos outros programas. Vamos começar!
Todos os fontes baixados deverão estar localizados no diretório /usr/src/. Os fontes baixados serão: kernel, iptables, netfilter-layer7 e seus protocolos.
Nota: As linhas que começam com # são comandos a serem utilizados.
Começando:
Baixando os fontes:
# cd /usr/src
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.19.tar.gz
# wget http://www.netfilter.org/projects/iptables/\\
files/iptables-1.3.7.tar.bz2
# wget http://ufpr.dl.sourceforge.net/sourceforge/\\
l7-filter/netfilter-layer7-v2.9.tar.gz
# wget http://ufpr.dl.sourceforge.net/sourceforge/\\
l7-filter/l7-protocols-2007-01-14.tar.gz
Preparando para compilar o kernel e descompactando fontes:
# aptitude install bzip2 gzip unzip
# aptitude install libncurses5-dev
# aptitude install kernel-package
# tar xvzf linux-2.6.19.tar.gz
# tar xvjf iptables-1.3.7.tar.bz2
# tar xvzf netfilter-layer7-v2.9.tar.gz
# tar xvzf l7-protocols-2007-01-14.tar.gz
Crie um link para o diretório do kernel:
# ln -s /usr/src/linux-2.6.19 /usr/src/linux
Copie as configurações de boot:
# cp /boot/config-2.6.18-2-386 /usr/src/linux/.config
Aplicando o patch do layer7 no kernel:
# cd /usr/src/linux
# patch -p1 < /usr/src/netfilter-layer7-v2.9/kernel-2.6.18-2.6.19-layer7-2.9.patch
Agora o kernel está pronto para ser configurado, compilado e instalado.
Estando ainda no diretório /usr/src/linux, digite:
# make menuconfig
A tela de configuração do kernel será mostrada. Você deverá seguir os passos:
Networking ---> Networking options ---> [*] Network packet filtering (replaces ipchains) ---> Core Netfilter Configuration ---> Netfilter Xtables support (required for ip_tables)
Ative com M a opção Netfilter Xtables support.
Com o módulo ativado, selecione Exit e pressione <ENTER>.
Siga para:
Networking ---> Networking options ---> [*] Network packet filtering (replaces ipchains) ---> IP: Netfilter Configuration ---> IP tables support (required for filtering/masq/NAT) --->
e ative:
<M> Layer 7 match support (EXPERIMENTAL)
[*] Layer 7 debugging output
Após ativar conforme acima, siga selecionando Exit e <ENTER> até que seja perguntado se você deseja salvar a nova configuração do kernel, selecione YES e <ENTER> para salvar.
Pronto! O kernel está configurado para o Layer7, basta agora compilar e instalar.
Para compilar. digite o comando:
# make-kpkg -initrd kernel_image
Agora tenha paciência e saia para tomar um café, porque dependendo do seu servidor esse processo pode demorar bastante.
Após terminar a compilação volte ao diretório /usr/src:
# cd /usr/src
Foi criado nesse diretório um arquivo chamado linux-image-2.6.19.7_2.6.19.7-10.00.Custom_i386.deb.
Esse arquivo é o kernel do qual teremos que instalar. Utilize o comando:
# dpkg -i linux-image-2.6.19.7_2.6.19.7-10.00.Custom_i386.deb
O novo kernel está pronto. Agora faltam aplicar o patch ao iptables e instalar o iptables. Por enquanto, ainda não reinicie nada.
Aplicando o patch ao iptables e realizando a instalação. Siga os comandos:
# cd /usr/src/iptables-1.3.7
# patch -p1 < /usr/src/netfilter-layer7-v2.9/iptables-layer7-2.9.patch
# chmod +x extensions/.layer7-test
# make KERNEL_DIR=/usr/src/linux
# make install KERNEL_DIR=/usr/src/linux
A aplicação e instalação do patch no iptables está finalizada. Agora iremos instalar os protocolos.
# cd /usr/src/l7-protocols-2007-01-14
# make install
Tudo pronto!!!!! Agora você já pode reiniciar e na inicialização selecionar o novo kernel.
Ao iniciar tudo, para fazermos um teste, teremos que habilitar o módulo do iptables e aplicar uma regra.
# modprobe ipt_layer7
# iptables -A FORWARD -m layer7 --l7proto bittorrent -j DROP
Pronto! O Bittorrent está bloqueado!!!!
Caso você queira bloquear o MSN o comando seria:
# iptables -A FORWARD -m layer7 --l7proto msnmessenger -j DROP
Na página do Layer7 tem todos os protocolos suportados.
Devido a grande necessidade que tive de instalar o Layer7, pois alguns programas são impossíveis de realizar o bloqueio por portas, escrevi esse artigo com o intuito de ajudar a todos que passam por essa dificuldade.
O artigo foi baseado em parte em outro artigo, o do Hugo Alvarez, no endereço:
Valeu a todos!
Imagine realizar o bloqueio do Emule, Kazza, Bittorrent com todas as portas que eles utilizam, sendo que as portas são dinâmicas. Você certamente ficaria doido, pois a cada momento seria um porta diferente. Com o Layer7 é possível bloquear sem ter que fazer alteração alguma na estação, somente no servidor. O Layer7 também bloqueia P2P, MSN e muitos outros programas. Vamos começar!
Todos os fontes baixados deverão estar localizados no diretório /usr/src/. Os fontes baixados serão: kernel, iptables, netfilter-layer7 e seus protocolos.
Nota: As linhas que começam com # são comandos a serem utilizados.
Começando:
Baixando os fontes:
# cd /usr/src
# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.19.tar.gz
# wget http://www.netfilter.org/projects/iptables/\\
files/iptables-1.3.7.tar.bz2
# wget http://ufpr.dl.sourceforge.net/sourceforge/\\
l7-filter/netfilter-layer7-v2.9.tar.gz
# wget http://ufpr.dl.sourceforge.net/sourceforge/\\
l7-filter/l7-protocols-2007-01-14.tar.gz
Preparando para compilar o kernel e descompactando fontes:
# aptitude install bzip2 gzip unzip
# aptitude install libncurses5-dev
# aptitude install kernel-package
# tar xvzf linux-2.6.19.tar.gz
# tar xvjf iptables-1.3.7.tar.bz2
# tar xvzf netfilter-layer7-v2.9.tar.gz
# tar xvzf l7-protocols-2007-01-14.tar.gz
Crie um link para o diretório do kernel:
# ln -s /usr/src/linux-2.6.19 /usr/src/linux
Copie as configurações de boot:
# cp /boot/config-2.6.18-2-386 /usr/src/linux/.config
Aplicando o patch do layer7 no kernel:
# cd /usr/src/linux
# patch -p1 < /usr/src/netfilter-layer7-v2.9/kernel-2.6.18-2.6.19-layer7-2.9.patch
Agora o kernel está pronto para ser configurado, compilado e instalado.
Estando ainda no diretório /usr/src/linux, digite:
# make menuconfig
A tela de configuração do kernel será mostrada. Você deverá seguir os passos:
Networking ---> Networking options ---> [*] Network packet filtering (replaces ipchains) ---> Core Netfilter Configuration ---> Netfilter Xtables support (required for ip_tables)
Ative com M a opção Netfilter Xtables support.
Com o módulo ativado, selecione Exit e pressione <ENTER>.
Siga para:
Networking ---> Networking options ---> [*] Network packet filtering (replaces ipchains) ---> IP: Netfilter Configuration ---> IP tables support (required for filtering/masq/NAT) --->
e ative:
<M> Layer 7 match support (EXPERIMENTAL)
[*] Layer 7 debugging output
Após ativar conforme acima, siga selecionando Exit e <ENTER> até que seja perguntado se você deseja salvar a nova configuração do kernel, selecione YES e <ENTER> para salvar.
Pronto! O kernel está configurado para o Layer7, basta agora compilar e instalar.
Para compilar. digite o comando:
# make-kpkg -initrd kernel_image
Agora tenha paciência e saia para tomar um café, porque dependendo do seu servidor esse processo pode demorar bastante.
Após terminar a compilação volte ao diretório /usr/src:
# cd /usr/src
Foi criado nesse diretório um arquivo chamado linux-image-2.6.19.7_2.6.19.7-10.00.Custom_i386.deb.
Esse arquivo é o kernel do qual teremos que instalar. Utilize o comando:
# dpkg -i linux-image-2.6.19.7_2.6.19.7-10.00.Custom_i386.deb
O novo kernel está pronto. Agora faltam aplicar o patch ao iptables e instalar o iptables. Por enquanto, ainda não reinicie nada.
Aplicando o patch ao iptables e realizando a instalação. Siga os comandos:
# cd /usr/src/iptables-1.3.7
# patch -p1 < /usr/src/netfilter-layer7-v2.9/iptables-layer7-2.9.patch
# chmod +x extensions/.layer7-test
# make KERNEL_DIR=/usr/src/linux
# make install KERNEL_DIR=/usr/src/linux
A aplicação e instalação do patch no iptables está finalizada. Agora iremos instalar os protocolos.
# cd /usr/src/l7-protocols-2007-01-14
# make install
Tudo pronto!!!!! Agora você já pode reiniciar e na inicialização selecionar o novo kernel.
Ao iniciar tudo, para fazermos um teste, teremos que habilitar o módulo do iptables e aplicar uma regra.
# modprobe ipt_layer7
# iptables -A FORWARD -m layer7 --l7proto bittorrent -j DROP
Pronto! O Bittorrent está bloqueado!!!!
Caso você queira bloquear o MSN o comando seria:
# iptables -A FORWARD -m layer7 --l7proto msnmessenger -j DROP
Na página do Layer7 tem todos os protocolos suportados.
Devido a grande necessidade que tive de instalar o Layer7, pois alguns programas são impossíveis de realizar o bloqueio por portas, escrevi esse artigo com o intuito de ajudar a todos que passam por essa dificuldade.
O artigo foi baseado em parte em outro artigo, o do Hugo Alvarez, no endereço:
Valeu a todos!
Não da pra fazer deploy em cima de qualquer protocolo afim de criar uma base de web inteligence para realizar filtragens mais específicas.