Script de firewall completíssimo
Este script possui diversas características como: mascaramento da rede interna e a rede externa, bloquear acesso de sites, rádio UOL mesmo com proxy transparente, liberar as portas principais, bloqueio de ataques como ping da morte, SYN-FLOOD, ssh de força bruta, anti-spoofings e entre outros. Faltou dizer a importante amarração do ip ao mac.
Introdução
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:
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:
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.
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.
Só uma contribuição:
"
#bloquear ataque do tipo SYN-FLOOD
echo "0" > /proc/sys/net/ipv4/tcp_syncookies
$IPTABLES -A INPUT -i $WAN -p tcp --syn -j syn-flood
(...)
$IPTABLES -A syn-flood -m limit --limit 1/s --limit-burst 4 -j RETURN
"
Como descrevi em meu outro artigo "Iptables Protege contra Syn-Food?" esta técnica baseada em limit é FURADA (veja o artigo e meus argumentos em http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=7070).
Mas porque o "0" no tcp_syncookies??
Colocar "1" nele (LIGAR) por si só já é técnica suficiente para bloquear o Syn food. Claro que isto deve ser feito em TODOS os servidores. Tentar evitar a negação de serviço no firewall usando limit é FURADA!
[]'s