قائمة تحقق أمان الإنتاج
1

أطفئ عرض الأخطاء التفصيلي

1

تأكد أن display_errors مُطفأة في الإنتاج

افتح includes/config.php وتأكد أن أسطر display_errors بالأعلى معلَّقة (بين /* */) كما هي افتراضياً.

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

2

حدّث النظام والـPHP بانتظام

2

جدول تحديث شهري بسيط

sudo apt update && sudo apt upgrade -y

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

3

امنع محاولات الدخول المتكررة

3

تثبيت Fail2Ban

sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Fail2Ban يراقب محاولات الدخول الفاشلة المتكررة (سواء لـ SSH أو لصفحة تسجيل دخول الموقع) ويحظر عنوان IP تلقائياً بعد عدد معيّن من المحاولات الفاشلة خلال وقت قصير — يمنع هجمات "تخمين كلمة المرور" الآلية بشكل كبير.

4

قيّد أو احذف phpMyAdmin

4

إن ثبّتّه للمساعدة أثناء التثبيت فقط

إن لم تعد تحتاجه بعد الانتهاء من استيراد قاعدة البيانات، احذفه بالكامل:

sudo apt remove phpmyadmin -y

إن أردت الإبقاء عليه، قيّد الوصول له بعنوان IP جهازك فقط داخل إعدادات أباتشي (Require ip عنوان_IP_جهازك) بدل تركه مفتوحاً لأي شخص بالإنترنت.

phpMyAdmin مفتوح للجميع هو أحد أشيع نقاط الاختراق لمواقع PHP الصغيرة والمتوسطة — لا تتركه بإعداداته الافتراضية أبداً على سيرفر إنتاج حقيقي.
5

افرض HTTPS دائماً

5

حوّل أي زيارة HTTP تلقائياً إلى HTTPS

إن كنت قد فعّلت SSL عبر Certbot (من دليل التثبيت)، تأكد أنه أضاف إعادة توجيه تلقائية. للتحقق، افتح الرابط بـ http:// صراحة من متصفحك — يجب أن يحوّلك تلقائياً لـ https://. إن لم يحدث، أعد تشغيل:

sudo certbot --apache -d workup.شركتك.com --redirect
6

كلمات مرور قوية وفريدة

6

راجع كل كلمات المرور المستخدمة

كلمة مرور مستخدم قاعدة البيانات workup_user قوية وغير مستخدمة بأي مكان آخر.
كلمة مرور root الخاصة بـMySQL نفسها قوية أيضاً (وليست فارغة كما بالإعداد الافتراضي المحلي).
الحساب الإداري الأول بلوحة abma غيّر كلمة مروره الافتراضية إن كانت مرفقة بالنسخة الأصلية.
مفاتيح Firebase/OneSignal (إن أُعدَّت) لا تُشارَك خارج فريق الإدارة.
7

النسخ الاحتياطي والتحديث الآمن

هذان جزءان أساسيان من الأمان أيضاً، ولهما دليل مستقل كامل لكل منهما: دليل النسخ الاحتياطي والاستعادة و دليل التحديث الآمن.
8

القائمة الكاملة

عرض الأخطاء التفصيلي مُطفأ.
النظام و PHP محدَّثان لآخر إصدار مستقر.
Fail2Ban مثبَّت وشغّال.
phpMyAdmin محذوف أو مقيَّد بعنوان IP محدَّد.
HTTPS مفروض على كل الزيارات.
كل كلمات المرور قوية وفريدة.
نسخ احتياطي تلقائي مجدول ومُختبَر.
الأمان ليس خطوة تُنفَّذ مرة وتُنسى — راجع هذه القائمة كل بضعة أشهر.
الأمان WorkUp