تفعيل المصادقة المزدوجة على نظام ابنتو

مع ازدياد الطرائق التي يستخدمها المهاجمون في عمليات الإختراق التي يقومون بها، يحتاج مدراء الانظمة الى رفع مستوى الحماية الخاص بأنظمتهم. إحدى هذه الطرائق هي عبر المصادقة المزدوجة أو ما يعرف ب Two-Factor Authentication.

ما هي المصادقة المزدوجة؟

كلمات المرور هي شيء يعرفه المستخدم (something you know). هنا العديد من الوسائل التي يتم من خلالها مهاجمة كلمات المرور. وكون كلمات المرور هي الحماية الأكثر استخداما والتي بمعرفتها (او الحصول عليها) يمكن للمهاجم اختراق الأنظمة، تعتبر اضافة شيء آخر لعملية المصادقة أمراً مهماً من أجل جعل مهمة المهاجم أمراً أصعب. الإضافة هنا هي عبارة عن شيء في حوزة المستخدم (something you have) وهو في حالتنا هذه الهاتف النقال.

قامت غوغل في الفترة الأخيرة بجعل المصادقة المزدوجة متوفرة على نطاق واسع سواء على بريدها الإلكتروني (سنقوم إن شاء الله بتغطيته قريباً)، وكذلك عبر توفير إضافات يمكن للمستخدمين تثبيتها على أنظمتهم لتسهيل تفعيل المصادقة المزدوجة.

هنا سنقوم إن شاء الله بتغطية طريقة تفعيل المصادقة المزدوجة على أنظمة ابنتو. ننصح مدراء هذه الأنظمة بتفعيلها من أجل حماية أفضل لأنظمته. هذه الحماية لا تكلفك عزيزي مدير النظام شيئاً سوى وقت تثبيتها على أنظمتك.

الخطوات

تفعيل المصادقة المزدوجة

اذهب الى لوحة ادارة نطاقك (او ادارة بريدك في حال لم تكن تمتلك نطاق) واختر الأدوات المتقدمة (Advanced Tools) ثم اختر “Allow users to turn on two-factor authentication”. بعد ذلك اذهب الى حسابي (My Account) واضغط على استخدام المصادقة المزدوجة (Using 2-step verification).

تثبيت مصادق جوجل (Google Authenticator) على ابنتو

ملاحظة: الخطوات التالية تم تنفيذها على نظام ابنتو 10.04

١- قم بتحميل مكتبة libpam0g-dev والتي يحتاجها Google Authenticator


apt-get install libpam0g-dev#

٢- قم بتحميل Google Authenticator من هنا https://code.google.com/p/google-authenticator/downloads/list

ملاحظة: لحظة كتابة هذا المقال كان اسم الملف هو  libpam-google-authenticator-1.0-source.tar.bz2

٣- قم بتثبيت برنامج gcc


#apt-get install gcc

ملاحظة: وجود برنامج gcc على خادمك له محاذير أمنية لذلك قم بإزالته بعد الانتهاء من تثبيت Google Authenticator

٤- قم بفك ضغط البرنامج وتثبيته


$bunzip2 libpam-google-authenticator-1.0-source.tar.bz2
$tar xvf libpam-google-authenticator-1.0-source.tar
$cd libpam-google-authenticator-1.0-source
$sudo make install

٥- نقوم الآن بتحرير ملف common-auth حتى يشمل إضافة Google Authenticator


vim /etc/pam.d/common-auth

وإضف السطر التالي


auth required pam_google_authenticator.so

بحيث يصبح شكل الملف النهائي هو


# here are the per-package modules (the "Primary" block)
auth required pam_google_authenticator.so
auth [success=1 default=ignore] pam_unix.so nullok_secure
# here's the fallback if no module succeeds

ملاحظة: لا تقم بأي تعديل على الملف عدا عن اضافة سطر  Google Authenticator قبل سطر pam_unix.so

٦- قم بتفعيل خاصية ChallengeResponseAuthentication في برنامج SSH حتى يصبح Google Authenticator جزءا منه.

 

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication yes

ملاحظة: هنا قمت فقط بغير القيمة من no إلى yes

الآن نقوم بإعادة تشغيل خدمة SSH من أجل أن تصبح التغييرات التي قمنا بها مفعلة.


service ssh restart

لا تقم بالخروج من النظام أبداً في هذه المرحلة وإلا فلن تتمكن من الدخول مرة أخرى

٧- لتفيعل Google Authenticator على حساب

 

[email protected]:~$ google-authenticator
Do you want authentication tokens to be time-based (y/n) y
https://www.google.com/chart?chs=200×200&chld=M|0&cht=qr&chl=otpauth:[email protected]%3Fsecret%
Your new secret key is:
Your verification code is
Your emergency scratch codes are:
***55**
***22**
***77**
***22**
***11**
Do you want me to update your “/home/bashar/.google_authenticator” file (y/n) y
Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y
By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) y
If the computer that you are logging into isn’t hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y

 

٨- قم بنسخ العنوان إعلاه في متصفحك

https://www.google.com/chart?chs=200×200&chld=M|0&cht=qr&chl=otpauth:[email protected]%3Fsecret%<USERS_KEY>

 

٩- قم بعملية مسح لكود الذي سيظهر (كود يعرف ب QR) من خلال تطبيق Google Authenticator على هاتفك النقال.

التطبيق متوفر في اسواق هواتف اندوريد، ايفون، وبلاك بيري بالإسم Google Authenticator وفي سوق هاتف ويندوز فون بالإسم Authenticator وهو اصدار غير رسمي بخلاف Google Authenticator المدعوم من قبل غوغل.

مثال للصورة التي ستظهر عند زيارة الموقع

١٠- جرب من شاشة سطر أوامر أخرى الوصول الى الخادم حتى تتأكد من أن المصادقة المزدوجة تعمل الآن


$ssh [email protected]
Verification code:
Password:
Linux s4a 2.6.32-41-server #88-Ubuntu SMP Thu Mar 29 14:32:47 UTC 2012 x86_64 GNU/Linux
Ubuntu 10.04.4 LTS
[email protected]:~$

كما تلاحظون هناك شيء جديد يسبق كلمة المرور وهو Verification Code والذي تحتاج إليه بالإضافة إلى كلمة المرور من أجل الوصول الى خادمك عبر خدمة SSH

 

نبذة عن الكاتب

بشار ماجستير نظم معلومات. مهندس أنظمة يمتلك خبرة في إدارة أنظمة ويندوز ولينكس. باحث ومختصص في مجال أنظمة المعلومات، معالجة الحوادث الأمنيّة، تحليل الإختراقات الأمنيّة، وفحصوصات الاختراق. حاصل على العديد من الشهادات الأمنيّة. عضو في مجلس استشاريّي معهد سانز لأمن المعلومات.

التعليقات:

أضف تعليقاً | عدد التعليقات: (6)

  1. أسامه قال:

    قم بنسخ العنوان إعلاه في متصفحك

    https://www.google.com/chart?chs=200×200&chld=M|0&cht=qr&chl=otpauth:[email protected]%3Fsecret%

    العنوان يحوي bashar
    هل طلب منك البريد الالكتروني وفي أي مرحلة حدث هذا؟

    • بشار قال:

      لا يطلب منك بريد الكتروني. عندما تقوم بمسح QR سيظهر لك الرمز الذي ظهر معك في سطر الأول قارن بين الاثنين للتأكد (هذا مع بعض الهواتف) غالبها ستقوم بإظهار رقم جديد يتغير كل ٣٠ ثانية وهو ما يعني ان العملية قد نجحت.

  2. أسامه قال:

    جزاك الله خيرا على هذه الطريقة. وجدت فيديو عنها يمكن أن يوضح مالذي يحدث
    http://www.youtube.com/watch?v=UTjdW3F6GOc

    http://guides.webbynode.com/articles/security/ubuntu-google-authenticator.html

    أتمنى أن تضيفوا طريقة باستخدام ذاكرة الفلاش باستخدام إما ملف عليها أو باستخدام رقمها التسلسلي مثلا.

  3. محمد قال:

    بالنسبة للمستخدم العادي هل تفيده هذه الطريقة ام هي للخوادم فقط

  4. أسامه قال:

    نعم تفيده إن كان يرغب بدرجة أعلى من الأمان

  5. Mo7aMeD قال:

    لو سمحت ياغالى ما حل هذة المشكلة

    حدث خطأ غير متوقع أثناء إرسال رمز المرور. الرجاء استخدام الرمز الذي تم إنشاؤه بواسطة تطبيق الجوال أو إعادة المحاولة لاحقًا. مزيد من المعلومات

أكتب تعليق