Através da implantação, adaptação e melhorias de diversos scripts encontrados na internet, em livros e outros que formulei, crie este script com o mesmo propósito da comunidade do
Linux em que cada um oferece sua parte para um grande sistema, onde a união de suas partes é maior do que a soma deles. "Este é um principio da administração".
Bom, o script oferece diversas vantagens além das que já foram ditas na descrição, mas uma grande diferencial que ofereço é o tamanho das possibilidades de gerenciar este script e a flexibilidade dele, pois contém diversas variáveis que facilitam a reconfiguração, pois basta alterar uma linha do script e todo o restante será afetado.
Este script foi testado durante muito tempo e pode ter certeza que contém a união de diversos scripts encontrados na internet e em livros. Outro item importante que falta dizer é que com os testes foi possível identificar e excluir regras que bloqueavam coisas indesejadas e que são regras testadas na prática.
A minha intenção não era construir um artigo que apenas possuísse um monte de regras com as quais ninguém entende o por quê da existência delas, mas um artigo que mostrasse diversas formas de configurar um Firewall, justamente para atender as diversas necessidades dos administradores de TI, tanto uma empresa rígida como outra mais leve.
Assim tentei construir um artigo sobre script de firewall que atendesse essas necessidades com exemplos claros e explicação detalhada de cada item e também que possuísse a flexibilidade da reconfiguração.
Pré-requisitos básicos, se você está pensando que para o hardware? Enganou-se, já que eu faço meus testes em um Pentium I mmx 200 Mhz, a placa mãe tem a data de 1997. O Linux possui uma grande versatilidade e funciona praticamente em qualquer hardware, mas os requisitos são para as pessoas mesmo e não para as máquinas, seguem então os requisitos:
- Conhecimento prévio do Iptables;
- Conhecimento de Shell-script;
- Conhecimento básico de Linux;
- Conhecimento sobre comandos em internos do sistema.
Para aqueles que sabem a nível médio ou iniciante em Linux que ainda não compreende o Iptables, sugiro a Leitura de um artigo no seguinte endereço:
De forma prática e bem concisa o autor ensina a estrutura de funcionamento do Iptables, porém não ensina a sua sintaxe e nem configurar o mesmo. Este artigo se limita a ensinar como construir o script que inicializa as configurações do iptables para manipular as tabelas do netfilter, em breve estarei lançado meu próprio artigo que ensinará o funcionamento do firewall em questão e sua sintaxe de forma bem didática.
A implementação deste script foi feita em computador com o Debian-Etch, mas segue um exemplo de implementação no Slackware. Das Características completas do que ele implementa:
- Tráfego de prioridade de saída e entrada pela tabela mangle;
- Ativa o redirecionamento no arquivo ip_forward;
- Habilita o fluxo interno entre os processos;
- Libera as portas principais do servidor;
- Bloqueia acesso de sites negados a rede interna;
- Bloqueio de ataques conhecidos como: ping da morte, SYN-FLOOD, ssh de força bruta, Back Orifice, TRIN00, bloqueio para o servidor X, Anti-Spoofings;
- Bloqueio de scanners ocultos (Shealt Scan);
- AMARRA IP AO MAC;
- Libera Radio UOL mesmo com o proxy transparente;
- Direciona as requisições da porta 80 para a 3128 (proxy transparente);
- Ativa o mascaramento da rede interna para a externa;
- Exemplos de regras que fazem diversos arranjos como: Redirecionar conexões do VNC, bloqueio do emule, bloqueio Kazaa, Morpheus e AudioGalaxy.