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.