أنت لست وحدك إذا كنت قلقًا بشأن التهديدات المُتزايدة باستمرار للقرصنة وسرقة البيانات. في حين أنَّ مُطالبات المُصادقة مُتعددة العوامل كافية لدرء مُعظم المُتسللين المُحتملين ، لا تزال آلاف الانتهاكات تنجح كل يوم.
يُعد YubiKey أحد الحلول الأكثر شيوعًا لمُشكلة المصادقة. ولكن ما هو YubiKey ، وكيف تعمل مُصادقة الأجهزة؟ هل يُمكنك تأمين الكمبيوتر بنظام Linux باستخدام YubiKey؟ تحقق من أفضل بدائل LastPass لإدارة كلمات المرور لنظام Android.
روابط سريعة
لماذا تستخدم YubiKey لمُصادقة الأجهزة؟
توجد العديد من أنواع المُصادقة المُختلفة ، بما في ذلك كلمات السر ومصادقة الرسائل القصيرة وحتى تطبيقات المُصادقة التي يُمكنك استخدامها مع هاتفك. أحد الأنواع الأقل شيوعًا هو مصادقة الأجهزة ، والتي تتضمن استخدام جهاز إضافي صغير لإرسال رمز المصادقة عند المُطالبة بذلك.
تتمتع مفاتيح YubiKeys وأجهزة مصادقة الأجهزة الأخرى ببعض المزايا مُقارنة بتطبيقات المُصادقة الأخرى. إنها أسهل في الاستخدام ، وأكثر أمانًا ، ويكاد يكون من المُستحيل التحقق من المُصادقة دون الوصول إلى مفتاح YubiKey الفعلي نفسه.
الشروع في العمل باستحدام Yubikey
يُمكنك البدء باستخدام YubiKey في بضع خطوات بسيطة. كخطوة أولى ، يجب عليك الإستفادة من الاختبار الذي أجرته Yubico للتسوق للحصول على أفضل YubiKey لمواصفات جهازك. بمجرد أن يكون لديك YubiKey المُناسب في متناول اليد ، يُمكنك استخدامه كجهاز مصادقة لمواقع الويب والتطبيقات.
يمكنك حتى استخدامه لمصادقة sudo و SSH على كمبيوتر Linux الخاص بك. سنشرح كل ما تحتاج لمعرفته حول اختيار YubiKey المُتوافق مع sudo / SSH وتكوينه للمصادقة.
اختيار مفتاح YubiKey المُناسب لنظامك
إذا كنت ترغب في استخدام YubiKey الخاص بك للمصادقة على كمبيوتر Linux الخاص بك ، فهناك عدد قليل من مفاتيح YubiKeys التي تبرز كخيارات مُمتازة. يُعد كل من YubiKey 5 و YubiKey 5 NFC من الخيارات الكلاسيكية التي تعمل بشكل جيد مع الأنظمة المُزوَّدة بـ USB-A و USB-C ، على التوالي.
إذا كنت ترغب في استخدام YubiKey مع كمبيوتر Linux وهاتف Android ، فيجب أن تُفكر في YubiKey 5c NFC. إذا كان لديك كمبيوتر يعمل بنظام Linux و iPhone ، فيجب أن تُفكر في استخدام YubiKey 5ci لأنه يدعم USB-C و Lightning.
من المهم ملاحظة أنَّ سلسلة YubiHSM غير مُتوافقة مع مصادقة sudo. قد تكون مفاتيح YubiKeys القديمة مُتوافقة أو غير متوافقة مع مصادقة sudo / SSH اعتمادًا على ميزاتها المحددة.
قبل البدء بمصادقة sudo أو SSH ، يجب عليك تثبيت YubiKey PPA. افتح Terminal وأدخل الأوامر التالية لتحديث الحزم الخاصة بك وتثبيت YubiKey Authenticator و YubiKey Manager:
sudo add-apt-repository ppa:yubico/stable sudo apt-get update sudo apt install yubikey-manager libpam-yubico libpam-u2f
بعد ذلك ، ستحتاج إلى التحقق من أنَّ نظامك جاهز للعمل مع جهاز YubiKey الخاص بك. قم بتشغيل الأمر التالي في الجهاز للتحقق من إصدار udev
الخاص بك:
sudo udevadm --version
سيُعيد Terminal رقمًا. إذا كان الرقم 244 أو أعلى ، فإنَّ نظامك متوافق مع YubiKey. يُمكنك التخطي إلى الخطوة التالية في هذه الحالة.
خلاف ذلك ، سوف تحتاج إلى تكوين النظام الخاص بك. يجب عليك استخدام الأوامر التالية للتحقق مما إذا كان udev
مثبتًا على الكمبيوتر الخاص بك — ولتثبيته إذا لم يكن مُثبتًا:
dpkg -s libu2f-udev sudo apt install libu2f-udev
بعد ذلك ، تحقق مما إذا كانت واجهة U2F الخاصة بـ YubiKey غير مُؤمنة. إذا كان لديك YubiKey NEO أو YubiKey NEO-n ، فأدخل جهاز YubiKey الخاص بك ، وافتح YubiKey Manager ، وانتقل إلى Interfaces. قم بتمكين واجهة U2F واضغط على حفظ. تحقق من الأسباب التي تجعلك لا تُنفذ Docker بدون Sudo.
إعداد مفتاح YubiKey لمُصادقة sudo على نظام Linux
sudo
هو أحد أخطر الأوامر في بيئة Linux. في اليد الصحيحة ، يُوفر مستوى رائعًا من الوصول يكفي لإنجاز معظم الوظائف. في الأيدي الخطأ ، يمكن أن يسمح الوصول على مستوى الروت الذي يُوفره sudo
للمُستخدمين الخبثاء باستغلال أو تدمير النظام.
يُعد جهاز YubiKey مُمتاز لمُصادقة sudo
لأنَه يكاد يكون من المُستحيل نسخ المُصادقة دون الوصول إلى YubiKey نفسه. تتوافق معظم مفاتيح YubiKeys مع مصادقة sudo
، بما في ذلك Series 5 FIPs و Key Series و 4 FIPs Series و Bio Series و 5 Series و 4 Series.
وفقًا لـ Yubico ، فإنَّ الخطوة الأولى التي يجب عليك اتخاذها لتهيئة مصادقة sudo
هي إنشاء ملف قواعد. إذا كان إصدار udev لديك هو 188 أو أعلى ، فقم بتثبيت قواعد U2F الجديدة من GitHub وانسخ ملف 70-u2f.rules إلى /etc/udev/rules.d
.
إذا كان إصدار udev لديك أقل من 188 ، فثبّت قواعد U2F القديمة من GitHub وانسخ ملف u2f.rules الذي يبلغ 70 عامًا إلى /etc/udev/rules.d
.
إذا كان إصدار udev لديك هو 244 أو أعلى أو كنت قد أنشأت ملفات القواعد اللازمة ، فأنت جاهز لربط مفتاح YubiKey الخاص بك بحسابك.
أدخل مفتاح YubiKey في الكمبيوتر الخاص بك ، وافتح Terminal ، وأدخل الأوامر التالية لربط مفتاح YubiKey الخاص بك بحسابك:
mkdir -p ~/.config/Yubicopamu2fcfg > ~/.config/Yubico/u2f_keys
انتظر بضع لحظات حتى يبدأ ضوء المؤشر الموجود على مفتاح Yubi في الوميض. المس الزر الموجود على مفتاح Yubi الخاص بك لتأكيد ارتباط الجهاز.
إذا كان لديك YubiKey آخر في متناول اليد ، فيجب عليك إضافته كجهاز نسخ احتياطي عن طريق إدخال الأمر التالي وإكمال نفس العملية:
pamu2fcfg -n >> ~/.config/Yubico/u2f_keys
أخيرًا ، ستحتاج إلى تكوين أمر sudo
لطلب مصادقة YubiKey. يجب أن تبدأ بإدخال الأمر التالي لفتح ملف تكوين sudo:
sudo vi /etc/pam.d/sudo
بمجرد فتح ملف التكوين ، الصق السطر التالي أسفل سطر include common-auth لتكوين sudo
لطلب مصادقة YubiKey:
auth required pam_u2f.so
احفظ الملف واخرج منه بالضغط على Escape ، وكتابة: wq
، والضغط على Enter ، لكن اترك Terminal مفتوحًا. لن تتمكن من عكس التغييرات التي أجريتها على مصادقة sudo
إذا تم إغلاق Terminal.
افتح Terminal آخر وقم بتشغيل الأمر التالي مع إلغاء توصيل YubiKey الخاص بك ، ثم أدخل كلمة السر الخاصة بك:
sudo echo testing
ستفشل عملية المُصادقة. أدخل مفتاح YubiKey الخاص بك وأعد إدخال الأمر وكلمة السر. عندما يبدأ ضوء مؤشر YubiKey في الوميض ، المس الزر الموجود على مفتاح YubiKey الخاص بك. يجب أن يصادق على الأمر. إذا حدث ذلك ، فسيتم إعداد مفتاح YubiKey الخاص بك بالكامل لمصادقة sudo
.
كيفية إعداد YubiKey لمصادقة SSH
يُمكنك أيضًا استخدام مفتاح YubiKey لمصادقة SSH! تتوافق العديد من مفاتيح YubiKey مع SSH ، بما في ذلك Series 5 FIPS و 5 Series و 4 FIPS Series و 4 Series. سيسمح لك استخدام YubiKey لمصادقة اتصالاتك بجعل كل تسجيل دخول إلى SSH أكثر أمانًا.
تم تحديد أفضل طريقة لإعداد YubiKey بواسطة مُستخدم متمرس على GitHub. ستحتاج إلى SSH 8.2 أو أحدث و YubiKey مع البرامج الثابتة 5.2.3 أو أحدث. يُمكنك التحقق من إصدار OpenSSH الخاص بك — وتحديثه إذا لزم الأمر — باستخدام الأوامر التالية:
ssh -V sudo apt update && sudo apt upgrade
بعد ذلك ، ستحتاج إلى تهيئة SSH لقبول مفتاح YubiKey الخاص بك. أدخل الأمر التالي لفتح مُحرِّر vi وتعديل ملف التكوين:
sudo vi /etc/ssh/sshd_config
أضف السطر التالي إلى ملف التكوين حتى يتم قبول مفتاح YubiKey الخاص بك:
PubkeyAcceptedKeyTypes [email protected],[email protected]
احفظ الملف واخرج منه بالضغط على Escape ، وكتابة: wq
، والضغط على Enter. أخيرًا ، أعد تشغيل خدمة SSH بالأمر التالي حتى يصبح التكوين الجديد نشطًا:
sudo service ssh restart
أخيرًا ، أنت جاهز لإنشاء زوج المفاتيح الذي ستستخدمه لمصادقة SSH. انتقل إلى دليل SSH وأنشئ مفتاح SSH الجديد بالأوامر التالية:
cd home/username/.ssh ssh-keygen -t ed25519-sk
سيتم إنشاء ملفين في الدليل ~/.ssh/
. لاحظ أنك قد تحتاج إلى استخدام ecdsa-sk بدلاً من ed25519-sk إذا كان نظامك غير متوافق وطالب Terminal بفشل تسجيل المفتاح.
بعد ذلك ، ستحتاج إلى إضافة المفتاح العام إلى خادمك باستخدام الأمر التالي:
ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub username@server
يجب عليك أيضًا إضافة نفسك إلى ملف sudoers حتى تحتفظ بالأذونات بعد تعطيل تسجيل الدخول إلى الروت. قم بالوصول إلى الملف وافتحه باستخدام visudo.
ملاحظة: لا تفتح ملف sudoers باستخدام مُحرِّر نصوص عادي.
أسفل السطر الذي يُشير إلى Root ALL = (ALL: ALL) ALL
، أضف السطر التالي:
username ALL=(ALL:ALL) ALL
افتح الملف /etc/ssh/ssd_config
وأضف الأسطر التالية لتعطيل تسجيل الدخول إلى الروت وتسجيل الدخول المُستند إلى كلمة السر:
ChallengeResponseAuthentication noPermitRootLogin no
أخيرًا ، أدخل الأمر التالي لتحميل مفتاحك في وكيل SSH الخاص بك طوال مدة الجلسة:
ssh-add ~/.ssh/id_ed25519_sk
يُمكنك الآن استخدام مفتاح YubiKey لمصادقة SSH. ستحتاج إلى إدخال مفتاح YubiKey في الكمبيوتر الخاص بك عندما يُطلب منك ذلك والنقر على الزر عندما يومض المؤشر. باستخدام طريقة المصادقة الجديدة هذه ، سيكون الوصول إلى SSH على خادمك البعيد أكثر أمانًا بشكل ملحوظ. تحقق من الدليل الكامل لكيفية إعداد SSH على Linux واختبار التكوين الخاص بك.
الاستخدامات المُحتملة الأخرى لـ YubiKey
لا يوجد حد حقيقي لكيفية استخدام YubiKey على نظام Linux الخاص بك. إذا كنت ترغب في جعل الكمبيوتر الخاص بك أكثر أمانًا ، ففكر في استخدام YubiKey لحماية القرص أو التشفير الخالي من كلمة السر. يمكنك حتى استخدامه لتوقيع رسائل البريد الإلكتروني والملفات إذا كنت تريد ذلك. تحقق من كيفية تأمين خادم منزلي يعمل بنظام Linux.
تأمين نظام Linux الخاص بك باستخدام YubiKey
لا يتعين عليك التوقف عند استخدام مفتاح YubiKey لمُصادقة SSH و sudo. يمكنك أيضًا استخدام مفتاح YubiKey الخاص بك لمصادقة الوصول إلى العديد من حساباتك عبر الويب. أفضل جزء هو أنَّ بدء استخدام YubiKey 2FA هو عملية بسيطة. يُمكنك الإطلاع الآن على كيفية تثبيت وإعداد Snort IDS على Linux لتأمين شبكتك.