كيفية تأمين أنظمة Linux بشكل فعَّال باستخدام YubiKey

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

يُعد YubiKey أحد الحلول الأكثر شيوعًا لمُشكلة المصادقة. ولكن ما هو YubiKey ، وكيف تعمل مُصادقة الأجهزة؟ هل يُمكنك تأمين الكمبيوتر بنظام Linux باستخدام YubiKey؟ تحقق من أفضل بدائل LastPass لإدارة كلمات المرور لنظام Android.

كيفية تأمين أنظمة Linux بشكل فعَّال باستخدام YubiKey - لينكس

لماذا تستخدم YubiKey لمُصادقة الأجهزة؟

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

تتمتع مفاتيح YubiKeys وأجهزة مصادقة الأجهزة الأخرى ببعض المزايا مُقارنة بتطبيقات المُصادقة الأخرى. إنها أسهل في الاستخدام ، وأكثر أمانًا ، ويكاد يكون من المُستحيل التحقق من المُصادقة دون الوصول إلى مفتاح YubiKey الفعلي نفسه.

الشروع في العمل باستحدام Yubikey

يُمكنك البدء باستخدام YubiKey في بضع خطوات بسيطة. كخطوة أولى ، يجب عليك الإستفادة من الاختبار الذي أجرته Yubico للتسوق للحصول على أفضل YubiKey لمواصفات جهازك. بمجرد أن يكون لديك YubiKey المُناسب في متناول اليد ، يُمكنك استخدامه كجهاز مصادقة لمواقع الويب والتطبيقات.

يمكنك حتى استخدامه لمصادقة sudo و SSH على كمبيوتر Linux الخاص بك. سنشرح كل ما تحتاج لمعرفته حول اختيار YubiKey المُتوافق مع sudo / SSH وتكوينه للمصادقة.

كيفية تأمين أنظمة Linux بشكل فعَّال باستخدام YubiKey - لينكس

اختيار مفتاح 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. يُمكنك التخطي إلى الخطوة التالية في هذه الحالة.

كيفية تأمين أنظمة Linux بشكل فعَّال باستخدام 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.

كيفية تأمين أنظمة Linux بشكل فعَّال باستخدام YubiKey - لينكس

كيفية إعداد 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 sk-ecdsa-sha2-nistp256@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com

احفظ الملف واخرج منه بالضغط على 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 واختبار التكوين الخاص بك.

كيفية تأمين أنظمة Linux بشكل فعَّال باستخدام YubiKey - لينكس

الاستخدامات المُحتملة الأخرى لـ YubiKey

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

تأمين نظام Linux الخاص بك باستخدام YubiKey

لا يتعين عليك التوقف عند استخدام مفتاح YubiKey لمُصادقة SSH و sudo. يمكنك أيضًا استخدام مفتاح YubiKey الخاص بك لمصادقة الوصول إلى العديد من حساباتك عبر الويب. أفضل جزء هو أنَّ بدء استخدام YubiKey 2FA هو عملية بسيطة. يُمكنك الإطلاع الآن على كيفية تثبيت وإعداد Snort IDS على Linux لتأمين شبكتك.

زر الذهاب إلى الأعلى