HTTP - O Protocolo de Transferência de Hipertexto (parte 2)
Ciclo de vida da solicitação (Request Lifecycle)
Numa interação típica, as solicitações de aplicações web são criadas por um navegador e, em seguida, enviadas pela rede para um servidor web. O servidor web recebe e interpreta a solicitação, formula uma resposta e, em seguida, envia-a de volta pela rede para o navegador. Ao longo do caminho, esse tráfego passa por uma variedade de dispositivos de rede, como routers, firewalls e sistemas de deteção de intrusão.Por exemplo, para aceder aos conteúdos do IT Room MZ, o navegador Web cria a solicitação HTTP, envia a solicitação para a porta HTTP (80 por padrão). Dispositivos e serviços de rede determinam para onde a mensagem será enviada, o servidor de aplicativos recebe a solicitação através do seu próprio dispositivo de rede e porta, enviando-a para o próprio aplicativo. A resposta à solicitação não necessariamente faz exactamente o mesmo caminho de volta.
Validação (Basic Authentication)
Existem vários esquemas que podem ser usados no HTTP para permitir que o utilizador se identifique nas aplicações. A autenticação HTTP faz com que o navegador abra uma janela para o utilizador, permitindo que ele se identifique com um nome de utilizador e uma palavra-passe. Quando o utilizador insere nome de utilizador e palavra-passe, estes são combinados com um caractere de dois pontos entre eles e, em seguida, codificados em Base64 antes de serem enviados para o servidor. É fundamental compreender que a codificação Base64 não é encriptação, qualquer pessoa que possa observar o tráfego de rede que contém o pedido pode facilmente recriar o nome de utilizador e a palavra-passe.Sessão de autenticação
Outro mecanismo de autenticação utilizado para aplicações web envolve o utilizador fornecer nome de utilizador e palavra-passe numa página web, de preferência através de HTTPS, para que atacantes não possam observar o tráfego durante a transmissão. O servidor valida essas credenciais e atribui ao utilizador um identificador de sessão, um token de cadeia de caracteres que é grande, aleatório, temporário e impossível de adivinhar. Esse identificador de sessão é transmitido entre o navegador e o servidor durante o uso da aplicação web pelo utilizador, normalmente através de cookies.TLS (Transport Layer Security)
Como o tráfego HTTP é feito de forma clara, é possível que os invasores consigam ter acesso a essas comunicações se tiverem acesso a alguma parte da infraestrutura entre o navegador do utilizador e o servidor. Numa rede sem fios, basta captar o tráfego dentro do alcance de um utilizador alvo para que um invasor tenha acesso. Para combater isso, aplicações devem usar métodos de transporte de dados seguros, como HTTPS. Este pode ser usado para criptografar o tráfego e torná-lo incompreensível para os invasores. O HTTPS deve ser usado para todas as comunicações confidenciais que contenham dados como identificador de sessão, nome de utilizador e senhas, além de outros dados, como números de segurança social.É importante observar que o HTTPS fornece apenas determinados serviços de segurança, como criptografia. Um invasor mal-intencionado ainda pode criar suas próprias solicitações HTTPS maliciosas e enviá-las a um aplicativo. O uso do HTTPS não isenta o desenvolvedor de aplicativos web a responsabilidade de validar adequadamente as entradas do utilizador.

Comentários