ماذا سنتعلم اليوم؟ سنقوم بإعداد مختبر اختراق آمن ومعزول باستخدام Kali Linux، مع التركيز على أفضل الممارسات لضمان بيئة اختبار محمية وفعالة.
سنتعلم كيفية تثبيت Kali Linux على بيئة افتراضية، وتأمينها، وعزلها شبكياً، بالإضافة إلى إعدادات أساسية لضمان الاستقرار والأمان.
الخطوة 1: إعداد البيئة الافتراضية وتحديث النظام الأساسي
في هذه الخطوة، سنقوم بإعداد الجهاز الافتراضي وتحديث نظام Kali Linux لضمان حصولنا على أحدث الحزم والتصحيحات الأمنية. سنفترض أنك قمت بالفعل بتثبيت نظام Kali Linux الأساسي على برنامج محاكاة افتراضية مثل VirtualBox أو VMware.
ملاحظة تقنية: يفضل استخدام إعدادات الشبكة "NAT" مبدئياً لتحديث النظام، ثم تغييرها إلى "Host-Only" أو "Internal Network" لاحقاً للعزل التام عند بدء عمليات الاختبار.
بعد تسجيل الدخول إلى Kali Linux، افتح الطرفية (Terminal) وقم بتنفيذ الأوامر التالية لتحديث النظام:
#!/bin/bash
# تحديث قائمة الحزم المتاحة من المستودعات
echo "جارٍ تحديث قائمة الحزم..."
sudo apt update -y
# ترقية جميع الحزم المثبتة إلى أحدث إصداراتها
echo "جارٍ ترقية الحزم المثبتة..."
sudo apt upgrade -y
# إزالة الحزم القديمة وغير الضرورية
echo "جارٍ تنظيف الحزم القديمة..."
sudo apt autoremove -y
echo "تم تحديث النظام بنجاح."
الخطوة 2: تعزيز الأمان والعزل الشبكي
لتعزيز أمان مختبر الاختراق، من الضروري عزل Kali Linux عن شبكتك المنزلية أو شبكة العمل الرئيسية. سنقوم بتعطيل الخدمات غير الضرورية وتكوين جدار حماية (firewall) لتقييد الاتصالات.
ملاحظة تقنية: تعطيل الخدمات غير المستخدمة يقلل من سطح الهجوم المحتمل، وجدار الحماية يمنع الاتصالات غير المصرح بها من وإلى الجهاز الافتراضي.
أولاً، دعنا نتحقق من حالة خدمة SSH ونعطلها إذا لم تكن ضرورية، ثم نقوم بتكوين جدار الحماية UFW:
#!/bin/bash
# تعطيل خدمة SSH إذا لم تكن مطلوبة
# يفضل تعطيلها لتقليل المخاطر الأمنية في بيئة المختبر
echo "جارٍ إيقاف وتعطيل خدمة SSH (إذا كانت قيد التشغيل)..."
sudo systemctl stop ssh
sudo systemctl disable ssh
# التأكد من تثبيت UFW (جدار الحماية غير المعقد)
echo "جارٍ التأكد من تثبيت UFW..."
sudo apt install ufw -y
# تمكين جدار الحماية UFW
echo "جارٍ تمكين جدار الحماية UFW..."
sudo ufw enable
# تعيين السياسة الافتراضية لمنع الاتصالات الواردة
echo "جارٍ تعيين السياسة الافتراضية لمنع الاتصالات الواردة..."
sudo ufw default deny incoming
# تعيين السياسة الافتراضية للسماح بالاتصالات الصادرة (يمكن تعديلها لاحقاً حسب الحاجة)
echo "جارٍ تعيين السياسة الافتراضية للسماح بالاتصالات الصادرة..."
sudo ufw default allow outgoing
# عرض حالة جدار الحماية للتأكد من التكوين
echo "حالة جدار الحماية UFW:"
sudo ufw status verbose
echo "تم تعزيز الأمان والعزل الشبكي بنجاح."
الخطوة 3: إدارة المستخدمين ونقاط الاستعادة (Snapshots)
لزيادة الأمان، لا ينبغي استخدام حساب الجذر (root) للعمليات اليومية. سنقوم بإنشاء مستخدم عادي ومنحه امتيازات sudo عند الحاجة. كما أن إنشاء نقاط استعادة (snapshots) أمر بالغ الأهمية في بيئة مختبر الاختراق للعودة السريعة إلى حالة نظيفة.
ملاحظة تقنية: تسمح نقاط الاستعادة بالعودة السريعة إلى حالة سابقة للجهاز الافتراضي، مما يوفر بيئة اختبار نظيفة باستمرار دون الحاجة لإعادة التثبيت.
لنقم بإنشاء مستخدم جديد ومنحه صلاحيات sudo:
#!/bin/bash
# اسم المستخدم الجديد الذي سيتم إنشاؤه
NEW_USER="kaliuser"
# التحقق مما إذا كان المستخدم موجودًا بالفعل
if id "$NEW_USER" &>/dev/null; then
echo "المستخدم '$NEW_USER' موجود بالفعل. تخطي إنشاء المستخدم."
else
# إنشاء مستخدم جديد
echo "جارٍ إنشاء المستخدم الجديد '$NEW_USER'..."
sudo adduser "$NEW_USER"
# إضافة المستخدم الجديد إلى مجموعة sudo لمنحه صلاحيات المسؤول
echo "جارٍ إضافة المستخدم '$NEW_USER' إلى مجموعة sudo..."
sudo usermod -aG sudo "$NEW_USER"
echo "تم إنشاء المستخدم '$NEW_USER' ومنحه صلاحيات sudo بنجاح."
echo "يرجى تسجيل الدخول بالمستخدم الجديد للعمليات اليومية."
fi
# نصيحة: بعد الانتهاء من هذه الخطوات، قم بإنشاء نقطة استعادة (snapshot) للجهاز الافتراضي.
# هذه العملية تتم من واجهة برنامج المحاكاة الافتراضية (VirtualBox/VMware).
echo "تذكر إنشاء نقطة استعادة (snapshot) للجهاز الافتراضي من برنامج المحاكاة الخاص بك!"
الكود النهائي الكامل
يمكنك دمج الأوامر المذكورة أعلاه في سكربت Bash واحد لتنفيذها بشكل متسلسل. تذكر أن بعض الأوامر تتطلب تفاعلاً (مثل إدخال كلمة مرور للمستخدم الجديد)، لذا قد تحتاج إلى تشغيل الأجزاء التفاعلية يدوياً أو استخدام أدوات أتمتة مثل Expect.
#!/bin/bash
echo "بدء إعداد مختبر Kali Linux الآمن والمعزول..."
# --- الخطوة 1: تحديث النظام الأساسي ---
echo -e "\n--- الخطوة 1: تحديث النظام الأساسي ---"
sudo apt update -y
sudo apt upgrade -y
sudo apt autoremove -y
echo "تم تحديث النظام بنجاح."
# --- الخطوة 2: تعزيز الأمان والعزل الشبكي ---
echo -e "\n--- الخطوة 2: تعزيز الأمان والعزل الشبكي ---"
# إيقاف وتعطيل خدمة SSH
sudo systemctl stop ssh
sudo systemctl disable ssh
# تثبيت UFW وتمكينه
sudo apt install ufw -y
sudo ufw enable
sudo ufw default deny incoming
sudo ufw default allow outgoing
echo "حالة جدار الحماية UFW:"
sudo ufw status verbose
echo "تم تعزيز الأمان والعزل الشبكي بنجاح."
# --- الخطوة 3: إدارة المستخدمين ---
echo -e "\n--- الخطوة 3: إدارة المستخدمين ---"
NEW_USER="kaliuser"
if id "$NEW_USER" &>/dev/null; then
echo "المستخدم '$NEW_USER' موجود بالفعل. تخطي إنشاء المستخدم."
else
echo "جارٍ إنشاء المستخدم الجديد '$NEW_USER'..."
sudo adduser "$NEW_USER" # سيطلب منك إدخال كلمة مرور وتفاصيل المستخدم
echo "جارٍ إضافة المستخدم '$NEW_USER' إلى مجموعة sudo..."
sudo usermod -aG sudo "$NEW_USER"
echo "تم إنشاء المستخدم '$NEW_USER' ومنحه صلاحيات sudo بنجاح."
fi
echo "تذكر إنشاء نقطة استعادة (snapshot) للجهاز الافتراضي بعد الانتهاء من الإعدادات!"
echo -e "\nتم الانتهاء من إعداد مختبر Kali Linux."
echo "يرجى إعادة تشغيل النظام وتسجيل الدخول بالمستخدم الجديد."
النتيجة المتوقعة
بعد تنفيذ الخطوات والسكربتات المذكورة، ستحصل على بيئة Kali Linux افتراضية آمنة ومعزولة، جاهزة لاختبار الاختراق. ستكون قادرًا على:
- الوصول إلى أحدث أدوات Kali Linux بفضل تحديث النظام.
- العمل في بيئة معزولة شبكياً باستخدام جدار حماية يمنع الاتصالات غير المرغوبة.
- استخدام حساب مستخدم عادي (غير root) لتقليل المخاطر الأمنية، مع إمكانية استخدام
sudoعند الحاجة. - الاستفادة من نقاط الاستعادة (snapshots) للعودة السريعة إلى حالة نظيفة بعد كل جلسة اختبار أو عند حدوث خطأ.
ستظهر مخرجات الأوامر في الطرفية توضح تقدم عملية التحديث، حالة جدار الحماية UFW، وتأكيد إنشاء المستخدم الجديد، كما في المثال التالي:
...
جارٍ تحديث قائمة الحزم...
Hit:1 http://kali.download/kali kali-rolling InRelease
...
جارٍ ترقية الحزم المثبتة...
...
تم تحديث النظام بنجاح.
--- الخطوة 2: تعزيز الأمان والعزل الشبكي ---
جارٍ إيقاف وتعطيل خدمة SSH (إذا كانت قيد التشغيل)...
Failed to stop ssh.service: Unit ssh.service not loaded.
Failed to disable unit: Unit file ssh.service does not exist.
...
جارٍ تمكين جدار الحماية UFW...
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
...
حالة جدار الحماية UFW:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
...
تم تعزيز الأمان والعزل الشبكي بنجاح.
--- الخطوة 3: إدارة المستخدمين ---
جارٍ إنشاء المستخدم الجديد 'kaliuser'...
Adding user <code dir="ltr" style="background:#f3f4f6; color:#0056b3; padding:2px 6px; border-radius:4px; font-family:monospace; direction:ltr !important; display:inline-block;">kaliuser' ...
Adding new group </code>kaliuser' (1001) ...
Adding new user <code dir="ltr" style="background:#f3f4f6; color:#0056b3; padding:2px 6px; border-radius:4px; font-family:monospace; direction:ltr !important; display:inline-block;">kaliuser' (1001) with group </code>kaliuser' ...
Creating home directory <code dir="ltr" style="background:#f3f4f6; color:#0056b3; padding:2px 6px; border-radius:4px; font-family:monospace; direction:ltr !important; display:inline-block;">/home/kaliuser' ...
Copying files from </code>/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for kaliuser
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
جارٍ إضافة المستخدم 'kaliuser' إلى مجموعة sudo...
Adding user kaliuser to group sudo
تم إنشاء المستخدم 'kaliuser' ومنحه صلاحيات sudo بنجاح.
تذكر إنشاء نقطة استعادة (snapshot) للجهاز الافتراضي بعد الانتهاء من الإعدادات!
تم الانتهاء من إعداد مختبر Kali Linux.
يرجى إعادة تشغيل النظام وتسجيل الدخول بالمستخدم الجديد.