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.