زي ميستيريوس كيس اوف انا مش انا – الجزء الاول – مقدمة

April 7, 2021 Leave a comment

زي ميستيريوس كيس اوف انا مش انا – الجزء الاول – مقدمة

==================
تنويه: كتبت المجموعة دي من المقالات عبر 2018 ، 2019 ، 2020 ، كل مرة كنت اكتب جزء و اما افتقد للوقت ، الجهد ، الخبرة او الدقة العلمية في جزء معين فاما اتوقف او اتوه ، لذا قد تأتي بعد الاجزاء غير متصلة او

Outdated

فلو حد عنده مراجعة فليتفضل

=================
اما الناس كانت بتتكلم عن ال

Hacking/Ethical hacking

كان ديما في نوشن يا اما نهاك الويب او الوايرلسس ، و طبعا في نوشن اختراق الويندوز ، طبعا الكل عارف انه في طرق كتير تقدر تخترق بيها الويندوز ، بس دايما كان عندي

Fascination

مش بكيفية الاختراق ، لا ازاي نخفي الاختراق ، علشان كده دايما اما كنت بحقق في مشكلة

Malware

ممكن ببقا مش عارف هو فين ، بس عارف ادور فين…

ده خلاني دايما ادور في حتتين ، النتوورك او الهاردديسك ، و ده سبب انه مثلا في تريجرات كان اول حاجة عملتها انه نقدر نشوف كل النتورك تررافيك بالبروسس بتاعته ، لانه دايما ال

Malware

عايز يتكلم على النتورك

بس كان في صندوق كده حاولت افتحه كتير ، اخد مني وقت و مجهود علشان افهم الصندوق ده اصلا ، و علشان افهم اما حفتحه حلاقي فيه ايه ، الميموري

صحيح في معلومات كتير اوي نقدر نعرفها عن السيستم و هل هو

Infected/hacked

و لا لاء من النتورك و الديسك ، بس لا غنى انه نبص جوا الميموري و نطلع منها البهاريز كلها ، بس البحث جوا الميموري عن

Malware

مش سهل زي ما انت متخيل

===============
من اكتر الحاجات اللي كانت بتخوفني ، هي انه يكون السيستم مخترق بس الهاكر قادر يعمل

Patching/hiding

للفيروس جوا بروسس شكلها منطقي زي

Svchosts.exe

لدرجة اني كرهت البروسس دي نفسها اصلا ، بس مش كتير لقيت الموضوع ده ، كان دايما المالوير رامي نفسه باسم مشابه

Svch0sts.exe

مثلا و حاطط نفسه في ال

Temp

بس ايه اللي ممكن يحصل لو الهاكر متقدم و بيلعب صح……………..

==================
السنة اللي فاتت كتبت مقال حوالين ال

Fileless attack https://www.facebook.com/Mahmoud.magdy.soliman/posts/10158696645230645

و ده حمسني اكتر انه لازم نبص جوا الميموري اكتر و نشوف هل فعلا البروسس اللي شغالة بتشغل كود مشبوه و لا لاء و هنا ده دور السلسة دي

السلسة دي كام جزء ، ححاول اجمعهم الفترة اللي جاية كالتالي:

  • الجزء الاول: How PE works حنشوف فيه ازاي الملف التنفيذي بيشتغل و بيعرف نفسه
  • الجزء الثاني: تكمله للجزء الاول مع نظرة لل DLL
  • الجزء الثالث: بعنوان : انت مش ابنيييييييييييييي و ايه العلاقة بين ال Parent/child process
  • الجزء الرابع : بعنوان:  لا مؤاخذة اقلع و فلقس علشان تتحقن و نظرة على ال Process injection
  • الجزء الخامس: بعنوان (على اد الايد مستوحى من برنامج ال CBC) و ازاي تعمل EDR في البيت

==========================
لو متابع من زمان فاحنا بصينا اكتر من مرة على ال

Process/thread

 و ايه الفروق بينهم ، بس هي ازاي اصلا البروسس بتتعمل ؟! يلا بينا

PE files or portable executables

هو الملف التنفيذي اللي يقدر ينفذ تعليمات برمجية مباشرة ، في شرح حلو اوي طويل عريض عنا

https://blog.kowalczyk.info/articles/pefileformat.html#:~:text=The%20PE%20file%20specification%20consists,body%20(the%20raw%20data).

بس احنا حنسيب كل حاجة و نروح على الحتة دي بتاعت ال Export data

اللي هي لو موجودة بتخلي ال

EXE/DLL

يعمل Export لل

Functions/variables to other EXE

typedef struct _IMAGE_EXPORT_DIRECTORY {

    ULONG   Characteristics;

    ULONG   TimeDateStamp;

    USHORT  MajorVersion;

    USHORT  MinorVersion;

    ULONG   Name;

    ULONG   Base;

    ULONG   NumberOfFunctions;

    ULONG   NumberOfNames;

    PULONG  *AddressOfFunctions;

    PULONG  *AddressOfNames;

    PUSHORT *AddressOfNameOrdinals;

} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY;

هنا حنبص على 3 حاجات

NumberOfFunctions هو عدد الفانكشنز المتاحة للاكسبورت

NumberOfNames  هو فيه اسامي الفانكشنز المتاحة للاكسبورت

لو عايز تكمل ، حيكون عليك انه تقرا مقال قديم شويتين بقاله عشرين سنة https://docs.microsoft.com/en-us/archive/msdn-magazine/2002/march/inside-windows-an-in-depth-look-into-the-win32-portable-executable-file-format-part-2 علشان تبقا جاهز للجزء الثاني…..

هابي malware  ايفري ون

Categories: Uncategorized

زا ميستريوس كيس اوف الويب سايت اللي تزوره يخترقك

August 15, 2020 Leave a comment

زا ميستريوس كيس اوف الويب سايت اللي تزوره يخترقك

واحدة من اكبر الاسئلة اللي بحاول اشرحها لأي حد و خصوصا لو مش متخصص في امن المعلومات انه مجرد زيارتك لويب سايت غير امن ، ممكن تكون كفيلة باختراقك ، مشكلة شركات كتير دلوقتي مش بس مكافحة السبام ، بس مكافحة اليوزرز اللي بيزوروا مواقع غير امنه ، الاي تي اللي شغال كراكات و مش شابه و غيره و غيره

المشكلة انه عندنا اعتماد و ثقة كبيرة اوي في الانتي فايروس ، بس ده غير كافي بالمرة ، و علشان نوضح الفكرة ، خلينا نشوف

=====================
اشتغلت امبارح على ديمو كده علشان محتاج اعمل

Fileless Dropper

علشان نبين ثغرات امنية معينة ، بس لحظة هو ايه ال

Fileless Dropper

ده يا باشا

====================
ناس كتير متخيلة انه ال

Malware or virus

بينتشر من خلال انه يضغط على فايل تنفيذي

Executable

معين ، بس في انواع متطورة من الاختراق بتعتمد انه بس تزور لينك او ويب سايت او حتى ايميل جايلك علشان تخترق اصلا ، ده بيتم من خلال ال

Fileless attack

اللي بيكون من خلال جافا سكريبت خبيثة بتتنفذ من غير علمك و تفشخك فبمجرد فتح الويب سايت بيتم تنحميل او تنفيذ برنامج بدون علمك، طب ازاي برضك يعني

======================
الصورة الاولى هي من جافا سكريبت بسيطة جدا بتوضح ازاي بيتم اختراقك ، الجافا سكريبت دي ديمو هدفها انها تشغل برنامج بيطبع شاشة

Hello world

لا اكثر و لا اقل ، بس تعالى نشوف اصلا هي شغالة ازاي:

=====================
الكود بتاع الجافا سكريبت دي هنا:

https://github.com/MalavVyas/FilelessJSMalwareDropper

و تعالى نراجع نشوف هي شغالة ازاي ، لاحظ انه في الصورة الثانية محدش تعرف على الجافا سكريبت انها تحتوي كود تنفيذي الا شوية برامج بسيطة جدا و محدش فهم تقريبا انها

Dropper

تعالى نبص على الكود

==============
الجولة الاولى: الكود شكلة برئ

لو بصيت على الكود مش حتلاقي حاجة بتقول انه الكود ده بينفذ اي حاجة ، مريبة عجيبة ، الكود بيطلع رسالة تنبيه بسيطة من الكود ده

alert(new Function(SnccpSrYKfxmqjJk())());

لو راجعت الدالة

SnccpSrYKfxmqjJk

حتلاقي انها

Anonymous function

بتنادي على متغيرات من فوق منها المتغير

UBkDUhSPnYjP

اللي هو كود طووووووووووووييل مشفر ، هنا يبتدي اللعب

بص على تفاصيل الدالة:

الدالة بتبتدي بالمتغير

_0x46b2dd

اللي بياخد كل اربع حروف من التيكست المشفر و يجمع و يطرح عليه و يرجع القيمة من

UTF 16 string

HMPTQXTNBJUV += String[‘fromCharCode’](_0x36455c);

و بيجمعه في المتغير

HMPTQXTNBJUV

اللي بيرجع في الاخل و يتنفذ في الدالة

SnccpSrYKfxmqjJk

انترستنج

======================
الجولة الثانية:
بعد تجميع و فك تشفير الكود ، طلع كود تاني خالص ، كود طويل عريض فشخ ، حاختصرلك اهم اللقطات اللي فيه ، هو زي الكود اللي فوق ، كود مشفر طويل عريض معمول له تشفير بدالة مختلفة تانية خاااااااالص ، و بيرجع كود

Anonymous

بيتم تنفيذه هو كمان

alert(new Function(SnccpSrYKfxmqjJk())())

ladlloYdTMckcxV = uvqwdfyuwtrzln.indexOf(UBkDUhSPnYjP.charAt(cNskABPCjWZHTMl++));

dycsldgepqeurce = uvqwdfyuwtrzln.indexOf(UBkDUhSPnYjP.charAt(cNskABPCjWZHTMl++));

ejFUWevikvv = uvqwdfyuwtrzln.indexOf(UBkDUhSPnYjP.charAt(cNskABPCjWZHTMl++));

OPOUYPHZPPSPXENMI = uvqwdfyuwtrzln.indexOf(UBkDUhSPnYjP.charAt(cNskABPCjWZHTMl++));

kznyohlxdidjrlrkw = ((ejFUWevikvv & 3) << (2766/vxdeabpuqqh)) | OPOUYPHZPPSPXENMI;

dczhnsicylpqyciye = (ladlloYdTMckcxV << (DkrJItsLVccgD/35)) | (dycsldgepqeurce >> (1148/bkiwKJMAPyUiNYL));

MSMSPYENLYFXRKBBM = ((dycsldgepqeurce & (nlmczdyawfwbb-(1441))) << (1148/bkiwKJMAPyUiNYL)) | (ejFUWevikvv >> (DkrJItsLVccgD/35));;

HMPTQXTNBJUV+=String.fromCharCode(MSMSPYENLYFXRKBBM);

طب ايه طيب ، اتقل

================
الجولة الثالثة

بعد تجميع الكود اللي طلع من الكود الثاني اللي طلع من الكود الاولاني ، طلع الكود الاخير اللي فعلا هدفه اختراقك ، في حالتنا دي هو مش بيعمل الا

Hello World

بسيط ، بس تعالى نشوف هو شغال ازاي

الكود بيبتدي ب دالة بتكتب البايلود

function WritePayload(name)

{

    var v1 = 1

    var v2   = 2

    var v3 = 2

    var codePage=’437′;

اللي بتاخد المتغير

PayloadString

ملحق بيها دالتين

واحده

base64

و الثانية

RC4

اللي حصل انه الراجل كتب الكود بتاع السي و بعدين عمله تشفير ب

RC4

بباسورد معينة ، و بعدين طلعه في

Base64

في الكود بيتكتب العكس و يطلع ملف تنفيذي بحق ربنا بيتكتب في ال

AppData

من خلال الدالة

Dropfile

اللي بتدور على باث ال

Appdata

بتاع اليوزر بتاعك و تكتب فيه الملف التنفيذي باسم عشوائي و تنفذه

dvar3.WriteAll(rc4(base64(PayloadString),false));

                        dvar1.Run(dvar2);

=====================
ياسلااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااااام ، يعني انا مش مضطر اضغط على ملف تنفيذي علشان اتلسع ، لا يا ريس انت بس تفتح ايميل فيه حتة الجافا سكريبت ده و لو الراجل حاطك في دماغه انت منتهي

=====================
طب و الدروبر بتاعي ، علشان انا غلس فممكن حد يوصل انه يفهم التشفير بيتم ازاي و يقرا انه اي تيكست مشفر كتير امنعه مثلا ، فانا روحت عامل الدروبر بالبايتس ، فانا حولت الملف التنفيذي لبايتس و خليت الجافا سكريبت تكتبها من الاول

var payload  = new Array();

    payload  [01] = ’00C7′;

    payload  [02] = ’00FC’;

    payload  [03] = ’00E9′;

    payload  [04] = ’00E2′;

    payload  [05] = ’00E4′;

    payload  [06] = ’00E0′;

    payload  [07] = ’00E5′;

و بعدين بحاول البايتس لستريم و نكتب الستريم ، طب يعني ايه يعني

يعني عملت جافاسكريبت دروبر محمل جواه ال

Putty

مجرد ما بتغلط عليه بيشغل ليك ال

Putty

و برضك محدش شافه الا عدد بسيط من الانتي فايروس انه فايروس في الصورة الاخيرة

====================
ابقا حمل كراكات براحتك بقا يا نجم ، هابي ويك انك ايفري وان

مراجع:

https://resources.infosecinstitute.com/reverse-engineering-javascript-obfuscated-dropper/

Categories: Security

ذا ميستيريوس كيس اوف الشركات اللي اتنصب عليها في ملايين

August 12, 2020 Leave a comment

على مدار السنة اللي فاتت ، اشتغلت مع كام شركة اتنصب عليهم في كام مليون حلو كده ، الشركات كلها اتنصب عليهم بنفس الطريقة و نفس الاسلوب ، و للاسف رغم انه الخدعة بسيييييطة جدا الا انها صعب جدا كشفها و فعلا جهنمية ، خلينا نشوف

خطوة رقم 3: يوزر بيكون مش راجل تيكنيكال ، بيكون في العادي بيبعت و بيحول فلوس للخارج ، بيجيلو ايميل تقليدي جدا من شركة هو بيتعامل معاها لاوردر جديد و كل حاجة ، الايميل من ايميل الشركة

خطوة رقم 4: بتفضل الايميلات رايحة جاية عادي ، لحد وقت الاوردر بيجي طلب تغيير الحساب اللي بيتحول ليه الفلوس و تفاصيل التحويل الجديد

لحظة ، هو فين رقم واحد و اتنين ، اتقل…

او في وسط الكلام العادي بيجي ايميل من المورد بطلب تغيير الحساب اللي حاتتحل عليه الفلوس ، طلب عادي من ايميل شركة المورد ، و هنا اليوزر الغلبان بيبص على الايميل ، فعلا من ايميل الشركة ، فيبعت يرد عليه يقوله ممكن تأكد التغيير ، فعلا يجيله التأكيد و هوب يحول الفلوس و بخ

في شركة اعرفها اتنصب عليها في مليون و نص ، و واحدة تانية في 2 مليون ، و في شركة كان حايضيع منها 5 مليون

بس فين المشكلة…..ازاي ده بيحصل….تعالى نشوف

لو شوفت الصورة الاولى ، ده ايميل تقليدي بسيط من ايميلي على الاوتلوك لايميلي على الاوتلوك ، الايميل شكله عااااادي جدا ، بص و راجع كويس

طيب حدوس

Reply

الايميل شكله عادي برضو و تقليدي في الصورة التانية ، ب بص تاني كده ، ستوووووووووووووووووووووووب

بص كويس في الصورة التانية ، في حرف متغير في الايميل ، واخد بالك

بدل

Outlook

بقت

Outluok

و هي دي الثغرة اللي اليوزر الغلبان مش بياخد باله منها خااااااااااااااااااااااااااااااالص

تعالى نبص تاني كده للسيناريو بشوية تفاصيل:

خطوة رقم 1: بيكون حصل اختراق للكومبيوتر في مكان ما اما عند الشركة او المورد و حد شاف الايميلات بين الشركات و عرف طريقة صرف و تحويل الفلوس و الاوردر و فضل لابد في الذرة

خطوة رقم اتنين ، فضل مستني لحد ما اوردر معين حايتحط او تحويل فلوس حايتم و هنا الهاكر يبتدي شغله ، يبعت ايميل من الايميل سيرفر بتاعه بس يضيف في الايميل اللي بيتبعت

Header

بسيط اسمه

Reply-to

في الصورة التالتة حتشوف اني ضفت الهيدر

هنا اما بيجي الايميل في الخطوة 3 ، فهو بيجي شكله من الشركة و طبيعي بطلب تغيير الحساب او تحويل فلوس او او او ، و هنا الراجل بيرد عادي و يطلب التأكيد ، هنا يشتغل ال

Reply-to

و بدل ما يروح الايميل على الايميل اللي في ال

From

بيروح على ال

Reply-to

اللي فيه حرف بسيط متغير اليوزر غالبا مش بياخد باله منه ، ده مش حاجة معقدة لانه ده دور ال

Reply-to

انه بتقول انه الايميل ده جاي من ايميل ، بس الرد يروح لايميل تاني ، بتلاقي الكلام ده كتير اوي في الكساتمر سبورت و الكول سنتر

يبتدي بقا النقاش يتم على الايميل الجديد و الراجل مش واخد باله من حاجة و يجيله التأكيد و كله في السليم و الفلوس تتحول و كل سنة و انت طيب

هل الموضوع ده مؤثر ، فشخ ، و اكتر من شركة اعرفها تم النصب عليها بالشكل ده في ملايين….

طب و الحل يا مرسي ؟!

الموضوع ده معقد اوي لانه ال

Reply to

من ضمن الحاجات التقليدية و الستاندارد بتاعت الايميل هيدرز ، يعني منقدرش نقول انه اي ايميل فيه

Reply-to

يبقا سبام ، مش صح ، ففي عامل مهم جدا على اليوزر ، اضف انه لازم تعمل بروتكشن محترم بيعمل

Anti Spoof

و ان كان الانتي سبوف كان شغال في الحالات دي كلها و مقدرشي يمسكها

مراجع:

https://docs.microsoft.com/en-us/microsoft-365/security/office-365-security/anti-spoofing-protection?view=o365-worldwide

Commvault Hyperscale Installation – notes from the field.

March 11, 2020 Leave a comment

WOW, it has been 4 years since I blogged here, I moved initially to my own website but I am returning here for the time being sharing with you some goodies.

In this blog post, I will share with you some insights about Commvault’s hyperscale appliances.

Commvault Hyperscale, is state of the art storage appliance that allows seamless protection, upgrade and expansion of backup storage.

Commvault is expanding in Egypt and I had the pleasure installing 2 of 3 appliances currently installed in Egypt.

After fiddling with the appliances, I want to share some insights about those appliances.

Part1: Fujitsu OEM Hyperscale Appliances

Those are the original HS ones that comes from Fujitsu, the come pre-installed with Hyperscale OS and all what you need is cable and configure them.

Cabling the appliances is simple as you have either 2 or 4 10G ports and 1 Gb port for iLO, here are the tricks:

  • 2 of the 10 Gbps ports will be connected to the public network and they will be used for data backups.
  • 2 of the 10 Gbps ports will be configure for internal cluster communication
  • 2 * 1 Gbps iLO will be connected to management network

Trick #1 is that production network must communicate with iLO ports, otherwise the cluster will not start, this is a pain in secure environments where it is a must to have iLO in out of band management configuration.

once you setup the devices and if you choose to install them with new Commvault installation (which installs RHEL virtualization and Commvault on a Windows VM), you will need to make sure the production network can reach your internal network, AD and most of the servers to backup them and join active directory.

Part2: HP DL G10 Hyperscale Appliances

Those are HP DL servers that comes with disks and you must install HS OS on them.

The first issue is don’t install the OS using memory cards, you must connect to iLO and mount the OS ISO using iLO and boot from it.

During the installation, the OS will enumerate disks, and it will detect the USB as a disk and tries to initialize it which will fail causing the OS install the fail, hence you must use the above method.

Once the OS is setup, configure the production and private NICs properly with required IPs, and connect the HS to existing Commcell server that you must install separately.

Notes from the field:

1- For HS OS (not the appliances) make sure that you update Commvault to the latest SPs and download Linux x86/x64 packages to the server the make sure to update the cache.

2- Join the appliances one by one to the Commcell, then update the remote cache of each appliance then update the appliance OS itself, then create scaleout storage.

3- Make sure that DNS names are properly mapping to the IPs of each HS appliance, otherwise you will see error (DNS name doesn’t map the device IP).

4- If you mistakenly configured the NICs, you can edit the nics configuration and bonding through editing /etc/sysconfig/network-scripts, do it carefully and edit it with extreme caution.

5- Check network configuration using ethtool and ifcfg utilities.

6- Firewalls are your enemy.

Happy installation.

 

Categories: Uncategorized

علبة باندورا ، ولا سحر و لا شعوذة ، ما هو الفيرتشوال بروسيسور ، الفيزيكال بروسيسور ، مين الولية اللي اسمها نوما

February 1, 2015 Leave a comment

علبة باندورا ، ولا سحر و لا شعوذة ، ما هو الفيرتشوال بروسيسور ، الفيزيكال بروسيسور ، مين الولية اللي اسمها نوما ، و بوناس تأثير كل ده على لايسنسنج الاس كيو ال ========= في هذا المقال – ما هو Socket, Physical CPU, Virtual CPU, physical Core, virtual core, NUMA و غيره و غيره – تطلع ايه ال Thread – ما هو الفرق بين هايبر في و في ام وير في البروسيسنج – ما هو تأثير كل هذا على لايسنسنج مايكروسوفت ======== علبة باندورا و كما تقول الاساطير هي العلبة اللي تم اعطاؤها لباندورا و تم تخزين كل شرور العالم في هذه العلبة ، و هو تعبير مناسب جدا اجده يليق جدا كل ما اجي في موضوع الفيرتشوال و الفيزيكال بروسيسور ، لان كل مرة يتفتح ، الناس تتخانق مع بعض مع انه موضوع سهل طيب ، علشان منتوهشي حنبتدي كده بشوية حاجات حقولها بالبلدي علشان منتخانقشي مع بعض باقي المقال ، ثانيا انا غير مسؤول عن اي عسر هضم او تلبك معوي يأتي بسبب قراءة هذا المقال اولا ، انسااااااااااااا خاااااااااااااالص انه الفيزيكال بروسيسور هو الفيرتشوال بروسيسور ، و انه اما بتعمل في ام ب فيرتشوال برسيسور اكنك بتاخد كور من على الفيزيكال سي بي يو ثانيا ، مفيش في هذه المجرة اي حد بيقول انه في علاقة (شرعية او غير شرعية) بين الفيزيكال كور و الفيرتشوال كور و الفيرتشوال بروسيسور و الفيزيكال بروسيسور ، انسا ده تمامامممممممممممممممممممااااااااااا طب ايه يا عم ؟! علشان نتفق ، خلينا نبتدي من الاول على بياض بشوية تعريفات Physical Socket or Socket و دي البروسيسور نفسه في حد ذاته على السيرفر ، بيجي بانوع مختلفة و في اكتر من موديل باكتر من كور ، و ممكن يكون عندك بروسيسور ، 2و4و8و16 و هكذا من البروسيسور ، كل بروسيسور عليه اكتر من كور Core ده وحدة بروسيسنج مستقلة جوا البروسيسور ، في بروسيسور ب 2 و 4 و 8 و 12 و 16 و 24 كور ، و في تعريفات و انوع مختلفة Hyperthreading ده تقنية بتتيح تنفيذ اكتر من عملية في نفس الوقت ، انساها مؤقتا NUMA في عالم المالتي بروسيسنج (الفيزيكال) في ميموري كاش ، و علشان نسرع الميموري اكسس بقا في حاجة اسمها النوما ، و هي تقنية بتتيح الاكسس عبر الكاش المختلف ، بس الاكسس اللوكال بيكون اسرع من الاكسس للكاش من على البروسيسور التاني الموجود على باس تاني يعني الكاش متوفر بنفس السرعة على نفس الباس ، بس برضو متوفر عبر الباس التاني و لكن بسرعة ابطأ ، و لو الابلكيشن NUMA AWARE لازم يتستعمل و يحاول يخلي الداتا بتاعته في نفس الكاش علشان يقلل ال Cross Talk http://en.wikipedia.org/wiki/Non-uniform_memory_access طب طلعلنا ليه النوما ده ….اتقل ============= لو وصلت لحد هنا ، فانت كويس جدا ، نيجي بقا نلعب الالعاب السحرية يطلع ايه اصلا الفيرتشوال بروسيسور في الفيرتشوال ماشين ؟! نتيجة لاسباب كتيرة منها التعليم الحكومي و الاستسهال ..ناس كتير بتقولك انه الفيرتشوال بروسيسور يساوي فيزيكال بروسيسور ، و ده غير صحيح بالمرة …ليه بقا ؟!!! لانه الهايبرفايزور (ايا كان مايكروسوفت او في ام وير) بيستعمل حاجة اسمها ال CPU Scheduler ال Scheduler مهمته انه ياخد العمليات من الفي ام و يعملها جدولة على الفيزيكال بروسيسورز ، يعني الفي ام بتبعت التعليمات للتنفيذ ، السكاديولار بياخدها و ينفذها على فيزيكال بروسيسور العمليتين دول اسمهم Wait, Ready, Run فأي عمليه هي مستنية دورها في التنفيذ ، اما ريدي للتنفيذ و مستنية دورها من السكاديولار او ران و بيتم تنفيذها و هنا بيجي دور الكوانتام الكوانتام وحدة زمنية بيستعملها السكاديولار علشان يجدول عملياته ، و مقدارها 50 ميلي ثانية ، و هنا العملية بتنتقل من حالة الانتظزار و تخش التنفيذ كل شوية ، و بيبقا على السكاديولار انه يتحكم في العملية و يعين البروسيسور للفي ام علشان يتم تنفيذ العملية المراد تنفيذها و هنا اما بنتكلم ، بنقول حاجة مهمة جدا ، انه الفيرتشوال بروسيسور هو مجرد وحدة زمنية تمنح للفي ام علشان تقدر تنفذ تعليماتها يعني ايه فلنفترض انه لدينا اتنين في ام على هوست فيه اربعة بروسيسور ، كل بروسيسور اتنين كور ، في ام فيها اربعة فيرتشوال بروسيسور و التانية فيها 1 فيرتشوال بروسيسور ، بحسبة مبسطة سيكون التايم مقسم الى 5 اجزاء و بالتالي نظريا الفي ام الكبيرة تستحوذ على باور 6.4 بروسيسنج ، و الفي ام التانية 1.6 ، و هو ما يعزز مفهوم انه الفيرتشوال بروسيسور ربما يتخطى 100% من قوة البروسيسور (طبعا المفهوم مسطح جدا و لكن للتوضيح) طبعا يتعقد الموضوع كل ما زادت الفي ام و زادت الفيرتشوال بروسيسور و زادت الفيزيكال بروسيسور و الكورز المهم اللي تبقا فاهمه ، انه الفيرتشوال بروسيسور هو Time Allocation على الفيزيكال بروسيسور طب انا عايز اضمن قوة معينة او ميجا هرتز معينة لل في ام ، ده وارد جدا لانه ممكن تحط Reservations w guarantee على الفي ام … طبعا المفهوم اعلاه حلو و جميل لو مفيش خناقة على البروسيسنج ، بس لو في اكتر من في ام و في اكتر من تايم الوكيشن و في مشكلة في الريسورسز ، بيبتدي يشتغل ال Shares, reservations and CPU scheduler علشان يبتدوا يعينوا ريسورسز صح للي في ، و ده برضوا معناه ، انه ممكن تيجي الفي ام تنفذ تعليمة على بروسيسور تلاقيه مشغول فبيكون على السكاديولار انه يلاقي بروسيسور فاضي علشان ينفذ التعليمة بس هنا بقا يجي الكلام ، انهون بروسيسور و انهون باس ، و هنا يبتدي الكلام على النوما و عدد الكور مقابل عدد البروسيسور زي ما اتفقنا فوق ، مفيش علاقة خالص بين الفيزيكال بروسيسور و الفيزيكال كور و الفيرتشوال بروسيسور و كور ، لانه الفيرتشول بروسيسور و كور هما مجرد مدة زمنية ، و ده معناه انه فعلا الفي ام باتنين سي بي يو و اتنين كور ، ستساوي في الكفاءة في ام بفيرتشوال سي بي واحد و اربعة كور ، لانهم هم الاتنين ليهم نفس الوزن من السكاديولار http://frankdenneman.nl/2013/09/18/vcpu-configuration-performance-impact-between-virtual-sockets-and-virtual-cores/ ، طب فين التتة التتة حتيجي اما تعمل في امات كبيرة ، تتخطى حجم النوما بتاعتك او ما يعرف بال Wide VMs و اللي الكونفيجريشن بتاعتها بتتخطى حجم نوما بتاعتك ، و في بلوج جميل على الموضوع ده http://blogs.vmware.com/vsphere/2013/10/does-corespersocket-affect-performance.html طبعا الكلام كده جميل اوي و ابتدت تتضح الصورة ، حيتبقا بقا حاجة مش حنتكلم فيها علشان المية متخشش على الزيت الا و هي الهايبر ثريدينج… اخر حاجة هي الثريد ؟! و ده تعبير بيطلق على عدد الفي امات اللي ممكن نحملهم على الكور لو معنديش حسبة منطقية للميجا هرتز اللي حقدر انفذهم يعني لو عندي بروسيسور فيها 12 كور ، فهو لو حيشغل في امات بسيرفر ابليكيشن ممكن يشغل بين 3 الى 6 ثريدز (كل ثريد تمثل في ام من فيرتشوال سي بي يو واحد فقط) يعني توتال 36 في ام ، كل في ام فيها فيرتشوال سي بي يو واحد ، و طبعا الارقام حتقل لو ابتديت تزود في الفيرتشوال سي بي يو طب هل في فرق بين في ام وير و هايبر في ؟! حاجات بسيطة او ما يعرف بال Gang Scheduling اللي مش بتستعمله مايكروسوفت ، و اختلافات بسيطة في خوارزمية تعيين و اختيار الكور و البروسيسور ، بس يبقا الكونسبت ثابت مراجع اخرى http://www.virtuallycloud9.com/index.php/2013/08/virtual-processor-scheduling-how-vmware-and-microsoft-hypervisors-work-at-the-cpu-level/ http://www.vmware.com/files/pdf/techpaper/VMware-vSphere-CPU-Sched-Perf.pdf طب و لايسنسنج الاس كيو ال؟! باختصار انت عندك اما اس كيو ال 2012 او 2014 ، في الاس كي ال 2008 و 2012 كانت الرخصة بالفيزيكال بروسيسور ، اللي بيديك رخصة لعدد 4 كور (فيرتشوال) في حين في ال 2014 ، دايما الرخصة بالكور طب يعني ايه ، يعني مايكروسوفت جايما بتعد الكور على الفي ام ، بحد ادنى اتنين كور ، يعني لو عندك 4 بورسيسور و كل بروسيسور كور ، هو نفس اللايسنس لبروسيسور ب 4 كور مراجع http://download.microsoft.com/download/3/D/4/3D42BDC2-6725-4B29-B75A-A5B04179958B/MicrosoftServerVirtualization_LicenseMobility_VLBrief.pdf

Categories: VMware

Powershell script to set proxy settings and toggle automatically detect settings in Internet Explorer

September 16, 2014 Leave a comment

on hourly basis I have to toggle proxy settings of my laptop because I need to switch between corporate proxy and other networks I access, so I thought about scripting it using a simple powershell script, here is the script (the script will set the proxy and toggle automatically detect settings off , or unset the proxy and turn automatically detect settings on), here is the script:

$regKey=”HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings”
$proxyServer = “”
$proxyServerToDefine = “IP:8080”
Write-Host “Retrieve the proxy server …”
$proxyServer = Get-ItemProperty -path $regKey ProxyServer -ErrorAction SilentlyContinue
Write-Host $proxyServer
$val = (get-itemproperty “HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections” DefaultConnectionSettings).DefaultConnectionSettings

$val[8] = $val[8] -bxor 8
if([string]::IsNullOrEmpty($proxyServer))
{
Write-Host “Proxy is actually disabled”

set-itemproperty “HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections” -name DefaultConnectionSettings -value $val
Set-ItemProperty -path $regKey ProxyEnable -value 1
Set-ItemProperty -path $regKey ProxyServer -value $proxyServerToDefine
Write-Host “Proxy is now enabled”
}
else
{

set-itemproperty “HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections” -name DefaultConnectionSettings -value $val
Set-ItemProperty -path $regKey ProxyEnable -value 0
Remove-ItemProperty -path $regKey -name ProxyServer

Write-Host “Proxy is now disabled”
}

References:

http://justdaft.wordpress.com/2012/05/31/powershell-toggle-ie-auto-detect-setting/

http://blogs.msdn.com/b/aymerics_blog/archive/2013/05/18/scripting-toggle-proxy-server-in-ie-settings-with-powershell.aspx

Unified Boxes, The Sum of all fears

July 8, 2014 1 comment

Correction: By mistake I included SQL in the supportability statement, apparently I was was speaking about the stack as hall including backup, sorry for that.

Hi there, earlier this week, fellow MVP Michel Di Rooij published a blog post http://eightwone.com/2014/07/02/exchange-and-nfs-a-rollup/ speaking about NFS/Exchange support “Again”, the post motivated me to delve into the pool and add my experience.

The were some hesitation in the MVP community about if we should blog/speak about it or not, Michel was so brave to jump and speak about the topic, and after exchange some emails, we (including Fellow MVP Dave Stork) agreed that this blog is critical and we created it.

IF you want to read more, check Tony Redmond’s article http://windowsitpro.com/blog/raging-debate-around-lack-nfs-support-exchange 

So, from where the story begins ???!!!

I am currently working for a major data center provider. In my current role we try to find new ways, innovate and find new technologies that will save us time, effort and money and my team was working on investigating the unified boxes option.

But before delving into the technical part, let me give you a brief background from where I am coming, my position as an architect in a service provide is an awkward position, I am a customer, partner and a service provide, so I don’t innovate only, I don’t design only, I don’t implement only, I don’t support only and I don’t operate only, I do all of that, and that makes me keen investigating how every piece of new innovations will be designed, implemented, supported and operated.

Now speaking about the unified boxes, I was blown away with their capabilities. The capabilities of saving space, time and effort using these boxes are massive, but there is a catch, they use NFS, the source of all evil.

NFS has been used for years by VMware to provide “cost effective” shared storage option, a lot of customer adopted NFS over FC because of the claimed money saving and complexity, but NFS has its own issues (we will see that later).

I was a fan of the technology, and created a suggestion on ideascale.com to bring the issue to the PG attention, we did our best but Microsoft came back and informed us that NFS won’t be supported, they have their own justifications, we are not here to speak about it because we can’t judge Microsoft, but the bottom line, NFS is not supported as storage connectivity protocol for Exchange.

Now the reason of this post is to highlight to the community 2 things:

  • NFS is not supported by Microsoft for Exchange (any version), there is no other workaround this.
  • Choosing a unified box as a solution has its own ramifications that you must be aware about.

I am not here to say nutanix/simplivity/VMware VSAN..etc are good or bad, I am highlighting the issues associated with them to you, and the final decision will be yours, totally yours.

I was fortunate to try all of the above, got some boxes to play with and tested them to the bone, the testing revealed some issues, they might not to you, but they are from my point of view:

  • Supportability: Microsoft doesn’t support placing Exchange on NFS, with the recent concerns about the value of Exchange virtualization (see a blog post from fellow MVP Devin Ganger http://www.devinonearth.com/2014/07/virtualization-still-isnt-mature/) using these boxes and these set of technologies might not the best way for those specific products, you might want to choose going with physical servers or other options for Exchange/SQL rather than going with non-supported configurations, although that vendors might push you to go for their boxes and blinding you with how great and shiny these solutions are. The bottom line, they are not supported by Microsoft and they won’t in the near future.
  • Some of the above uses thin provisioned disks, meaning that disks are not provisioned ahead for Exchange which is the only supported configuration for virtual harddisks for Exchange. Disks are thinly provisioned meaning they are dynamically expanded on the fly as storage consumed which is another not supported configuration.
  • The above boxes have no extensibility to FC, also you are limited to a max of 2 * 10 GbE connections (I don’t know if some have 4 but I don’t think so) meaning that you have no option to do FC backups, all the backups will have to go through Gbe Network, we can spend years discussing which is faster or slower, in my environment I run TBs if not PBs of backups and they were always slow on GbE networks, all of our backups as to be done over FC.
  • The above means you will run backup, operations, production and management traffic on single team on shared networks, maybe 2 teams or will run it over 1 GbE, this might be fine with you, but for larger environments, it is not.
  • The above limitations limits you to a max number of network connection, a single team with 2 NICs might be sufficient to your requirements, 2 teams maybe, but some of my customers have different networking requirements and this will not fit them.
  • Some of the above boxes does caching for reads/writes, I have some customers ran into issues when running Exchange jetstress and high IO applications, the only solution as provided by the vendor’s support is to restart the servers to flush the cache drives.
  • Some of the vendors running compression/deduplication in software and this requires a virtual machine of 32 GB or larger to start utilizing deduplication.
  • All of the above uses NFS, meaning you will lose VAAI, VAAI is very critical as it accelerates storage operations by offloading those tasks directly to the array, you can use VAAI with NFS with virtual machines that has snapshots or running virtual machines, meaning that you rely on the cache or you must shutdown the virtual machines to use VAAI, VAAI is very important and critical element, so you must understand what are the effects of losing it.
  • Those boxes don’t provide tiering, tiering is another important if you are running your own private cloud, by allowing you to provision different storage grades to different workloads, also it is important if you want to move hot data to faster tiers and cold data to slower tiers. Tiering touches the heart and soul every cloud (private or public) and you must understand how this will affect your business, operations, charging and business model.
  • From support/operations and compliance point of view, you still running unsupported configuration from disk provisioning and storage backend, again it is your call to decide.

I am not saying that unified boxes are bad, they are a great solution for VDI, Big Data, branch offices, web servers and applications servers and maybe databases that support this sort of configuration, but certainly not for Exchange.

We can spend years and ages discussing if the above is correct or not, valid or not and logic or not, but certainly they are concerns that might ring some bills at your end, also it is certain that the above configurations are not supported by Microsoft, and unless Microsoft changes its stance, we can do nothing about it.

We, as MVPs, have done our duty and raised this as a suggestion to Microsoft, but the decision was made not support it, and it is up to you to decide if you want to abide to this or not, we can’t enforce you but it is our duty to highlight this risk and bring it to your attention. And as MVPs and independent experts, we are not attracted to the light like butterflies, it is our duty to look deeper and further beyond the flashlights of the brightest and greatest and understand/explain the implications and consequences of going this route so you can come up with the best technical architecture for your company.

SYDI script, Exporting/copying data from MS word to Excel sheet using VBA

June 4, 2014 5 comments

wow it has been a while since I blogged.

I did something interesting this week and I wanted to share it with you.

This week, I got a task to check 400 servers for their startup parameters for security, now I though, I won’t log into each server and do it manually, I am so lazy for this.

SYDI script has a nice feature to export the server info along with the startup parameters, so I did SYDI commands and I exported the 400 servers data, but now I have 400 documents, again, I am so lazy for this, I want a single sheet to read.

So, it is time for some VBA scripting, after some search and copying some scripts, I built this nice script, I thought about sharing it.

The script will look in the current document, search for the latest table which should be the startup parameters, copy the word table using VBA, select the first line in the document which should be the server name, open excel sheet, lookup the written rows, and paste the table at the latest one.

Note: I named the macro AutoOpen to start when opening the documents, I built another script to loop through server names, open the documents and I am done.

now I can have a single sheet to read during drinking my coffee.

Reference: http://stackoverflow.com/questions/15789505/vba-pull-data-from-ms-word-table-into-ms-excel-worksheet-not-special-paste

Enjoy

Sub AutoOpen()
    Dim wrdTbl As Table
    Dim RowCount As Long, ColCount As Long, i As Long, j As Long

    ‘~~> Excel Objects
    Dim oXLApp As Object, oXLwb As Object, oXLws As Object
   
        Selection.MoveEnd Unit:=wdLine, Count:=1
Selection.Expand wdLine
hostname = Selection.Text

    tablecount = ActiveDocument.Tables.Count

      Set wrdTbl = ActiveDocument.Tables(tablecount)
 
               
      ColCount = wrdTbl.Columns.Count
    RowCount = wrdTbl.Rows.Count

    
    ‘~~> Set your table

    ‘~~> Get the word table Row and Column Counts
   
    ‘~~> Create a new Excel Applicaiton
    Set oXLApp = CreateObject("Excel.Application")

    ‘~~> Hide Excel
    oXLApp.Visible = False

    ‘~~> Open the relevant Excel file
    Set oXLwb = oXLApp.Workbooks.Open("pathtoexcelsheet\sample.xlsx")
    ‘~~> Work with Sheet1. Change as applicable
    Set oXLws = oXLwb.Sheets(1)
rowscount = oXLws.UsedRange.Rows.Count
If rowscount = 1 Then
rowscount = rowscount – 1
Newline = rowscount + 1
tableline = Newline + 1

Else
rowscount = rowscount + 1
Newline = rowscount + 1
tableline = Newline + 1

End If

oXLws.Cells(Newline , 1).Value = hostname
    ‘~~> Loop through each row of the table
    For i = 1 To RowCount
        ‘~~> Loop through each cell of the row
        For j = 1 To ColCount
            ‘~~> This gives you the cell contents
            Debug.Print wrdTbl.Cell(i, j).Range.Text

            ‘~~> Put your code here to export the values of the Word Table
            ‘~~> cell to Excel Cell. Use the .Range.Text to get the value
            ‘~~> of that table cell as shown above and then simply put that
            ‘~~> in the Excel Cell
            With oXLws
                ‘~~> EXAMPLE
                .Cells(tableline , j).Value = wrdTbl.Cell(i, j).Range.Text
            End With
        Next
        tableline = tableline + 1
    Next

    ‘~~> Close and save Excel File
    oXLwb.Close savechanges:=True

    ‘~~> Cleanup (VERY IMPROTANT)
    Set oXLws = Nothing
    Set oXLwb = Nothing
    oXLApp.Quit
    Set oXLApp = Nothing

    Application.Quit
   
End Sub

Configuring Azure Multifactor Authentication with Exchange 2013 SP1

March 2, 2014 8 comments

Thanks to Raymond Emile from Microsoft COX, the guy responded to me instantly and hinted me around the OWA + basic Auth, Thanks a lot Ray…

In case you missed it, Azure has a very cool new feature called Azure multifactor authentication, using MFA in Azure you can perform multifactor for Azure apps and for on-premise apps as well.

In this blog, we will see how to configure Azure Cloud MFA with Exchange 2013 SP1 on premise, this will be a long blog with multiple steps done at multiple levels, so I suggest to you to pay a very close attention to the details because it will be tricky to troubleshoot the config later.

here are the highlevel steps:

  • Configure Azure AD
  • Configure Directory Sync.
  • Configure multifactor Authentication Providers.
  • Install/Configure MFA Agent on the Exchange server.
  • Configure OWA to use basic authentication.
  • Sync Users into MFA agent.
  • Configure users from the desired login type.
  • Enroll users and test the config.

so let us RNR:

Setting up Azure AD/MFA:

Setting up Azure AD/MFA is done by visiting https://manage.windowsazure.com , here you have 2 options (I will list them because I had them both and it took me a while to figure it out):

    • If you have never tried azure, you can sign up for a new account and start the configuration.
    • If you have Office 365 enterprise subscription, then you will get Azure AD configured, so you can sign in into Azure using the same account in Office 365 and you will find Azure AD configured for you (I had this option so I had to remove SSO from the previous account and setting it up again).

Once you login to the portal, you can setup Azure AD by clicking add:

image

Since I had Office 365 subscription, It was already configured, so if you click on the directory, you can find list of domains configured in this directory:

image

If you will add a new domain, click on add and add the desired domain, you will need to verify the domain by adding TXT or MX record to prove you domain ownership, once done you will find the domain verified and you can configure it, the following screenshots illustrates the verification process:

image

image

image

image

 

Once done, go to Directory Integration  and choose to activate directory integration:

image

 

One enabled, download the dirsync tool on a computer joined to the domain:

image

Once installed, you will run through the configuration wizard which will ask you about the azure account and the domain admin account to configure the AD Sync:

image

image

image

image

image

image

Once done, you can check the users tab in Azure AD to make sure that users are sync’d to Azure successfully:

image

If you select a user, you can choose to Manage Multifactor Authentication

image

you will be prompt to add a multifactor authentication provider, the provider essentially controls the licensing terms for each directory because you have per user or per authentication payment, once selected you can click on manage to manage it:

image

Once you click manage, you will be taken to the phonefactor website to download the MFA agent:

image

click on downloads to download the MFA agent, you will install this agent on:

  • A server that will act as MFA agent and provides RADIUS or windows authentication from other clients or
  • Install the agent on the Exchange server that will do the authentication (frontend servers).

Since we will use Exchange, you will need to install this agent on the Exchange server, once install you will need to activate the server using the email and password you acquired from the portal:

image

Once the agent installed, it is time to configure the MFA Agent.

Note: the auto configuration wizard won’t work, so skip it and proceed with manual config.

Another note: FBA with OWA won’t work, also auto detection won’t work, so don’t waste your time.

Configuring the MFA Agent:

I need to stress on how important to follow the below steps and making sure you edit the configuration as mentioned or you will spend hours trying to troubleshoot the errors using useless error codes and logs, the logging still poor in my opinion and doesn’t provide much information for debugging.

the first step is to make sure the you have correct name space and ssl certificate in place, typically you will need users to access the portal using specific FQDN, since this FQDN will point to the Exchange server so you will need to publish the following:

  • Extra directories for MFA portal, SDK and mobile app.
  • or Add a new DNS record and DNS name to the ssl certificate and publish it.

In my case, I chose to use a single name for Exchange and MFA apps, I chose https://mfa.arabcloud.tv, MFA is just a name so it could be OWA, mail or anything.

SSL certificate plays a very important role, this is because the portal and mobile app speaks to SDK over SSL (you will see that later) so you will need to make sure that correct certificate in place as well as DNS records because the DNS record must be resolvable internally.

once the certificate/DNS issue is sorted, you can proceed with the install, first you will install the user portal, users will use this portal to enrol as well as configuring their MFA settings.

From the agent console, choose to install user portal:

image

It is very important to choose the virtual directory carefully, I highly recommend changing the default names because they are very long, in my case I chose using MFAPORTAL as a virtual directory.

image

image

image

image

once installed, go the user portal URL and enter the URL (carefully as there is no auto detection or validation method), and make sure to enable the required options in the portal (I highly recommend enabling phone call and mobile app only unless you are in US/EU country then you can enable text messages auth as well, it didn’t work with me because the local provider in Qatar didn’t send the reply correctly).

image

Once done, Proceed with SDK installation, again, I highly recommend changing the name, I chose MFASDK

image

image

Once installed, you are ready to proceed with the third step, installing the mobile app portal, to do this browse to the MFA agent installation directory, and click on the mobile app installation, also choose a short name, I chose MFAMobile

image

image

Once Installed, you will have to do some manual configuration in the web.config files for the portal and the mobile app.

You will have to specify SDK authentication account and SDK service URL, this configuration is a MUST and not optional.

to do so, first make sure to create a service account, the best way to do it is to fire you active directory users and computers management console, find PFUP_MFAEXCHANGE account and clone it.

Once cloned, open c:\intepub\wwwroot\<MFAportal Directory> and <MFA Mobile App Directory> and edit their web.config files as following:

For MFA portal:

image

image

For MFA mobile App:

image

image

Once done, you will need to configure the MFA agent to do authentication for IIS.

Configure MFA to do authentication from IIS:
To configure MFA agent to kick for OWA, you will need to configure OWA to do basic authentication, I searched on how to do FBA with MFA, but I didn’t find any clues (if you have let me know).

Once you configured OWA/ECP virtual directories to do basic authentication, go to the MFA agent , from there go to IIS Authentication , HTTP tab, and add the OWA URL:

image

Go to Native Module tab, and select the virtual directories where you want MFA agent to do MFA authentication (make sure to configure it on the front end virtual directories only):

image

Once done….you still have one final step which is importing and enrolling users…

to import users, go to users, select import and import them from the local AD, you can configure the sync to run periodically:

image

Once imported, you will see your users, you can configure your users with the required properties and settings to do specific MFA type, for example to enable phone call MFA, you will need to have the users with the proper phone and extension ( if necessary):

image

You can also configure a user to do phone app auth:

image

Once all set, finally, you can enrol users.

Users can enrol by visiting the user portal URL and signing with their username/password, once signed they will be taken to the enrolment process.

for phone call MFA, they will receive a call asking for their initial PIN created during their configuration in MFA, once entered correctly, they will be prompted to enter a new one, once validated the call will end.

in subsequent logins, they will receive a call asking them to enter their PIN, once validated successfully, the login will be successful and they will be taken into their mailbox.

in mobile app, which will see here, they will need to install a mobile app on their phones, once they login they can scan the QR code or enter the URL/Code in the app:

image

image

image

Once validated in the app, you will see a screen similar to this:

Screenshot_2014-03-02-21-06-37

Next time when you attempt to login to OWA, the application will ask you to validate the login:

Screenshot_2014-03-02-21-14-30

Once authentication is successful, you will see:

Screenshot_2014-03-02-21-07-56

and you will be taken to OWA.

Final notes:

again, this is the first look, I think there are more to do, like RADIUS and Windows authentication which is very interesting, also we can configure FBA by publishing OWA via a firewall or a proxy that does RADIUS authentication + FBA which will work.

I hope that this guide was helpful for you.

5 life lessons I learned while playing chess

February 22, 2014 Leave a comment

I play chess, every day, it is a hobby since college days, I love the game and its need to think and the way it requires you to think.

I am not a master I play and lose a lot, but it is hard to lose, and after over 14 years of playing chess, I learned few valuable lessons. In this article, I will share them and show you them in action.

Lesson 1: You need to be careful when you are close to Win.

I can not tell you how many games I played where people snapped and made uncommonly silly mistakes when they were about to win, including me. The following game is a perfect example of that:

http://goo.gl/Au5vjv

I was winning, obviously the game was about to end, what was the logical move, any move other than moving the queen to C8, that was my move, and I lost the queen for no apparent reason other than I thought it ended.

In life, it is the same, when you are close to win, either it is exam, job, deal or anything, you need to make sure you will close it, do not snap at the last mile, keep the same performance and attitude to make sure you will WIN and end up WINNING BIG.

Lesson2: Don’t give up; no matter how f**ked you are:

I can not tell how many games I played and when I kill the queen people give up and resign, toooo many games.

I found that people give up early and easily, and a lot of them snap (check lesson #1), my 2 cents in chess and life don’t give up, no matter how deep in shit you are in, think strategically and move tactically, the queen is not your strongest piece on the chess board; your brain is the strongest piece on the board and in life, use it.

Check this game:

http://goo.gl/eg9ss0

I played this game against a extremely experienced player I took care and played the king gambit which should guarantee a exceptionally strong dynamic during the game as I was playing with white, but guess what, he set me up, and I lost the queen, and I couldn’t castle, I thought about giving up, but I didn’t, moved correctly and ended up advancing with 2 pieces.

So, chess and life are about your choices and moves, decide carefully.

Lesson3: Easy wins are not always easy

In chess, players target the rook as a highly valuable piece, it is the most valuable after the queen (of course skipping the king).

In a lot of games, you might see an easy target, but you need to be careful of what is the current situation, you need to think what others will do and don’t buy into a simple target because others might hit back hard.

check this game: http://goo.gl/n1nRGj

I was attacking the king side, obviously the other played didn’t think carefully about his current position, and bought the idea of forking the queen and rook, he ended up with a sad situation and position.

Also in life, don’t buy easy wins and target, they are lovely and sometimes you have/must use them, but you have to think ahead; what is behind them and will they benefit me?!

Lesson4: No matter how careful you are, sometimes you f*ck up:

I play careful and systematic games against experiences players, wither I play with white or black; I use a exceedingly systematic approach to avoid any surprises.

But no matter how careful I am, or you are or will, sometimes we do stupid stuff. We will always do stupid and foolish stuff, it is part of life.

check the following game:

http://goo.gl/5Lah4E

again, king gambit, everything is progressing as should be, but in the seventh move I did what, I took the pawn with the bishop, what the hell I was thinking, I don’t know.

I had experienced player against me, I lost a valuable piece, and the game still in the beginning, it is a tough situation, but I decided to recover and come back.

as you can see, I pushed with some tactical moves to prevent the queen from castling, and strategically to attack with the Rook and queen.

I ended up with a check mate. that was impressive and valuable lesson to me. In life, sometimes you do stupid things, disastrous to the point you might think I can’t come back from this.

But when you face these situations, it is time to apologize to others or to yourself, put a plan, gather yourself and recover, you can always do that, no matter how hard the situation you are in.

Lesson5: Chess about the bottom line, so is life:

Chess about mating the king, it is not about taking the queen or having more pawns, it is about someone who wins at the end, simple as that.

A lot of people forget this rule; I can’t tell how many time people ran after a hanging pawn or a piece and had to pay the price for it.

check this game: http://goo.gl/xWt4Kb

the guy went after the hanging pawn; I lined up the 2 rooks and the queen, setup the attack and launched it. he paid the price.

same in life, it doesn’t matter how many presentation you have done in your job, how many hour you worked; if you don’t have results, it is useless.

%d bloggers like this: