Segurança HTTP
Segurança HTTP
O HTTP é usado para comunicação pela Internet, portanto, os desenvolvedores de aplicativos, provedores de informações e os usuários devem estar cientes das limitações de segurança do HTTP / 1.1. Esta discussão não inclui soluções definitivas para os problemas mencionados aqui, mas faz algumas sugestões para reduzir os riscos de segurança.
Vazamento de informações pessoais
Os clientes HTTP costumam ter acesso a grandes quantidades de informações pessoais, como nome do usuário, localização, endereço de e-mail, senhas, chaves de criptografia, etc. Portanto, como usuário, você precisa ter muito cuidado para evitar o vazamento não intencional dessas informações por meio do protocolo HTTP para Outras fontes.
Todas as informações confidenciais devem ser armazenadas no lado do servidor de forma criptografada.
Revelar a versão de software específica do servidor pode permitir que a máquina servidor se torne mais vulnerável a ataques contra software que é conhecido por conter brechas de segurança.
Os proxies que servem como um portal através de um firewall de rede devem tomar precauções especiais com relação à transferência de informações de cabeçalho que identificam os hosts atrás do firewall.
As informações enviadas no campo Formulário podem entrar em conflito com os interesses de privacidade do usuário ou com a política de segurança de seu site. Portanto, não deve ser transmitido sem que o usuário seja capaz de desabilitar, habilitar e modificar o conteúdo do campo.
Os clientes não devem incluir um campo de cabeçalho Referer em uma solicitação HTTP não segura se a página de referência foi transferida com um protocolo seguro.
Os autores de serviços que usam o protocolo HTTP não devem usar formulários baseados em GET para o envio de dados confidenciais, porque isso fará com que esses dados sejam codificados no URI de Solicitação.
Ataque baseado em nomes de arquivo e caminho
O documento deve ser restrito aos documentos retornados por solicitações HTTP para serem apenas aqueles que foram pretendidos pelos administradores do servidor.
Por exemplo, UNIX, Microsoft Windows e outros sistemas operacionais usam .. como um componente de caminho para indicar um nível de diretório acima do atual. Em tal sistema, um servidor HTTP DEVE desautorizar qualquer construção no Request-URI se, de outra forma, permitir o acesso a um recurso fora daqueles destinados a serem acessíveis através do servidor HTTP.
Spoofing de DNS
Os clientes que usam HTTP dependem muito do Serviço de Nomes de Domínio e, portanto, geralmente estão sujeitos a ataques de segurança com base na má associação deliberada de endereços IP e nomes DNS. Os clientes precisam ser cautelosos ao assumir a validade contínua de uma associação de número IP / nome DNS.
Se os clientes HTTP armazenam em cache os resultados das pesquisas de nome de host para obter uma melhoria de desempenho, eles devem observar as informações TTL relatadas pelo DNS. Se os clientes HTTP não observarem essa regra, eles podem ser falsificados quando o endereço IP de um servidor acessado anteriormente é alterado.
Cabeçalhos de localização e spoofing
Se um único servidor oferece suporte a várias organizações que não confiam umas nas outras, ele DEVE verificar os valores dos cabeçalhos de localização e conteúdo-localização nas respostas que são geradas sob o controle dessas organizações para se certificar de que não tentam invalidar recursos sobre os quais eles não têm autoridade.
Credenciais de autenticação
Clientes HTTP e agentes de usuário existentes normalmente retêm informações de autenticação indefinidamente. O HTTP / 1.1 não fornece um método para um servidor direcionar os clientes a descartarem essas credenciais em cache, o que é um grande risco de segurança.
Recomenda-se fazer o uso de proteção por senha em protetores de tela, tempos limite ociosos e outros métodos que atenuem os problemas de segurança inerentes a este problema.
Proxies e Cache
Os proxies HTTP são intermediários e representam uma oportunidade para ataques intermediários. Os proxies têm acesso a informações relacionadas à segurança, informações pessoais sobre usuários individuais e organizações e informações proprietárias pertencentes a usuários e provedores de conteúdo.
Os operadores de proxy devem proteger os sistemas nos quais os proxies são executados, pois protegem qualquer sistema que contenha ou transporte informações confidenciais.
Os proxies de cache fornecem vulnerabilidades potenciais adicionais, uma vez que o conteúdo do cache representa um alvo atraente para exploração maliciosa. Portanto, o conteúdo do cache deve ser protegido como informação sensível.