Olá!
Um tempo atrás fiz um artigo chamado Servidor de Firewall e Empresas que descreve o conceito de firewall e sua importância para as empresas. Lendo-o resolvi fazer dois artigos falando mais profundamente sobre firewall de filtragem de pacotes Iptables e firewall de aplicação chamado de Squid. Nesse artigo vou falar sobre firewall de pacotes Iptables.
Conceito:
Todo pacote possui um cabeçalho que contem informações como origem/destino, estado de conexão, tipos de serviços, tamanho etc. Ofirewall de pacotes vai tomar suas decisões baseados em regras de aceitação ou negação desses pacotesanalisando o conteúdo seu cabeçalho.O firewall de filtragem de pacotes trabalha nas camadas de rede e transporte sendo que a primeira ocorre o endereçamento dos equipamentos e a segunda encontram-se os protocolos responsáveis pelo transporte dos dados. Entre eles estão o UDP e TCP.
O Iptables se enquadra nesse tipo de firewall, pois ele analisa as informações que vem no cabeçalho baseados em regras dando a permissão ou não desses pacotes chegarem ao seu destino final. O Iptables ou firewall de maneira geral não funciona de forma automática, é necessário ter conhecimentos básicos de redes tcp/ip, roteamento e portas para criar regras que farão a segurança de sua rede.
Instalação do Iptables:
Na realidade não será necessário instalá-lo no GNU/Linux uma vez que ele é nativo em todas as distribuições a partir do kernel 2.4. Para usá-lo basta criar um script ou arquivo com seus comandos e torná-lo um executável e colocando-o na inicialização de sua distribuição favorita.
Para criar o script de firewall basta usar o editor de texto de sua preferência e começar com #!/bin/bash. Depois de feito o script salve-o e torne-o executável com o comando chmod +x.
Exemplo:
# chmod +x firewall.sh
// a extensão .sh é apenas para indicar que é um script e não vai influenciar em nada o script
Regras de Firewall Iptables
Há um grande número de regras para Iptables e elas serão aplicadas de acordo com a necessidade de cada empresa ou pessoa física. Nesse ponto vou demonstrar apenas a sintaxe de algumas regras e no final do artigo vou colocar alguns links que conterão scrpits de firewall.
As regras do Iptables devem ter a seguinte sintaxe:
- iptables: habilita o firewall;
- -L: lista as regras que estão sendo usadas;
- -s: mostra a origem do pacote que será tratado pelo iptables;
- -j: aponta a ação sobre o pacote bloqueando ou liberando
- ACCEPT: libera o pacote;
- DROP: bloqueia o pacote;
- -A [chain]: acrescenta uma determinada regra a uma chain;
- -D [chain]: deleta uma determinada regra a uma chain;
- -R: substitui uma determinada regra por outra;
- -F [chain]: deleta todas as regras de todas as chains;
- -P [chain]: define a interface que está sendo tratada em uma determinada entrada de dados;
- -o [interface]: define em qual interface está sendo tratada a saída de dados;
- -p: define o protocolo;
- --deport: define porta;
Exemplos das regras:
1) iptables -A INPUT -p tcp -s 10.0.0.0/24 --dport 22 -j ACCEPT
2) iptables -A INPUT -p tcp -s 10.0.0.49 --dport 22 -j DROP
Na primeira regra libera a porta 22 para a rede 10.0.0.0/24. Já na segunda a porta 22 foi bloqueada para o host 10.0.0.49.
Uma coisa que é importante lembrar no momento de criar as regras do Iptables é saber ele as processa de maneira sequencial, permitindo ou recusando a conexão conforme encontra a regra. Levando em conta esse aspecto, quando uma regra for específica deve vir antes da regra mais geral.
Começando o Iptables no boot:
Uma vez que já criou seu script de firewall e tornando-o um executável é interessante fazer com que ele comece sempre aoligar o computador (boot). Para isso faça os seguintes procedimentos:
- Coloque seu script no /etc/init.d;
- mv /etc/init.d
- Crie um link do seu script no diretório rc2.d da seguinte maneira:
- ln -s /etc/init.d/firewall.sh /etc/rc2.d/S??firewall.sh
Nesse caso ?? coloque a ordem que ele vai ser ordem de inicialização, que no meu caso coloquei 99.
Outra opção é colocar as regras no arquivo rc.local que fica no /etc.
Conclusão:
Esse artigo foi apenas para dar um pequeno resumo sobre o Iptables. Ele é atualmente o mais usado e serve como base para outros firewalls como o Endian, porém para configurarsuas regras deve-se ter um certo conhecimento em redes de computadores como por exemplo os protocolos, portas de serviços e etc. Por essa razão é importante entrar em contato com um profissional principalmenteo empresário que pretende instalar um firewall em sua empresa, pois se chamar o “sobrinho que brinca de computador”pode trazer transtornos e prejuízos.
No site Viva o Linux há alguns scripts de iptables.
Nenhum comentário:
Postar um comentário