نحوه اضافه کردن reCAPTCHA به OWA
یکی از مسائل مهم این روزها در فناوری اطلاعات بحث امنیت می باشد که تمامی ادمین های شبکه را درگیر خود نموده است و همیشه باید حداکثر تدابیر امنیتی را برای شبکه های تحت پشتیبانی خود در نظر بگیرند تا از تهدیدهای اینترنتی در امان بمانند. در این مقاله قصد داریم در مورد یکی از راه های امن نمودن ایمیل سرور ارائه مطلب نمائیم.
شرکت پردیس پارس به عنوان یکی از شرکتهای پیشرو در زمینه ارائه خدمات شبکه و پشتیبانی شبکه سالهاست که مشغول فعالیت میباشد. یکی از خدمات تخصصی شرکت پردیس پارس نصب و راه اندازی ایمیل سرور سازمانی مبتنی بر Exchange Server میباشد، همچنین تیم فنی پردیس میل مجری پشتیبانی از ایمیل سرورهای سازمانی نیز میباشد و در حال حاضر افتخار همکاری با شرکتها و سازمانهای دولتی و خصوصی متوسط و بزرگ در زمینه پشتیبانی ایمیل سرور را داریم.
در این مقاله قصد داریم در مورد نحوه اضافه کردن قابلیت امنیتی Google reCAPTCHA به صفحه OWA در Exchange Server صحبت کنیم.
قبل از شروع کار بهتر است اطلاعاتی در مورد این سرویس داشته باشیم طبق اطلاعاتی که در سایت ویکی پدیا (https://fa.wikipedia.org/wiki/%D8%B1%DB%8C%E2%80%8C%DA%A9%D9%BE%DA%86%D8%A7) درج شده است در واقع reCAPTCHA نسخه جدید و بهینه CAPTCHA می باشد که این قابلیت جهت تفکیک ربات از انسان هنگام دسترسی به یک وب پیج کمک میکند. در نتیجه از طریق این قابلیت مطمئن می شویم که یک انسان قصد دسترسی به سایت مورد نظر را دارد. این قابلیت توسط لویز فن آخن، بن مائورر، کالین مک میلن، دیوید ابراهام و مانوئل بلوم در دانشگاه کارنگی ملون در محوطه دانشکده پیتسبرگ توسعه داده شد و سپس در سال 2009 به مالکیت گوگل در آمد.
همانطور که میدانید یکی از راههای اتصال کاربران به Exchange Server از طریق وب یا همان OWA می باشد که به صورت امن و از طریق پورت 443 انجام می شود اما ماهیت وب آسیب پذیر میباشد و نیاز است از طریق راهکاری جانبی نسبت به امن سازی بیشتر آن اقدامات لازم را انجام دهیم. یکی از این راهکارها اضافه کردن قابلیت Google reCAPTCHA می باشد. از طریق Google reCAPTCHA ابتدا مطمئن میشویم که کلاینتی که قصد لاگین به OWA دارید یک کاربر میباشد یا یک روبات. سپس از طریق نام کاربری و رمز عبور که برای کاربر نهایی در نظر گرفته شده است امکان لاگین و دسترسی به میل باکس فراهم میشود.
مراحل انجام کار به این صورت میباشد که ابتدا از طریق اکانت گوگل نسبت به ایجاد و رجیستر کردن یک سرویس reCAPTCHA برای دامین مورد نظر اقدام کنیم و سپس از طریق کدهای اعلامی و تنظیمات لازم در Exchange Server امکان استفاده از این سرویس امنیتی در OWA فراهم شود.
مراحل انجام کار به صورت زیر میباشد:
1- ابتدا با سرچ کردن کلید واژه google recaptcha به صفحه https://www.google.com/recaptcha/intro/v3.html وارد میشویم.
2- سپس با نام کاربری اکانت خود در Gmail لاگین میکنیم و نسبت به رجیستر دامین و اخذ کد برای reCAPTCHA اقدام میکنیم.
3- سپس با کلیک بر روی SUBMIT کد رجیستری مورد نیاز را دریافت میکنیم.
همانطور که مشاهده نمودید دریافت کد رجیستری reCAPTCHA به سادگی و در چند مرحله ساده انجام شد. مرحله بعدی مربوط به استفاده از این کدها در OWA میباشد.
در نظر داشته باشید که کل این فرآیند برنامه نویسی میباشد و برای متخصصین برنامه نویسی بسیار ساده میباشد اما شاید برای ادمینهای شبکه کاری سخت و پیچیده باشد. اگر مراحل این مقاله را به همین ترتیب و با دقت انجام دهید بدون نیاز به دانش برنامه نویسی به سادگی میتوانید از قابلیت امنیتی Google reCAPTCHA در Exchange Server خود استفاده کنید.
4- به سروری که در آن Exchange Server را نصب نموده اید لاگین کنید و وارد مسیر زیر شوید:
C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth
از طریق notepad یک فایل با نام recaptcha.aspx ایجاد کنید و آن را باز کنید. محتویات زیر را عیناً در این فایل جایگذاری کنید.
<% @ Page AspCompat=True Language = "VB" %>
<%
' Put your own private key in the next line
Dim strPrivateKey As String = "SECRET KEY"
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)
%>
Secret Key دریافت شده گوگل را به جای "SECRET KEY" جایگذاری کنید. فایل را ذخیره نموده و ببندید.
5- در همین مسیر فایلی به نام logon.aspx وجود دارد، ابتدا یک کپی از این فایل تهیه نمایید تا در صورت بروز مشکل امکان بازگشت به حالت فعلی را داشته باشید. سپس فایل را طریق نرم افزار notepad باز نموده و تغییرات زیر را در آن اعمال نمائید.
- از طریق میانبر CTRL-F نسبت به جستجوی پاراگراف زیر اقدام نمایید:
form action="/owa/auth.owa" method="POST" name="logonForm"
سپس این محتوای داخل action را حذف نمایید، نتیجه نهایی می بایست به صورت زیر شود:
form action=" " method="POST" name="logonForm"
- مجددا از طریق میانبر CTRL-F پاراگراف زیر را جستجو نمائید:
<div><input id="passwordText"
- بلافاصله در خط بعدی محتوای زیر را اضافه نمائید:
<tr>
<td>
<script type="text/j-avascript">
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("کد تأیید تکمیل نشده است" + "\n" +"reCAPTCHA is not valid");
}
}
</script>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<div class="g-recaptcha" data-sitekey="SITE KEY"></div>
</td>
</tr>
- Site Key دریافت شده از گوگل را جایگزین SITE KEY کنید.
- مجدداً از طریق میانبر CTRL-F پاراگراف زیر را جستجو کنید:
<div on-click="clkLgn()" class="signinbutton" role="button" tabIndex="0" >
به جای واژه clkLgn واژه myClkLgn را جایگزین کنید. نتیجه نهایی می بایست به صورت زیر شود:
<div on-click="myClkLgn()" class="signinbutton" role="button" tabIndex="0" >
اکنون بدون اینکه نیاز به ری استارت سرور یا سرویس IIS داشته باشید قسمت گرافیکی مربوط به سرویس Google reCAPTCHA را در OWA خود مشاهده میکنید.
در نظر داشته باشید برای اینکه این قابلیت به درستی انجام شود سرور ایمیل باید به URL زیر دسترسی داشته باشد:
https://www.google.com/recaptcha/api.js
اگر اینترنت ایمیل سرور را از طریق فایروال محدود نمودهاید حتما دسترسی به این URL را برای سرور فراهم کنید.
امیدواریم از این مقاله حداکثر استفاده را نمائید و بتوانید امنیت ایمیل سرور خود را بالاتر ببرید.
تیم فنی پردیس پارس همواره نسبت به اشتراک گذاری دانش فنی خود با دیگران کوشا بوده و این را وظیفه اخلاقی خود می داند.
تهیه و تنظیم مقاله توسط مهندس اصغر سلیمانی