Atualmente temos uma grande quantidade de aplicações web que, por exigirem que suas conexões sejam criptografadas, utilizam certificados SSL. Esse processo de criptografia e descriptografia, onera o servidor em termos de utilização dos resursos físicos. Como solução para o problema de utilização nos servidores que hospedam a aplicação, surgiram os métodos para processamento do tráfego SSL. Dentre eles, estão o ‘SSL Offload’ e ‘SSL Bridging’.
Tendo em vista então, a necessidade de utilizarmos certificado SSL nas aplicações web, criei este artigo para conhecermos as diferentes formas de processar este tipo de conexão dentro dos balanceadores de carga F5 Big-IP. Ao final deste documento, você será capaz de diferenciar os tipos de processamento SSL e escolher o que melhor se adapta ao seu ambiente.
SSL Offload
Um dispositivo posicionado entre a conexão Cliente-Servidor processa toda requisição SSL. No caso, o Big-IP é um exemplo de dispositivo que faz esse papel.
Configurando uma profile do tipo SSL-Client , com o certificado digital associado à mesma, o Big-IP passa a fazer todo o trabalho de criptografia e descriptografia do pacote. O sistema do Big-IP descriptografa a requisição do cliente antes de enviar ao servidor, depois criptografa a conexão do servidor antes de enviar de volta ao cliente.
O processo é chamado de ‘Offload’ porque o processamento SSL é feito inteiramente dentro do Big-IP, o que resulta numa economia de recursos por parte do servidor. Desta forma, o servidor pode utilizar seus resursos para processar as informações realmente pertinentes às suas aplicações.
Aplicar o conceito de SSL Offload no Big-IP acrescenta mais uma vantagem. Além de retirar a carga de processamento SSL dos servidores, o Big-IP se torna um gerenciador/centralizador de certificados. Uma vez que, podemos ter todos os certificados carregados no balanceador, criando um só ponto para administração dos mesmos.
A imagem abaixo, exemplifica uma conexão SSL com o conceito SSL Offload aplicado:
Imagem01: SSL Offload – Conexão SSL Cliente <–> Servidor
Na imagem, podemos ver uma conexão originada na porta 443 (HTTPS) com destino ao Big-IP. De lá, a requisição é descriptografada pelo Big-IP e enviada ao servidor web na porta 80 (HTTP).
SSL Bridging
Assim como no SSL Offload, o conceito SSL Bridging é aplicado no dispositivo que intermedia a conexão entre Cliente e Servidor. No caso, o Big-IP.
O processo é chamado de SSL Bridging porque o Big-IP descriptografa a conexão e, em seguida, criptografa-a novamente antes de enviá-la ao servidor web. Sendo assim, a conexão permanece criptografada fim-a-fim.
Configurando uma profile do tipo SSL-Client e outra do tipo SSL-Server, ambas com certificados associados, o Big-IP passa a fazer o papel de descriptografia e criptografia da requisição. Nesse caso, podemos ter um certificado com chave de 2048 bits do lado do cliente (SSL-Client) e um certificado com chave 1024 ou 512 bits do lado do servidor (SSL-Server). Desta forma, o processamento maior é feito no Big-IP, liberando recursos no servidor web, que também possui o certificado e chave para processar a requisição SSL. Porém, esta chave tem somente 1024 ou 512 bits.
A imagem abaixo, exemplifica uma conexão SSL com o conceito SSL Bridging aplicado:
Imagem02: SSL Bridging – Conexão SSL Cliente <–> Servidor
Na imagem, podemos ver uma conexão gerada na porta 443 (HTTPS) com destino ao Big-IP. Essa conexão tem uma chave de 2048 bits. O Big-IP então, descriptografa essa requisição e criptografa novamente antes de enviar ao servidor web. Desta vez, a chave usada é de 1024 bits. Desta maneira, a conexão continua pela porta 443 (HTTPS) até o servidor, sendo uma conexão SSL fim-a-fim.
Ambas soluções apresentadas nesse artigo tem como principal objetivo o processamento de requisições SSL. De forma que, a utilização dos recursos dos servidores web seja a menor possível nesse tipo de conexão. Vale lembrar que o Big-IP atua perfeitamente em ambos tipos de processamento SSL. O Big-IP possui também, um hardware específico (chipset) para tratamento das requisições SSL, que isola este tipo de processamento dos demais. Tal hardware exige uma licença específica para ser ativado.