junho 03, 2014

[Segurança] Black list para user-agents suspeitos

De acordo com o protocolo HTTP, os user-agents são informações enviadas no cabeçalho de uma requisição web para identificar o navegador utilizado pelo usuário. Desta forma, o servidor web sabe qual é o tipo e versão do navegador web e, desta forma, pode até mesmo customizar a formatação da página web para que ela seja melhor visualizada.

A maioria dos browsers web utilizam um User-Agent de acordo com o formato "Mozilla/[versão] ([informação do sistema e browser]) [plataforma] ([detalhes]) [extensões]". Por exemplo, um usuário utilizando o navegador Safari no seu iPad enviaria a seguinte informação para o servidor web:
Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405
Mas, da mesma forma que o user-agent identifica se um usuário tem um browser IE, Chrome ou Firefox, ele também pode conter informações que utilizamos para identificar se o usuário está navegando na Internet com um navegador malicioso, comprometido ou, no mínimo, suspeito ou que possa apresentar um certo nível de risco.

Pensando nisso, o site Perishable Press publicou uma lista bem grande de user-agents maliciosos, que podem indicar a presença de um Bot, Adware ou malwares. Eles podem indicar um acesso arriscado, realizado por um usuário com más intenções ou um usuário com seu computador infectado, e por isso, poderiam ser bloqueados por ferramentas ou recursos de segurança.

A blacklist está disponível como uma lista em texto puro que pode ser incluída em um arquivo de configuração .htaccess do seu servidor web.

Outras referências interessantes:

Um comentário:

Fernando disse...

Boa Anchises !

Blacklists de Browser user-agents estão sendo bastante usadas por NGFW (Next Generation Firewalls) hoje em dia, como o FireEye por exemplo.

Essa dica também é boa para quem usa/está implementando algum SIEM.
Incluir correlações usando tal blacklist é uma boa idéia....

[]´s

Creative Commons License
Disclaimer: The views expressed on this blog are my own and do not necessarily reflect the views of my employee.