Como construir um firewall de baixo custo para sua empresa (parte 3)

Na terceira e última parte deste artigo, você ficará sabendo sobre cada um dos elementos que constituem as regras de um firewall com o iptables. Verá também a relação custo x benefício para a construção de um firewall utilizando Linux.

[ Hits: 34.082 ]

Por: Thiago da Silva Christofoli em 19/11/2003


Componentes de um firewall



Olá comunidade estou de volta...

Nesta terceira parte da série de artigos venho mostrar as explicações para cada parte de uma regra e tomarei como exemplo as regras citadas no artigo anterior, algumas regras simples, mas que são de vital importância para a segurança de uma rede que fica conectada 24 horas por dia com a internet.

Antigos anteriores:

Vamos ver algumas regras simples:

# iptables -A INPUT -p tcp -syn -j DROP
# iptables -A INPUT -i ppp0 -p udp -drport 0:30000 -j DROP


Isso fará com que a sua máquina passe a ignorar as conexões vindas de qualquer porta tcp, sem enviar sequer uma confirmação de que o pacote foi recebido. Você continuará acessando a internet normalmente, mas ninguém conseguirá se conectar diretamente a sua máquina. A Segunda regra bloqueia também parte das portas UDP, adicionando uma camada extra de segurança.

Agora vamos a explicação dos comandos desta regra.

O firewall com iptables funciona com regras e estas regras são chamadas de chains, as três chains possíveis são:
  • INPUT - Utilizada quando o destino final é a própria máquina firewall;
  • OUTPUT - Qualquer pacote gerado na máquina firewall e que deva sair para a rede será tratado por essa chain;
  • FORWARD - Qualquer pacote que atravessa o firewall, oriundo de uma máquina e direcionado a outra será tratada por essa chain.
As regras de um firewall no Linux são compostas assim:

iptables [-t tabela] [opção] [chain] [dados] -j [ação] ]

Um exemplo:

# iptables -A FORWARD -d 192.168.1.1 -j DROP

A linha acima determina que todos os pacotes destinados à máquina 192.168.1.1 devem ser descartados. No caso:

Tabela: filter (é a default)
Opção: -A
Chain: FORWARD
Dados: -d 192.168.1.1
Ação: DROP

Existem várias possibilidades que fogem à sintaxe mostrada anteriormente. É o caso do comando iptables -L, que mostra as regras em vigor.

Análise das regras com a tabela filter


As principais opções são:
  • -P - Policy (política). Altera a política da chain. A política inicial de cada chain é ACCEPT. Isso faz que o firewall, inicialmente, aceite qualquer INPUT, OUTPUT ou FORWARD. A política pode ser alterada para DROP, que irá negar o serviço da chain, até que uma opção -A entre em vigor. O -P não aceita REJECT ou LOG;
  • -A - Append (anexar). Acresce uma nova regra a chain. Tem prioridade sobre o -P. Geralmente, como buscamos segurança máxima, colocamos todas as chains em política DROP, com o -P e, depois, abrimos o que é necessário;
  • -D - Delete (apagar). Apaga uma regra. A regra deve ser escrita novamente, trocando-se a opção para -D;
  • -L - Flush (esvaziar). Remove todas as regras existentes, no entanto, não altera a política (-P).


Dados


Os elementos mais comuns para se gerar dados são os seguintes:
  • -s - Source (origem). Estabelece a origem do pacote. Geralmente é uma combinação do endereço IP com a máscara de sub-rede, separados por uma barra;
  • -d - Destination (destino). Estabelece o destino do pacote. Funciona exatamente como o -s, incluindo a sintaxe;
  • -p - Protocol (protocolo). Especifica o protocolo a ser filtrado. O protocolo IP pode ser especificado pelo seu número ou pelo seu nome. Os protocolos mais utilizados são udp, tcp e icmp;
  • -i - In-Interface (Interface de entrada). Especifica a interface de entrada. As interfaces existentes podem ser vistas com o comando ifconfig. O -i não pode ser utilizado com a chain OUTPUT;
  • -o - Out-Inteface (interface de saída). Especifica a interface de saída. Similar a -i, inclusive nas flexibilidades. O -o não pode ser utilizado com a chain INPUT;
  • -! - Exclusão. Utilizado com -s, -d, -p, -i, -o e outros para excluir o argumento;
  • --sport - Source Port. Porta de origem. Só funciona com as opções -p udp e -p tcp;
  • --dport - Destination Port. Porta de destino. Só funciona com as opções -p udp e -p tcp;


Ações


As principais ações são:
  • ACCEPT - Aceitar. Permite a passagem do pacote;
  • DROP - Abandonar. Não permite a passagem do pacote, descartando-o. não avisa a origem sobre o ocorrido;
  • REJECT - Igual ao DROP, mas avisa a origem sobre o ocorrido (envia pacote icmp);
  • LOG - Cria um log referente à regra, em /var/log/messages.


Relação custo benefício


Este é um aspecto bem interessante quando lidamos com o Linux, pois como todos nós sabemos o Linux é um software livre e gratuito, mas o desenvolvimento de uma solução não é gratuito, pois o desenvolvedor do firewall deverá sempre estar atento a possíveis ataques com isso ele tem que estar sempre atento a novas regras e principalmente verificar os logs do sistema...

Mas como cobrar por isso??? Esse é um fator que devemos estar muito atentos, pois devemos saber quanto cobrar, ou seja, cobrar pelo seu tempo de desenvolvimento, como o próprio título do artigo frisa, este é um firewall de baixo custo devido as ferramentas envolvidas no processo, softwares livres. O que devemos levar em conta são as horas de desenvolvimento do mesmo.

Conclusão


Conclui-se que um firewall, sem dúvida nenhuma, é um fator essencial para a segurança de uma empresa, pois como vimos nestes três artigos, o mesmo protege a integridade dos dados de uma rede de computadores e devemos levar em conta que a construção da mesmo requer muita atenção e auditorias constantes.

Para um estudo mais aprofundado sobre segurança, sugiro o IDS (sistemas de Detecção de Intrusão).

Até o próximo artigo!!!

Thiago da Silva Christofoli
Analista de Sistemas

   

Páginas do artigo
   1. Componentes de um firewall
Outros artigos deste autor

Linux: Uma ótima opção para sua empresa

Como construir um firewall de baixo custo para sua empresa (parte 2)

Configurando o Squid no Kurumin

Como criar um firewall de baixo custo para sua empresa

Leitura recomendada

Arno Iptables Firewall (poderoso e simples)

Análise da distribuição Mandrake Security

Firewall iptables com NAT

Firewall seguro com o IPTables

IPTables - Desvendando o mistério

  
Comentários
[1] Comentário enviado por fabio em 19/11/2003 - 11:12h

Ficou muito bem explicado, parabéns!

[2] Comentário enviado por jeffestanislau em 19/11/2003 - 11:42h

Grande thiago, seu artigo ficou muito bom.
Fez um encerramento bem detlhado!!!
Parabéns!!!

[3] Comentário enviado por lacierdias em 21/11/2003 - 07:05h

Ficou exelente detalhou bem cada passo....Ficamos gratos pos matérias assim.....Abraço

[4] Comentário enviado por thiagosc em 21/11/2003 - 09:35h

valeu galera pelo insentivo !!! Obrigado!!!

[5] Comentário enviado por paulo neiva em 22/11/2003 - 21:48h

Boa contribuição, Thiago! Simples e claro sobre os pontos mais importantes.
Apenas uma pequena errata: onde se lê

"-L - Flush (esvaziar). "

acredito que deveria ser

"-F - Flush (esvaziar)."

OK?

[6] Comentário enviado por guachinim em 21/11/2005 - 16:19h

Cara, acabo de encontrar seu artigo, ainda não o li, mas gostaria de saber se com ele [iptables] consigo fazer bloqueios de socks, urls e outros?????
Valeu..
Chiko

[7] Comentário enviado por math em 24/08/2006 - 12:29h

Parabléns.
Gostaria de trabalhar com linux firewall(segurança da informação) vc tem alguma dia pra me dar pra começar nesta area?
Valeu.

[8] Comentário enviado por fer em 27/08/2007 - 20:37h

legal mesmo
mt bom esse artigo num tenhu firewall na empresa
ja estou procurandu mais info
otimo artigo super completo
volto a entrar em conto depois q estiver usandu firewall no meu serv..
valeu ...

FER....

[9] Comentário enviado por ede_linux em 19/10/2016 - 12:08h

Parabéns pelo artigo, excelente!

Devo aplicar isto ao meu pc, o que utilizo no dia a dia para trabalhar/aceder ao email?
Obrigado


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts