تخطَّ إلى المحتوى
2FAAuth.Work
اللغة: العربية
قراءة 10 دقيقة بقلم 2faauth.work سياسة التحرير

كيفية تفعيل 2FA لحسابات GitHub وGitLab وحسابات المطوّرين

دليل عملي لتفعيل المصادقة الثنائية على GitHub وGitLab وغيرها من حسابات المطوّرين، يغطي تطبيقات المصادقة، ومفاتيح المرور (passkeys)، ومفاتيح SSH، والرموز (tokens).

لماذا تُعد حسابات المطوّرين أهدافًا رئيسية

بالنسبة إلى المهاجم، حسابك على GitHub أو GitLab يستحق أكثر بكثير من تسجيل دخول بريد إلكتروني عادي. فقد يحتوي على صلاحية الدفع (push) إلى مستودعات خاصة، ومفاتيح نشر (deploy keys)، وصلاحيات نشر الحزم، ومسارات مباشرة إلى البنية التحتية للإنتاج. إذا تم اختراقه، يرث المهاجم صلاحياتك.

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

كما أن هجمات التصيّد الموجّه تستهدف المطوّرين تحديدًا برسائل تبدو حقيقية: إشعار "فشل سير العمل" يطلب تسجيل الدخول، أو دعوة مراجعة من مستودع غير معروف. كلمة مرور مسروقة وحدها هنا كافية للاختراق إذا لم يوجد عامل ثانٍ.

القطاع يعلم ذلك. فرض GitHub بالفعل المصادقة الثنائية (2FA) على العديد من المساهمين النشطين، وتشجع GitLab والمنصات الأخرى عليها بقوة. وتمكينها من نفسك يضعك في الطليعة بدلًا من أن تلاحق إلزامًا.

وأخيرًا، أمن المطوّر نادرًا ما يكون شخصيًا فحسب. فالشيفرة المصدرية لصاحب عملك والمشاريع مفتوحة المصدر التي تحافظ عليها تعتمد جميعها على بيانات اعتمادك. تفعيل 2FA يحمي الزملاء والمستخدمين وسمعتك أنت في خطوة واحدة.

اختيار عامل التحقق الثاني

تطبيقات المصادقة (TOTP)

تُنشئ تطبيقات مثل Google Authenticator وAuthy و1Password رمزًا من ستة أرقام كل 30 ثانية على هاتفك. تعمل دون اتصال بالإنترنت، ولا تكلف شيئًا، ويصعب اعتراضها بكثير من الرسائل النصية. بالنسبة لمعظم المطورين، هذا هو الخيار الأساسي المعقول.

نقطة عملية مهمة: عند مسح رمز QR، احفظ نسخة من مفتاح الإعداد نفسه (secret) في مدير كلمات المرور. بعض المواقع تعرض رمز QR مرة واحدة فقط، وإن فقدت هاتفك دون نسخة من المفتاح فستضطر للانتظار عبر دعم الدعم الفني. كذلك يسمح Authy و1Password بالمزامنة بين أجهزتك، بينما لا يفعل Google Authenticator ذلك افتراضيًا — إن كنت تستبدل هاتفك سنويًا، فاختر تطبيقًا ينتقل ببقاء الرموز سليمة.

مفاتيح المرور ومفاتيح الأمان

تستخدم مفاتيح المرور ومفاتيح الأمان المادية تشفيرًا مرتبطًا بنطاق الموقع نفسه، لذا لا يمكن لصفحة تصيّد خداعها لتسجيل الدخول. يدعمها كل من GitHub وGitLab. إذا كانت مستودعاتك ذات قيمة حقيقية، فسجّل مفتاح مرور أو مفتاح أمان مادي كعامل أساسي، واحتفظ بتطبيق TOTP كاحتياطي.

انتبه إلى تفصيلة عملية: اشترِ مفتاحين من نوع USB معًا — احتفظ بالثاني في مكان آخر، لأن المفتاح المفقود بلا احتياطي يعني قفلًا طويلًا على حسابك. كذلك تحقق من دعم متصفحك ومتصفح هاتفك قبل الاعتماد الكلي عليها.

رموز الرسائل النصية (SMS)

يمكن اختطاف الرسائل النصية عبر انتحال شريحة SIM، وتعتمد كليًا على أمان شركة الاتصالات لديك. استخدم الرسائل النصية فقط إذا لم يتوفر خيار آخر، وانتقل عنها بأسرع ما يمكن. الخطأ الشائع: استخدامها لأنها "أسهل"، ثم نسيان ترقيتها بعد تثبيت تطبيق مصادقة. خصص خمس دقائق لتبديل العامل الثاني فور توفر بديل.

رموز الاسترداد

عند تمكين التحقق بخطوتين (2FA)، يوفر الموقع مجموعة من رموز الاسترداد ذات الاستخدام الواحد. أنشئها ثم خزّنها دون اتصال: مطبوعة على ورق أو في الملاحظات الآمنة لمدير كلمات المرور. إن فقدت هاتفك دونها، أصبحت استعادة الوصول معاناة بطيئة مع الدعم الفني.

افعل ذلك لحظة التمكين، لا "لاحقًا". كل رمز يعمل مرة واحدة، لذا عند استخدامه واحدًا، أنشئ مجموعة جديدة فورًا. واختبر واحدًا منها مرة خلال السنة الأولى للتأكد أن التخزين سليم.

تفعيل المصادقة الثنائية (2FA) على GitHub

سجّل الدخول، ثم انتقل إلى Settings > Password and authentication > Two-factor authentication وانقر على Enable two-factor authentication.

تسجيل تطبيق TOTP

يعرض GitHub رمز QR. امسحه ضوئيًا بتطبيق المصادقة الخاص بك (Aegis و1Password وGoogle Authenticator وما شابهها كلها تعمل)، ثم أدخل الرمز المكوّن من ستة أرقام من التطبيق للتأكيد. يولّد التطبيق الآن رمزًا جديدًا كل 30 ثانية.

إن تعذّر مسح رمز QR — شاشة منخفضة الدقة، أو تفضيل للاستمرار على جهاز واحد — انقر على setup key لعرض المفتاح السري نصًا، ثم أدخله يدويًا في التطبيق كرمز قائم على الوقت (time-based). الخطأ الشائع هنا: اختيار الوضع القائم على العدّاد (counter-based)، فتظهر الرموز غير متطابقة مع ما يطلبه GitHub.

إضافة مفتاح مرور (passkey) أو مفتاح أمان

يمكن التصيّد الاحتيالي للحصول على رموز TOTP. بعد الإعداد، سجّل مفتاح مرور (passkey) أو مفتاح أمان عتادي كطريقة ثانية في نفس صفحة الإعدادات. احتفظ بـ TOTP كخيار احتياطي، لا كعاملك الوحيد.

المفاتيح العتادية تتطلب دعم متصفح وUSB أو NFC؛ تحقق من التوافق قبل شراء واحد. وإن سجّلت مفتاح مرور مدمجًا في المتصفح، فاعلم أنه مرتبط بذلك المتصفح وملف تعريفه — لا ينتقل معك إلى جهاز آخر.

تنزيل رموز الاسترداد

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

نزّلها مباشرة عند الإعداد، لا لاحقًا. استبدل المجموعة كلما استهلكت رموزًا أو أعدت إنشائها؛ مجموعة قديمة نصف مستهلكة فخ خفي عند الحاجة الطارئة.

الرموز (tokens) ومفاتيح SSH بعد ذلك

تستمر مفاتيح SSH الموجودة والرموز الشخصية للوصول (personal access tokens) في العمل دون تغيير. سيتطلب الدفع عبر HTTPS الآن مصادقة المتصفح أو رمزًا بدلًا من كلمة المرور.

تفعيل المصادقة الثنائية (2FA) في GitLab

في GitLab، اختر صورة رمزية لحسابك، ثم اختر Preferences، وافتح Account من الشريط الجانبي الأيسر، ثم انقر على Enable two-factor authentication.

ربط تطبيقك

امسح رمز QR باستخدام تطبيق TOTP لديك — مثل Aegis أو 1Password أو Google Authenticator أو ما شابه — وأدخل الرمز المكوّن من ستة أرقام الذي يُنشئه لتأكيد الاقتران. إذا ضاع لك رمز QR أو نسيت المسح في تلك اللحظة، فلا مشكلة: أغلق الصفحة وابدأ من جديد، فالرمز القديم لا يُصبح صالحًا إلا بعد التأكيد. إذا كنت تفضّل الأجهزة المادية، يمكنك تسجيل أجهزة WebAuthn مثل مفاتيح الأمان أو passkeys كعامل ثانٍ من صفحة Account نفسها. سجّل مفتاحين اثنين إن امتلكتهما، واترك واحدًا في مكان فيزيائي آمن؛ فالمفتاح الوحيد المفقود يعني رحلة طويلة مع الدعم الفني. ملاحظة مهمة: WebAuthn يُسجَّل كعامل ثانٍ بجانب TOTP، وليس بديلًا عنه، لذا أبقِ تطبيق TOTP مُفعّلًا.

حفظ رموز الاسترداد

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

ما الذي يتغيّر في عمليات Git

بعد تفعيل المصادقة الثنائية (2FA)، لم تعد كلمة مرور حسابك تعمل مع Git عبر HTTPS. استخدم بدلاً منها رمز وصول شخصي (personal access token) للدفع والسحب، أو انتقل إلى مفتاح SSH. أنشئ الرمز قبل تفعيل 2FA حتى لا تُقفل نفسك خارج سير عملك في منتصفه. امنح الرمز نطاق read_repository وwrite_repository فقط، وحدّد تاريخ انتهاء صلاحية معقول. إذا استخدم Git بيانات اعتمادك القديمة المخزّنة في مدير بيانات الاعتماد لديك، فاحذف الإدخال القديم أولًا حتى لا يواصل إرسال كلمة المرور المرفوضة.

مفاتيح SSH والرموز (tokens) بعد تفعيل المصادقة الثنائية (2FA)

بعد تفعيل 2FA، تتوقف عمليات الدفع في git المعتمدة على كلمة المرور عن العمل. حوّل مستودعاتك البعيدة (remotes) إلى SSH حتى لا يتطلب العمل اليومي أي طلب لكلمة مرور:

git remote set-url origin [email protected]:owner/repo.git

تحقّق من نجاح التحويل بأمر بسيط قبل أي عملية دفع حقيقية:

ssh -T [email protected]

إنشاء مفتاح SSH

أنشئ مفتاحًا حديثًا محميًا بعبارة مرور (passphrase):

ssh-keygen -t ed25519 -C "[email protected]"

انسخ محتوى الملف .pub إلى إعدادات مفاتيح SSH في حسابك (GitHub: Settings → SSH and GPG keys؛ GitLab: Preferences → SSH Keys). تُخزَّن عبارة المرور مؤقتًا بواسطة SSH agent، فنادرًا ما تكتبها.

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

الرموز (tokens) للسكربتات وCI

تحل الرموز الشخصية للوصول (personal access tokens) محل كلمات المرور في استدعاءات API وخطوط الأنابيب (pipelines). امنح كل رمز أصغر نطاقات صلاحيات ممكنة — فالرمز الذي لا يستطيع سوى قراءة المستودعات العامة لا يستطيع دفع التزامات خبيثة.

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

قلّص نطاق الضرر

فضّل الرموز الدقيقة الصلاحيات (fine-grained tokens) في GitHub والمقيّدة بمستودعات وصلاحيات محددة، واستخدم مفاتيح النشر (deploy keys) لمستودع واحد على الخوادم. إذا تسربت بيانات اعتماد ضيقة النطاق، يحصل المهاجم على أقل بكثير مما يحصل عليه مع حسابك الكامل.

راجع قائمة الرموز ومفاتيح SSH في حسابك كل بضعة أشهر، واحذف ما لم تعد تستخدمه.

حسابات مطوّرين أخرى تستحق التأمين

تستحق سجلات الحزم الحماية ذاتها التي تمنحها لمضيف Git الخاص بك. تدعم npm وPyPI وDocker Hub جميعها المصادقة الثنائية (2FA)، وتتطلبها npm في بعض الحالات. اختراق حساب في السجل يمكّن المهاجم من نشر نسخة عبث بها من حزمتك، تصل بعد ذلك إلى كل جهاز يثبّتها. على npm تحديدًا، فعّل الخيار الذي يفرض رمزًا لمرة واحدة (OTP) عند كل عملية npm publish وليس فقط عند تسجيل الدخول — فبدون ذلك يكفي أن تُسرق رمز وصول (token) صالح لنشر إصدار مزوّر. وعلى PyPI، راجع قائمة المشاريعين الموثوقين (trusted publishers) المرتبطين بحسابك، وأزل أي رابط CI لم يعد قيد الاستخدام، لأن كل رابط مهجور هو باب فتح لنفسك.

وحدات تحكم السحابة ومزوّدو CI

غالبًا ما تحتفظ AWS وGoogle Cloud وAzure وخدمات CI مثل أسرار GitHub Actions أو متغيرات GitLab CI ببيانات اعتماد النشر وصلاحيات الوصول إلى قواعد البيانات وبطاقات الدفع. فعّل المصادقة الثنائية (2FA) على حساب وحدة التحكم، ثم راجع أي وظائف CI يمكنها قراءة الأسرار. خطأ شائع: تفعيل 2FA على حساب الجذر فقط بينما تظل مفاتيح API ومستخدمو IAM الفرعيون بلا حماية — قسّم الصلاحيات بحيث لا يحمل أي مفتاح واحد أكثر مما يلزم، وأدر مفاتيح CI بعمر قصير بدل مفاتيح دائمة.

جذر الثقة

حسابان أهم من البقية:

  • البريد الإلكتروني — تُوجَّه إليه إعادة تعيين كلمات المرور لكل شيء تقريبًا
  • مدير كلمات المرور — يحتفظ بمفاتيح كل حساب آخر

إذا سقط أحدهما، كان بوسع المهاجم غالبًا أن يجد طريقه إلى كل شيء آخر عبر إعادة التعيين، مع المصادقة الثنائية (2FA) أو بدونها. لذلك احفظ رموز الاسترداد لكل حساب في مدير كلمات المرور نفسه فور تفعيل 2FA — فقدانها يعني فقدان الحساب عند ضياع الجهاز. احمِ كليهما بأقوى عامل ثانٍ تملكه، ويُفضَّل مفتاح مادي أو تطبيق مصادقة بدلًا من الرسائل القصيرة SMS، ولا تعد أبدًا استخدام كلمات مرورهما في مكان آخر.

العيش مع المصادقة الثنائية (2FA) يومًا بعد يوم

بمجرد تفعيل 2FA، تساعدك بعض العادات على جعل الأمر بلا عناء.

احمِ رموز الاسترداد الخاصة بك. احفظها في مدير كلمات المرور أو اطبع نسخة واحفظها في مكان آمن. لا تضعها أبدًا في مستودع — حتى المستودع الخاص قد يتسرب عبر الرموز (tokens) أو التفريعات (forks) أو إعداد خاطئ. وتذكّر أن كل رمز يُستخدم مرة واحدة فقط؛ جرّب أحدها في وضع التخفي بحيث تعرف أن النسخة المحفوظة صالحة فعلًا، ثم حدّث النسخة بعد التجربة.

سجّل عامل تحقق ثانيًا احتياطيًا. أضف تطبيق TOTP ثانيًا أو مفتاح أمان احتياطيًا بينما كل شيء يعمل بعد. النسخة الاحتياطية التي تُنشئها بعد فقدان هاتفك هي نسخة احتياطية لا تملكها. إن كنت تستخدم جهازين — هاتف وحاسوب مثلاً — سجّل التطبيق على كليهما، فإضاعة أحد الجهازين لا تحجبك عن حسابك.

راجع حسابك بانتظام. كل بضعة أشهر، افحص الجلسات النشطة واحذف الأجهزة التي لم تعد تستخدمها. ألغِ مفاتيح SSH القديمة، ورموز الوصول الشخصية، ومفاتيح النشر — فبيانات الاعتماد القديمة تعمّر أطول من المشاريع التي أُنشئت من أجلها. تذكير في التقويم مفيد. وإن كان رمز TOTP يظهر في أكثر من تطبيق، فأزِل النسخ الزائدة لتقليل سطح الهجوم.

إذا فقدت كل شيء، تواصل مع دعم المنصة. قد تستغرق الاستعادة أيامًا وتتطلب إثبات ملكيتك للحساب، لذا اعتبر هذا المسار الملاذ الأخير، لا خطة.

دقيقتان من الإعداد الآن توفران عليك أسبوعًا من الحظر لاحقًا. فعّل 2FA، احفظ الرموز، وتابع عملك.

شارك هذا الدليل

قراءة 11 دقيقة

قائمة فحص أمان 2FA: 12 خطوة لتأمين حساباتك اليوم

قائمة فحص عملية للأمان تغطي إعداد 2FA والعناية بكلمات المرور وخيارات الاسترداد. اثنتا عشرة خطوة ملموسة يمكنك اتخاذها اليوم لتقوية حساباتك ضد الاستيلاء عليها.

اقرأ المزيد