في هذه الوحدة، سنتناول أهم التقنيات لحماية قواعد البيانات ومنع الهجمات الإلكترونية التي تستهدفها، بالإضافة إلى إعدادات السيرفر التي تعزز الأمان.

📌 1. إعداد MySQL بشكل آمن ومنع SQL Injection

لماذا يجب تأمين MySQL؟

  • قواعد البيانات تحتوي على معلومات حساسة مثل بيانات المستخدمين والمحتوى، لذا فإن حمايتها ضرورية لتجنب التسريبات والهجمات.
  • أحد أخطر الهجمات هو SQL Injection، حيث يستغل المهاجم ضعف الاستعلامات لتنفيذ أوامر ضارة داخل قاعدة البيانات.

أفضل الممارسات لتأمين MySQL:

🔹 استخدام PDO مع Prepared Statements لمنع SQL Injection.

🔹 تفعيل STRICT MODE في MySQL لضمان قيود صارمة على إدخال البيانات.

🔹 ضبط أذونات المستخدمين في قاعدة البيانات (Least Privilege Principle).

💡 مثال عملي – منع SQL Injection باستخدام PDO:

php

$pdo = new PDO("mysql:host=localhost;dbname=mydb", "user", "password");
$stmt = $pdo->prepare("SELECT * FROM users WHERE email = :email");
$stmt->bindParam(":email", $email);
$stmt->execute();

🔒 2. ضبط أذونات قواعد البيانات (Privileges & Access Control)

لماذا يجب إدارة الأذونات؟

  • تعيين أذونات مناسبة يحمي قاعدة البيانات من الوصول غير المصرح به.
  • يجب أن يتمتع كل مستخدم بصلاحيات محدودة فقط بما يحتاج إليه.

أفضل ممارسات إدارة الأذونات:

🔹 استخدام الأمر GRANT لتحديد الأذونات بدقة.

🔹 منع المستخدمين من تنفيذ أوامر DROP أو ALTER TABLE إذا لم يكن ضرورياً.

🔹 مراجعة الأذونات بشكل دوري باستخدام SHOW GRANTS.

💡 مثال – تقييد صلاحيات مستخدم قاعدة البيانات:

sql

GRANT SELECT, INSERT ON mydb.* TO 'user'@'localhost';
FLUSH PRIVILEGES;

🛡 3. تهيئة السيرفر باستخدام ModSecurity و WAF و Fail2Ban

لماذا تأمين السيرفر مهم؟

  • السيرفر هو النقطة المركزية لتشغيل التطبيق، لذا يجب تأمينه ضد الهجمات مثل Brute Force وDDoS.
  • يمكن استخدام أدوات مثل ModSecurity وWAF لفلترة الطلبات الضارة.

أفضل الطرق لحماية السيرفر:

🔹 ModSecurity

جدار حماية للتطبيقات يمنع الهجمات مثل SQL Injection وXSS.

🔹WAF (Web Application Firewall)

تصفية حركة المرور لمنع الطلبات الضارة.

🔹 Fail2Ban

يحظر محاولات تسجيل الدخول المتكررة لمنع Brute Force attacks.

💡 مثال

– تمكين ModSecurity في Apache:

apache

SecRuleEngine On
Include /etc/modsecurity/*.conf

📂 4. الحد من مخاطر رفع الملفات (File Upload Security)

لماذا يعد رفع الملفات خطرًا؟

  • بعض التطبيقات تسمح برفع الملفات، لكن إذا لم يتم فلترة الملفات، يمكن للمهاجم رفع ملف ضار وتنفيذه على السيرفر!

طرق تأمين رفع الملفات:

🔹 السماح فقط بصيغ الملفات الموثوقة (مثل .jpg, .png, .pdf).

🔹 تحديد حد أقصى لحجم الملفات المرفوعة.

🔹 فحص الملفات باستخدام Antivirus Scanner قبل قبولها.

💡 مثال – تأمين رفع الملفات في PHP:

php

$allowed_types = ['image/jpeg', 'image/png', 'application/pdf'];
if (in_array($_FILES['file']['type'], $allowed_types)) {
    move_uploaded_file($_FILES['file']['tmp_name'], "uploads/" . basename($_FILES['file']['name']));
} else {
    echo "صيغة الملف غير مسموح بها!";
}

🎯 ما الخطوة التالية؟

🔥 هل تحتاج إلى إضافة تمارين عملية لهذه الوحدة؟

إنتقل الى الوحدة التالية المزيد من التعمق في عالم الحماية

التعليقات مغلقة.