Aqui faremos um POST rápido sobre como aumentar a segurança do seu Webmail adicionando o Google reCAPTCHA, um serviço que ajuda a proteger contra abusos (como bots) através de uma análise de atividades para validar os usuários.

Apesar desse post ser específico para uso no OWA, é possível implementar o mesmo procedimento em diversas plataformas, inclusive no site do Google reCAPTCHA é disponibilizado o código para implementar.

Pedimos cautela ao copiar código do site, pois alguns caracteres (como as aspas) podem ficar desconfiguradas e comprometer o funcionamento do código.

Para criar o reCAPCHA

Vá no site do Google reCAPTCHA e crie da seguinte forma (em nosso exemplo vamos criar do tipo v2):

  • Nome: Sugerimos criar o nome DOMINIO.COM.BR-V2-NAOSOUUMROBO
  • Tipo de reCAPTCHA: reCAPTCHA v2 com Caixa de seleção “não sou um robô”
  • Domínios: Adicione o domínio de sua empresa, por exemplo DOMINIO.COM.BR
  • Marque para Aceitar os termos de Serviço do reCAPTCHA
  • Clique em ENVIAR

Na tela seguinte, será exibido a chave do site e a chave secreta, copie essas chaves em um local seguro de seu ambiente.

No Exchange 2016

Em posse das chaves, no seu servidor Exchange 2016, vá na pasta: C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth, crie um arquivo chamado recaptcha.aspx com o seguinte conteúdo:

<% @ Page AspCompat=True Language = "VB" %>
 <%
 Dim strPrivateKey As String = "CHAVE_SECRETA"
 Dim strResponse = Request("response")
 Dim objWinHTTP As Object
 objWinHTTP = Server.CreateObject("WinHTTP.WinHTTPRequest.5.1")
 objWinHTTP.Open("POST", "https://www.google.com/recaptcha/api/siteverify", False)
 objWinHTTP.SetRequestHeader("Content-type", "application/x-www-form-urlencoded")
 Dim strData As String = "secret=" & strPrivateKey & "&response=" & strResponse
 objWinHTTP.Send(strData)
 Dim strResponseText = objWinHTTP.ResponseText
 Response.Write(strResponseText) 
%>

Ainda na pasta C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth, faça uma cópia de segurança do arquivo logon.aspx, em seguida edite ele e:

  • Localize a linha action=”/owa/auth.owa” e modifique para action=””
  • Localize a linha onclick=”clkLgn()” e modifique para onclick=”myClkLgn()”
  • Localize a linha <input id=”passwordText” e adicione abaixo dela:
<script type=”text/javascript”>
function myClkLgn()
{
var oReq = new XMLHttpRequest();
var sResponse = document.getElementById(“g-recaptcha-response”).value;
var sData = “response=” + sResponse;
oReq.open(“GET”, “/owa/auth/recaptcha.aspx?” + sData, false);
oReq.send(sData);
if (oReq.responseText.indexOf(“true”) != -1)
{
document.forms[0].action = “/owa/auth.owa”;
clkLgn();
}
else
{
alert(“Invalid CAPTCHA response”);
}
}
</script>
<script src=”https://www.google.com/recaptcha/api.js” async defer></script>
<div class=”g-recaptcha” data-sitekey=”
CHAVE_DO_SITE“></div>

Fontes/Referências

http://leederbyshire.com/Articles/Adding-no-captcha-reCAPTCHA-Validation-To-Your-Outlook-Web-App-Forms-Based-Authentication-Logon-Page.asp
https://developers.google.com/recaptcha/docs/display
https://developers.google.com/recaptcha/docs/verify
https://gist.github.com/msenturk/8a667e4f9703bbdf9b8ea9c43baad768
https://www.askasu.idv.tw/index.php/2017/09/06/3816/
https://www.google.com/recaptcha

Mais Informações

Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.

Entre em contato conosco pelo e-mail equipe@nvlan.com.br.

NVLAN - Consultoria