Usando HTTP autenticado no Apache
Este tutorial requer que já se tenha em mãos um webserver Apache configurado e funcionando. Você já teve momentos em que desejou que algum usuário não autorizado deixasse de fuçar determinada pasta em seu servidor web? Eis aqui a solução para seus problemas!
Parte 5: Aspectos e cuidados com a segurança
Voltando a seção "Um pouco de teoria sobre o protocolo HTTP", vimos que quando uma requisição é enviada a um diretório que esteja funcionando autenticação o cliente tem que fazer uma nova requisição enviando seu usuário e senha, que no nosso exemplo é Basic, o que significa que não tem criptografia, portanto quando temos um espião na rede esta senha e usuário podem ser facilmente descodificados (o Base64 não é criptografia, mas sim um formato de codificação de mensagens)... veja o exemplo abaixo:
Suponha que eu estivesse farejando na rede (com um sniffer) e consegui pegar esta mensagem (a mesma do nosso exemplo):
GET /admin HTTP/1.1
Host: 172.16.213.128
Authorization: Basic cm9vdDoxMjM0
Agora suponha que eu use Linux (clarooooo !!! :D) e conheço um pouco sobre o OpenSSL... observem o que eu poderia fazer com a mensagem codificada (cm9vdDoxMjM0):
# echo "cm9vdDoxMjM0" | openssl enc -base64 -d
root:1234
Ou seja, acabei de conseguir o username e a senha válida para um usuário que tem permissão de se logar no diretório admin!
Conclusão: Se você quiser mais segurança, não use o tipo de autenticação Basic, e além do mais configure seu Apache2 para usar HTTPS e não HTTP!
Espero que tenham gostado. Abraço a todos!
Suponha que eu estivesse farejando na rede (com um sniffer) e consegui pegar esta mensagem (a mesma do nosso exemplo):
GET /admin HTTP/1.1
Host: 172.16.213.128
Authorization: Basic cm9vdDoxMjM0
Agora suponha que eu use Linux (clarooooo !!! :D) e conheço um pouco sobre o OpenSSL... observem o que eu poderia fazer com a mensagem codificada (cm9vdDoxMjM0):
# echo "cm9vdDoxMjM0" | openssl enc -base64 -d
root:1234
Ou seja, acabei de conseguir o username e a senha válida para um usuário que tem permissão de se logar no diretório admin!
Conclusão: Se você quiser mais segurança, não use o tipo de autenticação Basic, e além do mais configure seu Apache2 para usar HTTPS e não HTTP!
Terminando
Bom gente, é isso ai! Acabou! Dúvidas por favor me enviem um e-mail, um post, um grito, um SMS, ou qualquer outra coisa, porém não fiquem com elas! :DEspero que tenham gostado. Abraço a todos!
Ou seja você refez cada passo enquanto escrevia o artigo. É assim que gostamos de ver artigos com pé e cabeça, e não aqueles que parecem papo de bar.
Abraços