Configurações de firewall > Controle SSL

Esta seção descreve como planejar, criar, implementar e realizar a manutenção do recurso de Controle de SSL. Esta seção contém as seguintes subseções:

Visão geral do Controle SSL

Configuração de Controle SSL

Habilitar o Controle de SSL em zonas

Eventos do Controle SSL

Visão geral do Controle SSL

Esta seção fornece uma visão geral do Controle SSL. Ela contém as subseções seguintes:

Recursos principais do Controle SSL

Conceitos principais do Controle SSL

Advertências e avisos

O SonicOS inclui Controle SSL, um sistema para fornecer visibilidade sobre o handshake de sessões SSL e um método para a criação de políticas para controlar o estabelecimento de conexões SSL. A SSL (Secure Sockets Layer) é o padrão dominante da criptografia de TCP com base em comunicações de rede, sendo o seu aplicativo mais comum e bem conhecido HTTPS (HTTP sobre SSL). A SSL fornece identificação de ponto terminal com base em certificado digital e confidencialidade criptográfica com base em resumo para comunicações de rede.

SSL_Control_flow.jpg

 

Um efeito da segurança fornecida pela SSL é o obscurecimento de toda a carga, incluindo o URL (Localizador uniforme de recursos, por exemplo, https://www.mysonicwall.com) que está sendo solicitado por um cliente ao estabelecer uma sessão HTTPS. Isso se deve ao fato de o HTTP ser transportado dentro do túnel SSL criptografado ao usar HTTPS. O recurso de destino real (www.mysonicwall.com) só é solicitado pelo cliente depois de a sessão SSL ser estabelecida (etapa 14, figura 1), mas uma vez estabelecida a sessão SSL, não é possível nenhuma inspeção dos dados da sessão pelo firewall ou qualquer outro dispositivo intermediário. Como resultado, sistemas de filtragem de conteúdo baseados em URL não podem considerar a solicitação para determinar permissibilidade de nenhuma outra forma que por endereço IP.

Enquanto a filtragem baseada em endereço IP não funciona bem para HTTP não criptografado devido à eficiência e popularidade da hospedagem virtual baseada em cabeçalho de host (definido nos Conceitos principais abaixo), a filtragem de IP pode funcionar com eficácia para HTTPS devido à raridade de sites HTTPS baseados em cabeçalho de host. Mas essa confiança depende da integridade do operador de servidor HTTPS e assume que a SSL não está sendo usada para fins fraudulentos.

Na maioria das vezes, a SSL é empregada legitimamente, sendo usada para proteger comunicações confidenciais, como compras ou transações bancárias on-line ou qualquer sessão onde exista uma troca de informações pessoais ou importantes. Porém, o custo e a complexidade cada vez menores de SSL têm também incentivado o crescimento de aplicativos mais duvidosos de SSL, projetados essencialmente para fins de ofuscação ou ocultação, em vez de segurança.

Uma camuflagem cada vez mais comum é a utilização de servidores proxy baseados na Web criptografados por SSL com o objetivo de ocultar detalhes de navegação e ignorar filtros de conteúdo. Enquanto é simples para bloquear serviços de proxy HTTPS bem conhecidos desse tipo através de seu endereço IP, é praticamente impossível bloquear milhares de servidores proxy hospedados privadamente que estão disponíveis de imediato por meio de uma simples pesquisa na Web. O desafio não é o número cada vez maior de tais serviços, mas sim a sua natureza imprevisível. Uma vez que esses serviços são frequentemente hospedados em redes domésticas através de conexões de modem por cabo e DSL dinamicamente endereçada, os destinos estão em constante movimento. A tentativa de bloqueio de um destino SSL desconhecido exigiria o bloqueio de todo o tráfego SSL, o que é praticamente impraticável.

O Controle SSL fornece vários métodos para enfrentar esse desafio disponibilizando ao administrador de segurança a capacidade de examinar e aplicar controles com base em políticas para o estabelecimento da sessão SSL. Enquanto a implementação atual não decodificar os dados do aplicativo SSL, não é permitida a identificação baseada no gateway e a recusa de tráfego SSL suspeito.

Recursos principais do Controle SSL

Recurso

Benefício

Listas brancas e negras base­adas em nome comum

O administrador pode definir listas de nomes comuns de entidades de certi­ficados explicitamente permitidos ou negados (descritos nos Conceitos prin­cipais). As entradas serão combinadas em subsequências, por exemplo, uma entrada na lista negra de "prox" corresponderá a "www.megaproxy.com", "www.proxify.com" e "proxify.net". Isso permite que o administrador bloqueie facilmente todas as trocas SSL empregando certificados emitidos para enti­dades com nomes potencialmente censuráveis. Inversamente, o administra­dor pode autorizar facilmente todos os certificados dentro de uma organização colocando em lista branca uma subsequência comum da organ­ização. Cada lista pode conter até 1024 entradas.

Como a avaliação é realizada no nome comum da entidade incorporado no certificado, mesmo que o cliente tente ocultar o acesso a esses sites usando um nome de host alternativo ou até mesmo um endereço IP, a entidade sem­pre será detectada no certificado e a política será aplicada.

Controle do certificado autoassinado

É prática comum para sites legítimos protegidos por SSL usar certificados emitidos por autoridades de certificado bem conhecidas, pois essa é a base de confiança em SSL. É quase igualmente comum para os dispositivos de rede protegidos por SSL (como dispositivos de segurança de rede Dell Sonic­WALL) usar certificados autoassinados para seu método padrão de segu­rança. Por isso, enquanto certificados autoassinados em ambientes fechados não são suspeitos, é suspeito o uso de certificados autoassinados por sites pública ou comercialmente disponíveis. Um site público usando um certifi­cado autoassinado é muitas vezes uma indicação de que a SSL está sendo usada estritamente para criptografia e não para identificação e confiança. Embora não incriminando de forma absoluta, isso por vezes sugere que a ocultação é o objetivo, como é geralmente o caso de sites proxy criptografa­dos por SSL.

A capacidade de definir uma política para bloquear os certificados autoassi­nados permite que os administradores de segurança se protejam contra essa possível exposição. Para evitar descontinuidade de comunicações para sites SSL conhecidos/confiáveis usando certificados autoassinados, pode ser usado o recurso de lista branca para permissão explícita.

Controle de autoridade de certificação não confiável

Tal como no uso de certificados autoassinados, encontrar um certificado emitido por uma autoridade de certificação não confiável não é uma indi­cação absoluta de obscurecimento desonesto, mas sugere confiança ques­tionável.

O Controle SSL pode comparar o emissor do certificado em trocas SSL com os certificados no repositório de certificados do firewall. O repositório de cer­tificados contém aproximadamente 100 certificados conhecidos da autori­dade de certificação, exatamente como os navegadores da Web dos dias de hoje. Se o Controle SSL encontrar um certificado emitido por uma autoridade de certificação que não se encontra no seu repositório de certificados, ele pode não permitir a conexão SSL.

Para as organizações que usam suas próprias autoridades de certificação pri­vadas, o certificado de CA privado pode facilmente ser importado para o repositório de certificados do firewall para reconhecer a autoridade de certi­ficação privada como confiável. O repositório pode conter até 256 certifica­dos.

Versão SSL, Nível de codifi­cação e Controle de validade de certificados

O Controle SSL fornece gerenciamento adicional de sessões SSL com base nas características da negociação, incluindo a capacidade de não permitir SSLv2 potencialmente exploráveis, a capacidade de não permitir criptografia fraca (codificações inferiores a 64 bits) e a capacidade de não permitir nego­ciações de SSL quando intervalos de datas de um certificado são inválidos. Isso permite que o administrador crie um ambiente rigidamente seguro para usuários da rede, eliminando a exposição a riscos através de fraquezas crip­tográficas não vistas ou através de desconsideração ou entendimento incor­reto de avisos de segurança.

Aplicativo com base em zona

O Controle SSL é aplicado no nível de zona, permitindo que o administrador imponha políticas SSL na rede. Quando o Controle SSL está habilitado na zona, o firewall procura saudações de cliente enviadas por clientes nessa zona através do firewall que acionará a inspeção. O firewall procura, em seguida, a saudação do servidor e o certificado que é enviado em resposta para avaliação comparativamente à política configurada. A habilitação do Controle SSL na zona de LAN, por exemplo, inspecionará todo o tráfego SSL iniciado por clientes na LAN para qualquer zona de destino.

Ações configuráveis e notifi­cações de eventos

Quando o Controle SSL detecta uma violação de política, ele pode registrar o evento e bloquear a conexão ou pode simplesmente registrar o evento, per­mitindo em simultâneo a continuação da conexão.

Conceitos principais do Controle SSL

SSL – Secure Sockets Layer (SSL) é um mecanismo de segurança de rede introduzido pela Netscape em 1995. A SSL foi criada "para fornecer privacidade entre dois aplicativos de comunicação (um cliente e um servidor) e também para autenticar o servidor e, opcionalmente, o cliente". O aplicativo mais popular da SSL é HTTPS, designado por um URL iniciado com https:// em vez de simplesmente http://, e ele é reconhecido como o método padrão de criptografia de tráfego da Web na Internet. Uma transferência de HTTP SSL geralmente usa a porta TCP 443, enquanto uma transferência HTTP regular usa a porta TCP 80. Embora a SSL seja mais conhecida por HTTPS, ela não está limitada a proteção de HTTP, mas também pode ser usada para proteger outros protocolos TCP, como SMTP, POP3, IMAP e LDAP. Para obter mais informações, consulte
http://wp.netscape.com/eng/security/SSL_2.html
. O estabelecimento da sessão SSL ocorre da seguinte forma:

SSL_Control_establishment.jpg

 

SSLv2 – a versão mais antiga da SSL, ainda comumente usada. Detectou-se que a SSLv2 tem várias fraquezas, limitações e deficiências teóricas (comparativamente indicadas na entrada SSLv3) e é vista com desprezo, desdém e indignação por puristas de segurança.

SSLv3 – a SSLv3 foi projetada para manter a compatibilidade com a SSLv2, adicionando os seguintes aprimoramentos:

– Métodos alternativos de troca de chaves, incluindo Diffie-Hellman.

– Suporte para token de hardware para troca de chaves e criptografia em massa.

– Suporte SHA, DSS e Fortezza.

– Transferência de dados de fora de banda.

– TLS – Transport Layer Security (Segurança de camada de transporte) (versão 1.0), também conhecida como SSLv3.1, é muito semelhante a SSLv3, mas é melhor do que a SSLv3 no seguinte:

SSL

TLS

Usa um algoritmo HMAC preliminar

Usa HMAC conforme descrito em RFC 2104

Não aplica MAC nas informações de versão

Aplica MAC nas informações de versão

Não especifica um valor de preenchimento

Inicializa o preenchimento para um valor específico

Conjunto limitado de alertas e avisos

Mensagens de alerta e aviso detalhadas

MAC – um MAC (Message Authentication Code – Código de autenticação de mensagem) é calculado aplicando um algoritmo (como MD5 ou SHA1) aos dados. O MAC é um resumo da mensagem ou um código de hash unidirecional que é muito fácil de calcular, mas que é praticamente irreversível. Por outras palavras, apenas com o MAC seria praticamente impossível determinar a mensagem na qual o resumo se baseou. É igualmente difícil encontrar duas mensagens diferentes que possam resultar no mesmo MAC. Se cálculo de MAC do receptor corresponder cálculo de MAC do remetente em uma determinada parte dos dados, o receptor tem a garantia de que os dados não foram alterados no trânsito.

Saudação de cliente – a primeira mensagem enviada pelo cliente para o servidor após o estabelecimento da sessão TCP. Esta mensagem inicia a sessão SSL e consiste nos seguintes componentes:

Versão – a versão da SLL que o cliente deseja usar em comunicações. Esta é geralmente a versão mais recente da SSL suportada pelo cliente.

Aleatório – um carimbo de data/hora de 32 bits juntamente com uma estrutura aleatória de 28 bytes.

ID da sessão – este pode estar vazio se não existir nenhum dado de ID de sessão (essencialmente solicitando uma nova sessão) ou pode fazer referência a um ID de sessão emitido anteriormente.

Conjunto de codificações – uma lista dos algoritmos criptográficos, por ordem preferencial, suportados pelos clientes.

Métodos de compactação – uma lista de métodos de compactação suportados pelo cliente (normalmente nulos).

Saudação do servidor – a resposta do servidor SSL à saudação de cliente. É esta parte da troca SSL que o Controle SSL inspeciona. A saudação de servidor contém a versão da SSL negociada na sessão, juntamente com informações de codificação, ID de sessão e certificado. O próprio certificado de servidor X.509 real, embora seja uma etapa separada de troca SSL, geralmente começa (e muitas vezes termina) no mesmo pacote da saudação de servidor.

Certificados – os certificados X.509 são marcas digitas inalteráveis de aprovação de segurança eletrônica. Existem quatro características principais de certificados:

– Identificar a entidade de um certificado através de um nome comum ou nome distinto (CN ou DN).

– Contém a chave pública que pode ser usada para criptografar e descriptografar mensagens entre partes.

– Fornece uma assinatura digital da organização confiável (Autoridade de certificação) que emitiu o certificado.

– Indica o intervalo de datas válido do certificado.

Entidade – a garantia de um certificado identificado por um nome comum (CN). Quando um cliente navega para um site SSL, tal como https://www.mysonicwall.com, o servidor envia seu certificado que, em seguida, será avaliado pelo cliente. O cliente verifica se as datas do certificado são válidas, se foi emitido por uma autoridade de certificação confiável e se o nome comum da entidade corresponde ao nome do host solicitado (ou seja, são ambos "www.mysonicwall.com"). Embora uma incompatibilidade de nome comum da entidade apresente um alerta de navegador, nem sempre é um sinal certo de fraude. Por exemplo, se um cliente navegar até https://mysonicwall.com, que determina o mesmo endereço IP de www.mysonicwall.com, o servidor apresentará seu certificado com o nome comum da entidade de www.mysonicwall.com. Um alerta será apresentado ao cliente, apesar da legitimidade total da conexão.

Autoridade de certificação (CA) – uma Autoridade de certificação (CA) é uma entidade confiável que tem capacidade para assinar certificados que se destinam, essencialmente, à validação da identidade da entidade do certificado. As autoridades de certificação conhecidas incluem VeriSign, Thawte, Equifax e Digital Signature Trust. Em geral, para que uma autoridade de certificação seja confiável na estrutura SSL, seu certificado deve ser armazenado em um repositório confiável, como aqueles usados pela maioria dos navegadores da Web, sistemas operacionais e ambientes de tempo de execução. O repositório confiável do SonicOS está acessível na página Sistema > Certificados. O modelo de autoridade de certificação assenta em confiança associativa, em que o cliente confia em uma autoridade de certificação (por não ter o certificado da autoridade de certificação em seu repositório confiável), a autoridade de certificação confia em uma entidade (por ter emitido um certificado à entidade) e, por conseguinte, o cliente pode confiar na entidade.

Autoridade de certificação não confiável – uma autoridade de certificação não confiável é uma autoridade que não está incluída no repositório confiável do cliente. No caso de Controle SSL, uma autoridade de certificação não confiável é qualquer autoridade cujo certificado não está presente em Sistema > Certificados.

Certificados Autoassinados – qualquer certificado em que o nome comum do emissor e o nome comum da entidade são os mesmos, indicando que o certificado foi autoassinado.

Hospedagem virtual – um método empregado por servidores Web para hospedar mais de um site em um único servidor. Uma implementação comum de hospedagem virtual é a hospedagem virtual (cabeçalho do host) baseada em nome, a qual permite que um único endereço IP hospede vários sites. Com a hospedagem virtual do cabeçalho do host, o servidor determina o site solicitado, avaliando o cabeçalho "Host:" enviado pelo cliente. Por exemplo, www.website1.com e www.website2.com podem determinar 64.41.140.173. Se o cliente envia um "GET /" junto com "Host: www.website1.com", o servidor pode retornar conteúdo correspondente a esse site.

A hospedagem virtual de cabeçalho do host não é geralmente empregada em HTTPS porque não é possível ler o cabeçalho do host até que a conexão SSL seja estabelecida, mas não é possível estabelecer a conexão SSL até o servidor enviar seu Certificado. Uma vez que o servidor não pode determinar o site que o cliente irá solicitar (tudo o que é conhecido durante o handshake SSL é o endereço IP), não é possível determinar o certificado apropriado para enviar. Enquanto o envio de qualquer certificado pode permitir o início do handshake SSL, uma incompatibilidade de nome (entidade) do certificado acionará um alerta de navegador.

Codificações fracas – codificações simétricas de criptografia relativamente fracas. As codificações são classificadas como fracas quando são inferiores a 64 bits. Na maior parte, as codificações de exportação são codificações fracas. A seguir é apresentada uma lista de codificações fracas comuns:

SSL_control_weak_ciphers.jpg

 

Advertências e avisos

1. Imposição de autoridade de certificação autoassinada e não confiável – no caso de imposição de uma dessas duas opções, é altamente recomendável que você adicione os nomes comuns de qualquer dispositivo de rede protegido por SSL em sua organização à lista branca para garantir que a conectividade a esses dispositivos não seja interrompida. Por exemplo, o nome da entidade padrão de um dispositivo de segurança de rede Dell SonicWALL é "192.168.168.168" e o nome comum padrão de dispositivos VPN SSL Dell SonicWALL é "192.168.200.1".

2. Se a sua organização empregar sua própria Autoridade de certificação (CA) privada, é altamente recomendável que você importe seu certificado de CA privado para o repositório Sistema > Certificados, especialmente se você desejar impor o bloqueio de certificados emitidos por autoridades de certificação não confiáveis. Consulte a seção Sistema > Certificados do Guia do administrador do SonicOS para obter mais informações sobre esse processo.

3. Atualmente, a inspeção do Controle SSL somente é realizada no tráfego da porta TCP 443. As negociações de SSL que ocorrem em portas não padrão não serão inspecionadas neste momento.

4. Fragmentação de saudação do servidor – em alguns casos raros, um servidor SSL fragmentará a saudação do servidor. Se isso ocorrer, a implementação atual do Controle SSL não decodificará a saudação do servidor. As políticas do Controle SSL não serão aplicadas à sessão SSL e a sessão SSL será permitida.

5. Manipulação de encerramento de sessão – quando o Controle SSL detecta uma violação de política e encerra uma sessão SSL, ele simplesmente terminará a sessão na camada de TCP. Uma vez que a sessão SSL está em um estado embrionário neste momento, não é possível no momento redirecionar o cliente ou fornecer qualquer tipo de notificação informativa de término para o cliente.

6. Precedência da lista branca – a lista branca prevalece em relação a todos os outros elementos de Controle SSL. Qualquer certificado de servidor SSL que corresponda a uma entrada na lista branca permitirá o avanço da sessão SSL, mesmo que outros elementos da sessão SSL estejam violando a política configurada. Isso se deve ao design.

7. Os certificados de CA (conhecidos) pré-instalados é 93. O repositório resultante é muito semelhante ao que pode ser encontrado na maioria dos navegadores. Outras alterações relacionadas com certificado:

a. O número máximo de certificados de CA foi elevado de 6 a 256.

b. O tamanho máximo de um certificado individual foi elevado de 2048 para 4096.

c. O número máximo de entradas na lista negra e na lista branca é de 1024 cada.

Configuração de Controle SSL

O Controle SSL está localizado no painel Firewall, na pasta Controle SSL. O Controle SSL tem uma configuração global, bem como uma configuração por zona. Por padrão, o Controle SSL não está habilitado no nível global ou nível de zona. Os controles individuais da página são os seguintes (consulte a seção Conceitos principais do Controle SSL para obter mais informações sobre os termos usados abaixo).

Configurações gerais

Habilitar controle SSL – a configuração global do Controle SSL. Isso deve ser habilitado para que o Controle SSL aplicado às zonas seja eficiente.

Ação

Registrar o evento – se for detectada uma violação da política de SSL, conforme definido na seção Configuração abaixo, o evento será registrado, mas a conexão SSL será ser permitida para continuar.

Bloquear a conexão e registrar o evento – no caso de uma violação da política, a conexão será bloqueada e o evento será registrado.

Configuração

Habilitar lista negra – controla a detecção das entradas na lista negra, conforme configurado na seção Configurar listas abaixo.

Habilitar lista branca – controla a detecção das entradas na lista branca, conforme configurado na seção Configurar listas abaixo. As entradas na lista branca prevalecerão em relação a todas as outras configurações do Controle SSL.

Detectar certificados expirados – controla a detecção de certificados cuja data de início é antes da hora do sistema atual ou cuja data de término é depois da hora do sistema atual. A validação da data depende da hora do sistema do firewall. Garanta que a sua hora do sistema está corretamente definida, preferencialmente sincronizada com NTP, na página Sistema > Hora.

Detectar SSLv2 – controla a detecção de trocas SSLv2. A SSLv2 é conhecida por ser suscetível a ataques de downgrade de codificação porque não executa a verificação de integridade no handshake. As melhores práticas recomendam o uso de SSLv3 ou TLS em seu lugar.

Detectar certificados autoassinados – controla a detecção de certificados em que o emissor e a entidade têm o mesmo nome comum.

Detectar certificados assinados por uma CA não confiável – controla a detecção de certificados em que o certificado do emissor não se encontra no repositório confiável Sistema > Certificados do firewall.

Detectar codificações fracas (<64 bits) – controla a detecção de sessões SSL negociadas com codificações simétricas inferiores a 64 bits, normalmente indicando o uso da codificação de exportação.

Detectar resumo de MD5 – controla a detecção de certificados que foram criados usando um hash MD5.

Listas personalizadas

Configurar lista negra e lista branca – permite que o administrador defina cadeias de caracteres para correspondência de nomes comuns em certificados SSL. As entradas diferenciam maiúsculas de minúsculas e serão usadas na forma de correspondência de padrões, por exemplo:

Entrada

Corresponderá

Não corresponderá

sonicwall.com

https://www.sonicwall.com,
https://csm.demo.sonicwall.com, https://mysonicwall.com,
https://supersonicwall.comput­ers.org, https://67.115.118.87 A

https://www.sonicwall.de

prox

https://proxify.org,
https://www.proxify.org,
https://megaproxy.com,
https://1070652204 B

https://www.freeproxy.ru C

A67.115.118.67 é, no momento, o endereço IP que determina sslvpn.demo.sonicwall.com e esse site usa um certi­ficado emitido para sslvpn.demo.sonicwall.com. Isso resultará em uma correspondência para "sonicwall.com" desde que a correspondência ocorra com base no nome comum no certificado.

BEsta é a notação decimal do endereço IP 63.208.219.44, cujo certificado é emitido para www.megaproxy.com.

Cwww.freeproxy.ru não corresponderá a "prox", pois o nome comum no certificado que é apresentado atualmente por este site é um certificado autoassinado emitido para "-". Porém, isso pode ser facilmente bloqueado através da habilitação do controle de certificados de CA autoassinados ou não confiáveis.