quarta-feira, 17 de fevereiro de 2010

Como funcionam os firewalls

Como funcionam os firewalls
por Jeff Tyson - traduzido por HowStuffWorks Brasil

Introdução

Se você usa a Internet há algum tempo, já deve ter ouvido falar em firewall. Tanto a conexão doméstica quanto a conexão em rede de grandes corporações podem ter problemas de segurança. Com um firewall, é possível proteger a rede das páginas ofensivas e dos hackers em potencial.

O termo inglês firewall faz uma alusão comparativa à função que o sistema desempenha a fim de evitar o alastramento de dados nocivos dentro de uma rede de computadores, da mesma forma que uma parede corta-fogo (firewall) evita o alastramento de incêndios pelos cômodos de uma edificação. Conforme você for lendo este artigo, vai aprender como ele funciona e de que tipos de ameaças o firewall protege as redes.

O que ele faz

Um firewall é um programa ou dispositivo de hardware que filtra as informações que entram pela conexão da Internet para a rede de conexão ou o sistema do computador. Se um pacote de informações recebido estiver marcado pelos filtros, não vai receber permissão para passar.

Se você leu o artigo Como funcionam os servidores Web, já sabe como os dados se movem pela Internet e vai entender facilmente como um firewall ajuda a proteger os computadores dentro de uma grande empresa. Digamos que você trabalha em uma empresa com 500 funcionários. A empresa provavelmente terá centenas de computadores com placas de rede conectando-os. Além disso, a empresa também terá uma ou mais conexões de alta velocidade com a Internet. Sem um firewall, todos esses computadores estariam diretamente acessíveis para qualquer um na Internet. Um hacker pode sondar esses computadores, tentar estabelecer conexões FTP com eles, fazer conexões telnet e assim por diante. Ou, se um funcionário cometer um erro e deixar um furo na segurança, os hackers podem chegar nessa máquina e explorar esse furo.

Uma empresa poderá colocar um firewall em cada conexão com a Internet (por exemplo, em cada linha de conexão que entra na empresa). O firewall é capaz de implantar regras de segurança. Por exemplo, umas das regras de segurança dentro da empresa poderia ser: ter 500 computadores dentro dessa empresa, mas somente um deles ter a permissão de receber tráfego público de FTP. O firewall permitiria conexões FTP somente com esse computador e as impediria em todos os outros.

Uma empresa pode definir regras como essa para os servidores FTP, Web, Telnet e outros. Além do mais, a empresa também pode controlar como os funcionários se conectam com páginas da Internet, se os arquivos sairem da empresa pela rede. Um firewall dá à empresa um grande controle sobre a maneira como as pessoas usam a rede.

Para controlar o tráfego pela rede, podem-se usar alguns dos métodos abaixo.

  • Filtros de pacotes - pacotes (pequenos pedaços de dados) são analisados levando um conjunto de filtros em consideração. Os pacotes que atravessam os filtros são enviados ao sistema que o pediu e todos os outros são descartados.
  • Serviço proxy - informações da Internet são captadas pelo firewall e enviadas ao sistema que as pediu e vice-versa.
  • Stateful inspection - método mais novo que não examina os conteúdos de cada pacote, mas compara certas partes especiais com um banco de dados de informações confiáveis. Informações da parte interior do firewall para a parte exterior são monitoradas para verificar características específicas e as informações recebidas são comparadas com essas características. Se a comparação tiver uma igualdade razoável, as informações recebem permissão para entrar. Senão, são descartadas.

Adequando o firewall

Os firewalls podem ser personalizados. E isso significa que é possível adicionar ou remover filtros baseando-se em várias condições. 
  • Endereços IP - cada máquina na Internet recebe um endereço único chamado de endereço IP. Os endereços IP são números de 32 bits que costumam ser expressados como quatro "octetos" em um "número decimal separado por pontos". Um endereço IP tem a seguinte aparência: 216.27.61.137. Por exemplo, se um determinado endereço IP fora da empresa estiver lendo muitos arquivos de um servidor, o firewall pode bloquear todo o tráfego que entra ou sai desse endereço IP.

  • Nomes de domínio - é difícil lembrar a seqüência de números que compõem um endereço IP e como os endereços IP precisam ser alterados de vez em quando, todos os servidores da Internet também têm nomes que podem ser lidos por nós: os nomes de domínio. Por exemplo: para a maioria das pessoas é bem mais fácil lembrar de www.hsw.com.br do que lembrar de 216.27.61.137. Uma empresa pode bloquear todo o acesso a certos nomes de domínio ou permitir acesso somente a domínios específicos.

  • Protocolos - o protocolo é a maneira pré-definida pela qual alguém que deseja usar um serviço se comunica com esse serviço. Esse "alguém" costuma ser um programa, como um navegador web, mas também pode ser uma pessoa. Os protocolos freqüentemente são textos e simplesmente descrevem como o cliente e o servidor irão conversar. O http é um protocolo da Internet. Veja alguns protocolos comuns que você pode incluir nos filtros de firewalls:

    • IP (Protocolo da Internet): principal serviço de entrega de informações na Internet
    • TCP (Protocolo de controle de transmissão): usada para quebrar e reconstruir informações que viajam pela Internet
    • HTTP (Protocolo de transferência de hipertexto): usado para páginas da Internet:
    • FTP (Protocolo de transferência de arquivos): usado para fazer o download e o upload de arquivos
    • UDP (Protocolo de datagrama de usuário): usado para informações que não requerem resposta, como áudio e vídeo streaming
    • ICMP (Protocolo de mensagens de controle da Internet): usado por um roteador para trocar informações com os outros roteadores
    • SMTP (Protocolo de transporte de correio simples): usado para enviar informações de texto (e-mail)
    • SNMP (Protocolo de gerenciamento de rede simples): usado para coletar informações de sistema de um computador remoto
    • Telnet: usado para executar comandos em um computador remoto

    Uma empresa pode configurar apenas 1 ou 2 máquinas para lidar com um protocolo específico e proibir esse protocolo em todas as outras máquinas.

  • Portas - qualquer servidor disponibiliza seus serviços de Internet usando portas enumeradas, uma para cada serviço disponibilizado pelo servidor (consulte Como funcionam os servidores Web para mais detalhes). Por exemplo, se uma máquina está executando um servidor Web e um servidor de FTP, o servidor Web normalmente ficaria disponível na porta 80, ao passo que o servidor de FTP estaria disponível na porta 21. Uma empresa pode bloquear o acesso à porta 21 em todas as máquinas da empresa, exceto uma.

  • Palavras e frases específicas - um firewall irá procurar cada pacote de informações em busca de algo que coincida exatamente com o texto listado no filtro. Por exemplo, seria possível instruir o firewall para que ele bloqueasse qualquer pacote que tenha a palavra "conteúdo adulto". Mas é importante que eles sejam exatamente iguais. O filtro para "conteúdo adulto" não perceberia "conteúdos adultos" (no plural). A solução então é incluir o maior número de palavras, frases e variações que você puder.
Alguns sistemas operacionais vêm com um firewall integrado. Se esse não for o seu caso, um programa firewall pode ser instalado no computador da sua casa que tenha conexão com a Internet. Esse computador é considerado uma porta de comunicação (gateway) porque fornece o único ponto de acesso entre a suarede doméstica e a Internet.

Já com um hardware de firewall, a unidade de firewall costuma ser esse gateway. Um bom exemplo disso é o roteador Cabo/DSL Linksys. Ele possui um cartão Ethernet e hub integrados. Os computadores na sua rede doméstica se conectam com o roteador, que por sua vez está conectado com um modem para conexão decabo de TV ou ADSL. Você configura o roteador através de uma interface semelhante à Internet que é acessada pelo navegador do seu computador. É possível definir quaisquer filtros ou informações adicionais.

Firewalls de hardware são extremamente seguros e não são tão caros. Versões para uso doméstico que incluem um roteador, firewall e hub Ethernet para conexões banda larga podem ser encontrados por bem menos de US$ 100.

Ele oferece proteção contra o quê?

Há muitas maneiras de pessoas inescrupulosas acessarem ou violarem computadores desprotegidos.
  • Login remoto - quando alguém é capaz de se conectar ao seu computador e controlá-lo de alguma forma. Isso pode variar desde a capacidade de visualizar ou acessar seus arquivos até a capacidade de executar programas no seu computador.

  • Backdoors de aplicativos - alguns programas possuem funções especiais que permitem acesso remoto. Outros contêm falhas que abrem backdoors, ou pontos de acesso ocultos, que dão algum nível de controle sobre o programa.

  • Captura de sessão SMTP - o SMTP é o método mais comum para enviar e-mails pela Internet. Ao ganhar acesso a uma lista de endereços de e-mail, uma pessoa pode enviar e-mails não solicitados (spam) para milhares de usuários. Isso é feito com bastante freqüência redirecionando o e-mail através do servidor SMTP de um host inocente, fazendo com que seja difícil rastrear o verdadeiro remetente do spam;

  • Falhas no sistema operacional - da mesma maneira que os aplicativos, alguns sistemas operacionais também têm pontos de acesso ocultos. Outros fornecem acesso remoto com controles de segurança insuficiente ou têm falhas que um hacker experiente pode aproveitar.

  • Denial of service (DoS) - você provavelmente já ouviu essa frase em reportagens sobre ataques em grandes páginas de Internet. Esse tipo de ataque é quase impossível de se impedir. O que acontece é que o hacker envia uma solicitação para o servidor pedindo uma conexão com ele. Quando o servidor responde com um reconhecimento da solicitação e tenta estabelecer uma sessão, não consegue encontrar o sistema que fez a solicitação. E ao inundar um servidor com essas solicitações de sessão impossíveis de se responder, um hacker faz com que o servidor pare ou "caia".

  • Bombas enviadas por e-mail - costuma ser um ataque pessoal. Alguém lhe envia o mesmo e-mail centenas ou milhares de vezes até que o seu sistema de e-mail não consiga aceitar mais nenhuma mensagem.

  • Macros - para simplificar procedimentos complicados, muitos aplicativos permitem que você crie um script de comandos que o aplicativo pode executar. Esse script é conhecido como macro. Os hackers tiram vantagem disso para criar suas próprias macros que, dependendo do aplicativo, podem destruir seus dados ou fazer o seu computador "cair".

  • Vírus - provavelmente, a ameaça mais conhecida. Um vírus de computador é um pequeno programa que pode criar cópias de si mesmo em outros computadores. Dessa maneira, ele pode se espalhar rapidamente de um sistema para o outro. Existem vários tipos de vírus, desde as mensagens que não causam risco nenhum até aqueles que apagam todos os seus dados.

  • Spam - normalmente inofensivos, mas sempre irritantes. O spam é o equivalente eletrônico de correspondência não solicitada. Mas ele pode ser perigoso, pois muitas vezes contém links para páginas da Internet. Cuidado ao clicar nesses links, já que pode acidentalmente aceitar um cookieque abre um ponto de acesso ao seu computador;

  • Bombas redirecionadas - os hackers usam ICMP para alterar (redirecionar) o caminho utilizado pelas informações ao enviá-las para um roteador diferente. Essa é uma das maneiras em que um ataque DoS é organizado.

  • Roteamento pela fonte - na maioria dos casos, o caminho percorrido por um pacote na Internet (ou em qualquer outra rede) é determinado pelos roteadores desse caminho. Mas a fonte que fornece o pacote pode especificar de maneira arbitrária a rota que o pacote deveria percorrer. Às vezes, os hackers se aproveitam disso para fazer a informação parecer que vem de uma fonte confiável ou mesmo de dentro da rede. Por padrão, a maioria dos produtos de firewall desativa roteamento de fontes.
Alguns dos itens na lista acima são difíceis de se filtrar com um firewall. Embora alguns firewalls ofereçam proteção contra vírus, vale a pena investir na instalação de um anti-vírus em cada computador. E embora saibamos que são irritantes, alguns spams vão conseguir passar pelo seu firewall pelo simples fato de você aceitar e-mails.

O nível de segurança que você estabeleu irá determinar quantas dessas ameaças podem ser bloqueadas pelo firewall. O nível mais alto de segurança seria simplesmente bloquear tudo. Mas é óbvio que isso vai contra o propósito principal de se ter uma conexão de Internet. No entanto, uma regra geral é bloquear tudo e, depois, começar a selecionar que tipos de tráfego permitir. Também é possível restringir o tráfego que passa pelo firewall de modo que somente certos tipos de informação, como e-mail, possam passar. Essa é uma boa regra para as empresas que têm um administrador de rede experiente que compreende quais são as necessidades e sabe exatamente qual o tráfego que deve permitir. Para a maioria das pessoas, o melhor é trabalhar com os padrões desenvolvidos pelo criador do programa, a menos que haja razões específicas para mudá-los.

Uma das melhores coisas a respeito de um firewall do ponto de vista da segurança é que ele impede que qualquer visitante externo tente se conectar em um computador da sua rede particular. E embora as ameaças para as grandes empresas sejam maiores e a maioria das redes domésticas provavelmente não sejam tão ameaçadas, ainda assim, instalar um firewall pode proporcionar um pouco mais de segurança.

Servidores proxy e DMZ

Algo que costuma ser combinado com um firewall é um servidor proxy. O servidor proxy é utilizado pelos outros computadores para acessar páginas da Internet. Quando outro computador solicita uma página da Internet, ela é resgatada pelo servidor proxy e enviada ao computador que fez a solicitação. O resultado final dessa ação é que o computador remoto que hospeda a página nunca entra em contato direto com nenhuma parte da sua rede doméstica, a não ser com o servidor proxy.

Servidores proxy também podem fazer com que seu acesso à Internet funcione de maneira mais eficiente. Se acessar uma página da Internet, ela é armazenada no servidor proxy. E isso significa que na próxima vez em que voltar para essa página, ela normalmente não terá que ser carregada da página original novamente. Em vez disso, ela será carregada instantaneamente do servidor proxy.

Há momentos em que você pode querer que usuários remotos acessem itens da sua rede. Alguns exemplos:

  • página da Internet
  • negócios online
  • área de download e upload
Nesses casos, pode ser uma boa idéia criar uma zona desmilitarizada (DMZ). Apesar do nome, não passa de uma área localizada fora do firewall. 

Configurar uma zona desmilitarizada é muito fácil. Se há vários computadores, é possível simplesmente colocar um desses computadores entre a conexão da Internet e o firewall. A maioria dos programas de firewall disponíveis hoje em dia permitem a criação de um diretório de zona desmilitarizada no computador gateway.

Assim que o firewall estiver funcionando, faça uns testes com essa zona desmilitarizada. Uma boa maneira de fazer isso é acessar www.grc.com (em inglês) e experimentar o teste de segurança Shields Up! de graça. Você vai receber um feedback imediato relatando o nível de segurança do seu sistema.

0 comentários :

Enviar um comentário