يؤدي تفعيل المصادقة متعددة العوامل (MFA) عبر إضافة "Google Authenticator" في لوحة تحكم "Plesk" إلى تعزيز أمان الخادم. ومع ذلك، إذا حدث خلل في مزامنة ساعة الخادم، فسيقوم "Google Authenticator" برفض جميع رموز التحقق الصحيحة، مما سيؤدي إلى منعك من الوصول إلى لوحة تحكم "Plesk".
إليك دليل تفصيلي حول كيفية تعطيل الامتداد عبر بروتوكول SSH، ومعالجة مشكلة مزامنة الوقت الكامنة، وإعادة تفعيل المصادقة متعددة العوامل (MFA) بشكل آمن.
1. تعطيل إضافة Google Authenticator عبر بروتوكول SSH
بما أن الوصول إلى لوحة التحكم عبر الويب محظور، فيجب عليك تعطيل الإضافة من خلال سطر الأوامر.
- اتصل بالخادم عبر بروتوكول SSH.
نفّذ الأمر التالي لتعطيل الإضافة:
plesk bin extension --disable google-authenticator
يمكنك الآن تسجيل الدخول مجدداً إلى لوحة تحكم Plesk دون الحاجة إلى إدخال رمز المصادقة متعددة العوامل (MFA).
2. تحديد السبب الجذري للمشكلة: تفاوت الوقت (Time Drift)
تستخدم خدمة "Google Authenticator" كلمات مرور لمرة واحدة تعتمد على الوقت (TOTP). إذا كان هناك فارق زمني يتجاوز بضع ثوانٍ بين ساعة الخادم والجهاز الذي يعمل عليه تطبيق المصادقة، فسيتم اعتبار الرموز التي ينشئها التطبيق غير صالحة. للتحقق من ذلك:
- سجّل الدخول إلى لوحة تحكم "Plesk" وانتقل إلى صفحة "تاريخ ووقت النظام" (System Date and Time) عبر المسار (`/cp/system-time`).
قارن وقت النظام المعروض بالوقت المحلي الدقيق..
الصورة
- تحقق من الوقت عبر واجهة سطر الأوامر (CLI) بتنفيذ الأمر التالي:
date
التشخيص: كان الوقت المعروض في صفحة "تاريخ ووقت النظام" (System Date and Time) غير صحيح، على الرغم من تفعيل خاصية المزامنة التلقائية للوقت. كانت ساعة الخادم متأخرة بنحو دقيقتين، مما أدى إلى فشل التحقق من جميع رموز كلمة المرور لمرة واحدة المعتمدة على الوقت (TOTP) التي تم إنشاؤها.
3. إصلاح مزامنة الوقت باستخدام Chrony
لحل مشكلة الانحراف الزمني، يجب إعداد مزامنة دقيقة للوقت عبر الشبكة.
- لم تكن خدمة
systemd-timesyncdموجودة على النظام. - لم تكن خدمات بروتوكول وقت الشبكة (NTP) القياسية مدعومة في بيئة هذا الخادم.
الحل
قم بتثبيت Chrony، وهو تطبيق مرن لبروتوكول وقت الشبكة (NTP)، وأجبر النظام على إجراء تحديث فوري للوقت:
- ثبّت Chrony (اختر الأمر المناسب لتوزيعة Linux التي تستخدمها):
- Ubuntu/Debian:
sudo apt install chrony - CentOS/RHEL/AlmaLinux:
sudo dnf install chrony
- Ubuntu/Debian:
- أجبر النظام على مزامنة الوقت فوراً:
sudo chronyc -a makestep
يؤدي هذا الإجراء إلى دفع خدمة chronyd لتصحيح فارق الوقت في النظام بشكل فوري، بدلاً من تعديله تدريجياً بمرور الوقت.
4. اختبار Google Authenticator وإعادة تفعيله
بمجرد ضبط وقت النظام بدقة، اختبر إضافة المصادقة متعددة العوامل (MFA) وأعد تفعيلها:
- انتقل إلى صفحة Google Authenticator في لوحة تحكم (
/modules/google-authenticator/). - أجرِ اختبار تحقق باستخدام رمز جديد يتم إنشاؤه عبر هاتفك للتأكد من نجاح العملية.
أعد تفعيل الإضافة من خلال واجهة سطر الأوامر (SSH):
plesk bin extension --enable google-authenticator
الإستنتاج
إذا واجهت فشلاً غير متوقع في عمل Google Authenticator أو أي نظام مصادقة ثنائية (2FA) يعتمد على خوارزمية كلمة المرور لمرة واحدة (TOTP) عبر جميع أجهزتك، فتحقق أولاً من وجود فارق في وقت الخادم (time drift) قبل اللجوء إلى إعادة إنشاء المفاتيح أو إعادة تثبيت الحزم البرمجية؛ فغالباً ما يكون وجود فارق بسيط في الوقت هو السبب وراء هذه المشكلة.