فحص البرامج الضارة والـ Rootkit: دليل rkhunter و ClamAV
احمِ خادم Linux من البرامج الضارة والـ Rootkit. تثبيت rkhunter و ClamAV، إعداد الفحص، تفسير النتائج، الفحص المجدول والاستجابة للحوادث.
أعدّ المصادقة الثنائية (2FA) لوصول SSH. وحدة PAM لـ Google Authenticator، إعداد TOTP لـ SSH، رموز النسخ الاحتياطي، الاختبار ودليل استكشاف الأخطاء.
بينما يحسّن استخدام مفاتيح SSH الأمان، توفر المصادقة الثنائية (2FA) طبقة أمان إضافية. حتى لو حصل شخص ما على مفتاح SSH الخاص بك، لا يمكنه الوصول للنظام بدون رمز 2FA.
لا تغلق اتصال SSH الحالي أثناء إعداد 2FA. اختبر من طرفية جديدة بعد كل خطوة. الإعداد الخاطئ قد يحظر الوصول للخادم تمامًا.
# Ubuntu/Debian
sudo apt update
sudo apt install libpam-google-authenticator -y
# CentOS/AlmaLinux
sudo dnf install epel-release -y
sudo dnf install google-authenticator -y
# شغّل كمستخدم تريد تفعيل 2FA له
google-authenticator
عند تشغيل الأمر ستُطرح الأسئلة التالية:
Do you want authentication tokens to be time-based (y/n) y
في هذه النقطة سيُعرض رمز QR ومفتاح سري. امسح رمز QR بتطبيق Google Authenticator.
Do you want me to update your "/home/user/.google_authenticator" file? (y/n) y
Do you want to disallow multiple uses of the same authentication token? (y/n) y
Do you want to increase the window size? (y/n) n
Do you want to enable rate-limiting? (y/n) y
أثناء الإعداد تُعرض 5 رموز احتياطية. احفظها في مكان آمن:
Your emergency scratch codes are:
12345678
87654321
11223344
44332211
99887766
احفظ رموز النسخ الاحتياطي في مكان آمن (مدير كلمات المرور، ورقة، إلخ). إذا فقدت هاتفك، ستكون هذه الرموز طريقك الوحيد للدخول.
sudo nano /etc/pam.d/sshd
# أضف في بداية /etc/pam.d/sshd:
auth required pam_google_authenticator.so
sudo nano /etc/ssh/sshd_config
# تفعيل المصادقة التفاعلية بلوحة المفاتيح
ChallengeResponseAuthentication yes
# ضبط طرق المصادقة
# الخيار 1: 2FA فقط
AuthenticationMethods keyboard-interactive
# الخيار 2: مفتاح SSH أو 2FA
# AuthenticationMethods publickey keyboard-interactive
# الخيار 3: مفتاح SSH و 2FA (الأكثر أمانًا)
AuthenticationMethods publickey,keyboard-interactive
UsePAM yes
# إعادة تشغيل خدمة SSH
sudo systemctl restart sshd
sudo nano /etc/ssh/sshd_config
AuthenticationMethods publickey,keyboard-interactive
PasswordAuthentication no
ChallengeResponseAuthentication yes
UsePAM yes
sudo nano /etc/pam.d/sshd
# تعليق مصادقة كلمة المرور:
# @include common-auth
# إضافة 2FA
auth required pam_google_authenticator.so
# افتح طرفية جديدة وحاول الاتصال
ssh مستخدم@ip_الخادم
# الإخراج المتوقع:
# Verification code: (أدخل الرمز من Google Authenticator)
# فحص وقت الخادم
date
timedatectl
# مزامنة NTP
sudo apt install ntp -y
sudo systemctl restart ntp
# الاتصال عبر وصول الكونسول
# تعطيل 2FA مؤقتًا
sudo nano /etc/pam.d/sshd
# أضف # قبل: auth required pam_google_authenticator.so
sudo systemctl restart sshd
sudo nano /etc/pam.d/sshd
# إعفاء مجموعات محددة
auth [success=1 default=ignore] pam_succeed_if.so user ingroup notp
auth required pam_google_authenticator.so
# إنشاء مجموعة notp وإضافة مستخدم
sudo groupadd notp
sudo usermod -aG notp deploy_user
تطبيقات مثل Authy أو 1Password توفر نسخًا احتياطيًا سحابيًا ودعم أجهزة متعددة مقارنةً بـ Google Authenticator. فكّر في هذه البدائل للبيئات المؤسسية.
إعداد 2FA لـ SSH يحسّن أمان الخادم بشكل كبير. مع وحدة PAM لـ Google Authenticator، يمكنك تفعيل 2FA القائم على TOTP في دقائق. مجموعة مفتاح SSH + 2FA تشكّل أحد أقوى طرق المصادقة المتاحة.
استخدم رموز النسخ الاحتياطي المقدمة أثناء الإعداد. هذه الرموز للاستخدام مرة واحدة. إذا فقدت رموز النسخ الاحتياطي أيضًا، اتصل بالخادم عبر وصول الكونسول وعطّل مؤقتًا سطر 2FA في /etc/pam.d/sshd.
السبب الأكثر شيوعًا هو عدم تزامن ساعتي الخادم والهاتف. تحقق من الوقت على الخادم بـ 'sudo timedatectl' وفعّل مزامنة NTP. استخدم أيضًا خيار 'Correct time sync' في تطبيق Google Authenticator.
مفاتيح SSH توفر حماية قوية، لكن 2FA تضيف طبقة أمان إضافية. مجموعة مفتاح SSH + 2FA موصى بها خاصةً للأنظمة الحيوية أو البيئات ذات متطلبات الامتثال.
نعم. أي تطبيق يدعم TOTP مثل Authy أو Microsoft Authenticator أو 1Password أو Bitwarden يعمل. يُنصح بـ Authy بشكل خاص لأنه يوفر نسخًا احتياطيًا سحابيًا ودعم أجهزة متعددة.
يجب أن تكون إلزامية لجميع المستخدمين ذوي الوصول الحيوي. قد تكفي مفاتيح SSH لحسابات الخدمة مثل سكريبتات النشر التلقائي. يمكنك إعفاء مجموعات محددة من 2FA في إعداد PAM.
احمِ خادم Linux من البرامج الضارة والـ Rootkit. تثبيت rkhunter و ClamAV، إعداد الفحص، تفسير النتائج، الفحص المجدول والاستجابة للحوادث.
احمِ خادمك من هجمات SSH Brute-Force باستخدام Fail2Ban. التثبيت، إعداد jail.local، جيلات Nginx/Apache، القائمة البيضاء للـ IP، مراقبة الحظر وتنبيهات البريد الإلكتروني.
أنشئ خادم WireGuard VPN: توليد المفاتيح، إعداد الخادم والعميل، توجيه IP، قواعد جدار الحماية وإعداد عملاء Windows/Linux/Android.