A utilização do script é bem simples. Ele trabalha da seguinte forma:
Um menu principal com 4 opções:
Primeiro estágio - instalação do kernel
Estágio 2 - configurações do iptables
Gerar um script de firewall de exemplo
Sair
Na primeira opção será efetuado o ajuste no arquivo do repositório, instalado os pacotes necessários. Será baixado o código fonte do kernel e mais dois arquivos, um deles é o arquivo com as configurações padrões desta versão do kernel e o outro é o patch que será inserido em nosso novo kernel.
Nossos arquivos serão descompactados, será inserido o patch no kernel e inseridas as linhas necessárias a configuração do Layer7 no kernel.
Com isso o kernel será compilado.
Neste processo coloquei um aviso no script que será necessário pressionar 8 vezes enter para confirmar as configurações. Depois deste ponto o kernel será compilado e será gerado um pacote .deb que será instalado automaticamente. Depois deste processo o sistema será reiniciado.
Na segunda opção será baixado o fonte do iptables e será inserido um patch nele que servirá para habilitar o suporte ao Layer7. Ele será compilado e será gerado também um arquivo .deb que já será instalado automaticamente.
Depois será gerado um arquivo dando prioridade ao nosso iptables compilado, ele não será atualizado via "aptitude safe-upgrade" ou "apt-get upgrade".
Depois disso serão instalados os protocolos do Layer7 e carregados os módulos.
Na terceira opção eu estou gerando um firewall de teste, que já está com algumas regras do Layer7. Ele contém as opções básicas de um script: start, stop, restart e status.
Depois de iniciar o script, execute-o com a opção "status" e verifique as regras que estão trabalhando. Ele é somente um exemplo que pode ser ajustado às suas necessidades.
[3] Comentário enviado por hugoalvarez em 29/10/2009 - 19:40h
Ficou bonito o script, acho que poderia deixar a OUTPUT padrão DROP para evitar que usuários com conexões relacionadas conseguissem OUTPUT através de algum software ou vírus que se instalou, muitos podem iniciar conexões dependendo do caso, pelo que vi foi usada OUTPUT padrão em ACCEPT
\$IPT -P INPUT DROP
\$IPT -P OUTPUT ACCEPT
\$IPT -P FORWARD DROP
perdoe minha ignorância, estou voltando agora aos estudos hehehe e o artigo foi alvo de muita pesquisa com certeza antes de ser estar aqui, é bem detalhado, mas um OUTPUT DROP acaba matando todos os msns e todas as porcarias online, o chato é ficar configurando, mesmo assim nota 10.
[4] Comentário enviado por removido em 29/10/2009 - 20:16h
Poderia tambem ter deixado o OUTPUT com a politica default DROP.
eu optei pela utilização da OUTPUT ACCEPT pelo motivo de qua qualquer conexão como OUTPUT tem que sair da maquina local e não das outras maquinas da rede.
Se uma conexão sair de outra maquina vai sair pelo firewall como FORWARD e as conexão com o FORWARD estão com politicas DROP só vai passar o que for definido pelo administrador.
[6] Comentário enviado por removido em 03/11/2009 - 07:47h
Bom dia a todos.
Percebi que a script que postei esta dando problemas para alguma pessoas por causa da configuração inicial do servidor.
Eu bolei um script para a configuração inicial do servidor que vai servir de base para o script do Layer7.
Pois muitas pessoas quando rodarem o script vão perceber que da algum erro por falta de algum pacote que já deveria estar instalado em um ambiente base para servidor.
Quem quiser este Script de configuração inicial do servidor para deixar uma boa base para a implementação do Layer7, eu passo o script por email ou pelo msn.
[8] Comentário enviado por removido em 04/11/2009 - 07:42h
E ai.
Cara no script de instalação que eu te mandei por email, eu garanto o que estará instalado no servidor que é de uso cotidiano, o telnet é muito util para teste de portas abertas e conexões.
e o smbclient eu utilizo muito por questões de precisar de arquivos que estão em servidores Windows e em Servidores Samba.
[9] Comentário enviado por silent-man em 10/11/2009 - 14:52h
Boa tarde douglashx
A intenção e ou automatização do script é uma ótima idéia(também odeio fazer a mesma coisa várias vezes).
Só gostaria de atentar para as regras de firewall
/sbin/iptables -P FORWARD DROP (é isso ai vamos negar TUDO que poderia sair/partir de nossa REDE/LAN).
Ai mas a frente você faz o seguinte:
\${IPT} -A FORWARD -s \${LAN} -p tcp -m tcp --dport 80 -j DROP ( OPA! ISSO AQUI JÁ ESTÁ BLOQUEADO na politica padrão FORWARD DROP).
\${IPT} -A FORWARD -s \${LAN} -j ACCEPT ( AQUI FICOU PERIGOSO EIN!!!??? ) se você der esse FORWARD ACCEPT, todo e qualquer tráfego poderá sair/partir da sua rede para outra(dmz, internet, etc...) inclusive a porta 25 para spammers.
O mesmo vale para a tabela INPUT (toda sua lan tem acesso ao seu FW)
\${IPT} -A INPUT -s \${LAN} -j ACCEPT
Bom isso foi apenas uma dica, me corrija ou simplesmente ignore se estiver errado.
[10] Comentário enviado por consultor.inf em 03/11/2010 - 11:10h
Muito bom seu artigo.
Instalei e aparentemente ocorreu tudo bem, fis um teste bloqueando msn e funcionou.
O problema e quando tento bloquear videos ele não bloqueia. Estou usando a seguite regra
# iptables -t mangle -A POSTROUTING -m layer7 --l7proto httpvideo -j DROP