quarta-feira, 20 de março de 2013

Firewall e Proxy

1) Firewall
Firewall é uma coleção de dispositivos de hardware e software utilizados para implementar segurança em redes de computadores. Estes dispositivos utilizam diversas técnicas como filtragem, bloqueio, controle de tráfego, controle de acesso, etc. A principal função do firewall é de proteger as redes e torná-las confiáveis, dentro de um perímetro local. Usualmente uma rede necessita ser protegida contra ataques provenientes de redes externas não confiáveis (normalmente a Internet), bloqueando conexões não desejadas ou conteúdos mal intencionados.
Temos duas estratégias básicas de Firewall: Filtros de Pacotes e Gateway de Aplicação (Relay, Proxy, Filtros de Servidores). Ver a figura 1.


Na figura 2 temos uma visão geral da implementação de um Firewall composto de dois elementos: o Filtro de Pacotes, no roteador de acesso, e um Filtro de Servidor instalado no servidor.



2) Filtros de Pacotes.
Os Filtros de Pacotes representam o modelo de firewall na camada de Rede e/ou Transporte.
• Estratégia:
Analisar o cabeçalho de cada pacote que chega da rede externa e aplicar uma série de regras para determinar se o pacote será bloqueado ou encaminhado.
• Parâmetros considerados:
- Tipo de regra: permitir ou bloquear
- Nível de protocolo: TCP ou IP:
- Endereço IP de origem e destino
- Porta TCP de origem e destino
- Campos: Opções (IP) e Flags (TCP)
• Implementação Física:
- No software do Roteador: screening routers
- No software de uma estação dedicada (um PC com duas placas de rede).

3) Gateway de Aplicação.
Representam estratégias de firewall na camada de Aplicação. Estes possuem a seguinte classificação:
• Relay

– Programa intermediador entre um usuário interno e um servidor externo. Funciona como cliente para o servidor e servidor para o cliente. Executa a comutação de endereços inválidos para endereços válidos.

– Impede que um cliente externo veja a rede interna, e descubra detalhes da topologia da rede e do sistema DNS.
• Proxy
– Similar ao Relay, mas introduz recursos de filtragem das conexões.
• Filtros de Servidores
– Rodam junto com a aplicação servidora, estão instalados na mesma máquina. Executam filtragens sobre os protocolos IP e TCP.
– Trabalham em parceira com aplicativos “listeners: do tipo “inetd do Unix”, os quais centralizam os pedidos de conexões TCP/IP oriundos do meio externo.

3.1) Proxy.
Um Proxy é um dispositivo servidor que fornece à rede serviços de intermediação de tráfego. Permite aos clientes fazerem conexões indiretas para outros computadores em outras redes. O Proxy atua como um intermediário entre clientes e servidores remotos. O Proxy pode prover os recursos solicitados pelo cliente fazendo uma conexão externa ao servidor remoto ou utilizando informações contidas no seu “cache “. Em alguns casos, o Proxy poderá alterar as solicitações do cliente ou as respostas do servidor caso seja conveniente.
Denominações: Proxy Gateway ou Application Proxy
– Funcionamento similar ao Relay, mas é particularmente utilizado para permitir que clientes internos acessem servidores externos.
– A principal função dos serviços Proxy é compartilhar um ponto único de acesso entre vários computadores ou estabelecer a conversão de endereços IP’s inválidos.
– A utilização de Proxy associado com filtros complementa os objetivos de segurança.
Classificação - são usualmente classificados em dois tipos:
- Proxy Genérico: um único Proxy é utilizado para qualquer aplicação.
- Proxy Dependente da Aplicação: utiliza-se um Proxy dedicado para cada serviço de internet, por exemplo, FTP, Telnet, HTTP (Web proxy), SMTP, etc.

3.1.1) Proxy Genérico.
O Proxy genérico funciona com diversos tipos de aplicação. O funcionamento está na figura 3.


Características do Proxy Genérico:
• O Proxy pode, e deve, implementar algum tipo de controle de acesso.
• Não são transparentes para a aplicação, isto é, a aplicação deve ser alterada para trabalhar com o Proxy.
– Lista de clientes permitidos
– Lista de servidores permitidos
– Lista de aplicações permitidas
• As aplicações comerciais atuais vêm preparadas para trabalhar com Proxy padronizados.
– Exemplo: CERN Proxy Server Standard.
3.1.2) Proxy dependente da aplicação.
Na figura 4 temos a representação de uma rede utilizando Proxy para cada aplicação específica.
Características do Proxy dependente da aplicação:
• Cada Proxy é dedicado a uma aplicação:
– FTP Proxy, Telnet Proxy, Web Proxy, etc.
• Podem ser usados sem alterar o código do programa cliente.
– Neste caso a aplicação cliente requisita que o usuário digite manualmente o nome do servidor desejado.
• O Proxy pode controlar as ações do cliente para sua aplicação.
– Exemplo: Um Proxy de FTP pode permitir apenas download (e não upload).
• O Proxy pode efetuar o “caching” de páginas consultadas para melhorar o desempenho.

3.1.3) Proxy transparente
O Proxy transparente é o tipo em que as configurações de proxy do navegador não são percebidas pelo cliente, ou seja, o Proxy é configurado como o roteador padrão e todas as conexões de saída devem passar pelo mesmo. Com o Proxy transparente todas as requisições feitas à porta 80 são automaticamente redirecionadas para uma porta onde o dispositivo está sendo executado (normalmente 8080 ou 3128) e assim fica virtualmente impossível acessar redes externas sem passar pelas regras de ACLs (Listas de Acesso).

Portanto, o usuário não consegue alterar as configurações de Proxy caso não tenha permissão de acesso externo, o mesmo não acontece com outros Proxies, pois usuários mais experientes podem remover as configurações e navegar sem intermediação. Vantagens de se utilizar Proxy transparente:


• Ocultar a utilização do Proxy aos usuários que acessam internet;
• Forçar os usuários a utilizarem o Proxy, mesmo que eles não queiram;
• Implementar a política real de acesso a sites proibidos, evitando os usuários mais "espertos" de desabilitar a utilização do Proxy na navegação.


3.1.4) Proxy Reverso
Um Proxy reverso é um servidor proxy instalado nas vizinhanças de um ou mais servidores Web.
Todo tráfego que chega da Internet com destino aos servidores Web passam através do servidor proxy com
propósito de executar alguns serviços:
• Segurança: o servidor proxy é uma camada adicional de defesa e, portanto, protege os servidores web em um nível mais acima na cadeia;
• Criptografia / aceleração SSL: quando sites seguros são criados, a criptografia SSL muitas vezes não é feita pelo próprio servidor web, mas por um proxy reverso que está equipado com hardware de aceleração de SSL;
• Balanceamento de carga: o proxy reverso pode distribuir a carga de vários servidores web, cada servidor web serve sua própria área de aplicação. Nesse caso, o proxy reverso pode ter de re-escrever as URLs de cada página web (tradução de URLs conhecidas externamente às instalações internas);
• Servir/Cache de conteúdo estático: um proxy reverso pode descarregar os servidores da web, cache de conteúdo estático como imagens e outros conteúdos gráficos estáticos;
• Compressão: o servidor proxy pode otimizar e compactar o conteúdo para acelerar o tempo de
carregamento;
• Alimentação Spoon: reduz o uso de recursos causado pela lentidão dos clientes nos servidores web fazendo cache do conteúdo do servidor e enviado-as lentamente para o cliente. Isto beneficia especialmente as páginas geradas dinamicamente;
• Divulgação na Extranet: um servidor proxy reverso de frente para a Internet pode ser usado para se comunicar com um servidor protegido por firewall interno à uma organização, fornecendo acesso extranet para algumas funções, mantendo os servidores atrás do firewall.


3.2) Tradução de endereços.
3.2.1) NAT
O NAT ( Network Address Translator) é um dispositivo capaz de efetuar a conexão entre redes fazendo a tradução de diversos endereços inválidos para diversos endereços válidos. Para realizar esta tarefa, utiliza-se o mapeamento de endereços internos e externos.
Este dispositivo é útil quando encontramos redes de porte relevante e com tráfego pesado, pois o NAT deve ter robustez suficiente para evitar queda de desempenho. A utilização do NAT é bastante positiva para a economia de endereços na Internet.
Quando o número de endereços válidos estiver esgotado pelas estações internas, o NAT não permite mais nenhuma conexão, sendo necessário aguardar a liberação de algum endereço por parte das estações. O NAT também não tem a facilidade de caches como o Proxy.

3.2.2) PAT
Quando precisamos realizar a tradução de endereços inválidos para apenas um único endereço válido disponível, utilizamos outro dispositivo chamado PAT (Proxy Address Translator), através de uma multiplexação de portas TCP, criando um socket para cada estação. Desse modo, o PAT opera com o compartilhamento de endereço, ao contrário do NAT.








0 comentários:

Postar um comentário

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Buy Coupons