وبما أن الوقاية لدينا تعتبر من وجهة نظر الدخيل، فنحن بحاجة أولاً إلى معرفة كيفية غزو الدخيل. في الوقت الحاضر، تتمثل طرق اختراق الويب الأكثر شيوعًا في الحصول أولاً على غلاف الويب الخاص بموقع الويب من خلال البحث عن ثغرات أمنية في البرنامج، ثم العثور على الأساليب المقابلة القابلة للاستغلال لتصعيد الامتيازات بناءً على تكوين الخادم، ثم الحصول على أذونات الخادم. لذلك، يعد التعاون مع الخادم طريقة فعالة للإعداد لمنع webshell.
1. منع تنزيل قاعدة البيانات بشكل غير قانوني
تجدر الإشارة إلى أن المسؤولين الذين يتمتعون بقدر قليل من أمان الشبكة سيغيرون مسار قاعدة البيانات الافتراضية لبرامج مواقع الويب التي يتم تنزيلها من الإنترنت. وبطبيعة الحال، فإن بعض المسؤولين مهملون للغاية، حيث يحصلون على البرنامج ويقومون بتثبيته مباشرة على الخادم الخاص بهم، حتى دون حذف ملف الوصف، ناهيك عن تغيير مسار قاعدة البيانات. بهذه الطريقة، يمكن للمتسللين تنزيل البرنامج المصدر لموقع الويب مباشرة من موقع الكود المصدري، ثم اختباره محليًا للعثور على قاعدة البيانات الافتراضية، ثم تنزيل قاعدة البيانات لقراءة معلومات المستخدم والبيانات بداخلها (عادةً ما تكون مشفرة MD5) للعثور على الإدارة. الدخول وتسجيل الدخول للحصول على webshell. هناك موقف آخر وهو أن المسار إلى قاعدة بيانات موقع الويب مكشوف بسبب خطأ في البرنامج، فكيف نمنع حدوث ذلك؟ كما هو موضح أدناه:
افتح IIS وأضف تعيين MDB، بحيث يمكن تحليل mdb إلى ملفات أخرى لا يمكن تنزيلها: "خصائص IIS" - "الدليل الرئيسي" - "التكوين" - "التعيين" - "ملحق التطبيق" وأضف ملف .mdb لتطبيق التحليل، يمكنك اختيار الملف المستخدم لتحليله بنفسك، طالما أن ملف قاعدة البيانات غير قابل للوصول.
مزايا هذا هي: 1. بالتأكيد لن يتم تنزيل ملفات قاعدة البيانات بتنسيق لاحقة mdb. 2. إنه يعمل مع جميع ملفات mdb الموجودة على الخادم، وهو أمر مفيد جدًا لمسؤولي المضيف الظاهري.
2. منع التحميل
بالنسبة للتكوين أعلاه، إذا كنت تستخدم قاعدة بيانات MSSQL، فطالما توجد نقطة حقن، فلا يزال بإمكانك استخدام أداة الحقن لتخمين قاعدة البيانات. إذا لم تكن هناك مصادقة على الإطلاق عند تحميل الملفات، فيمكننا تحميل حصان طروادة asp مباشرةً للحصول على غلاف الويب الخاص بالخادم.
فيما يتعلق بالرفع، يمكننا تلخيص الأمر على النحو التالي: المجلدات التي يمكن تحميلها لا تُمنح أذونات التنفيذ، والمجلدات التي يمكن تنفيذها لا تُمنح أذونات التحميل. يتم تشغيل برنامج الويب بواسطة مستخدم IIS، نحتاج فقط إلى منح مستخدم IIS إذن الكتابة إلى دليل تحميل محدد، ثم إزالة إذن تنفيذ البرنامج النصي من هذا الدليل لمنع المتسللين من الحصول على webshell من خلال التحميل. طريقة التكوين: أولاً، في دليل ويب IIS، افتح علامة تبويب الأذونات وامنح مستخدمي IIS فقط أذونات دليل القراءة والإدراج، ثم أدخل الدليل حيث يتم حفظ الملفات التي تم تحميلها وتخزين قاعدة البيانات، وأضف أذونات الكتابة لمستخدمي IIS، وأخيرًا ما عليك سوى تغيير "Pure Script" إلى "None" في خيار "Properties" - "Execution Permission" لهذين الدليلين. انظر الصورة أدناه:
تذكير أخير، عند تعيين الأذونات المذكورة أعلاه، يجب عليك الانتباه إلى تعيين وراثة الدليل الأصلي. تجنب الإعداد عبثا.
[قص الصفحة]
3. حقن MSSQL
للدفاع عن قاعدة بيانات MSSQL، نقول أنه يجب علينا أولاً أن نبدأ بحساب اتصال قاعدة البيانات. لا تستخدم حساب SA لقاعدة البيانات. يعد استخدام حساب SA للاتصال بقاعدة البيانات بمثابة كارثة للخادم. بشكل عام، يمكنك استخدام حساب إذن DB_OWNER للاتصال بقاعدة البيانات إذا كان يمكن تشغيله بشكل طبيعي، فمن الأكثر أمانًا استخدام المستخدم العام. بعد تعيين إذن dbo للاتصال بقاعدة البيانات، لا يستطيع الدخيل الحصول على webshell إلا عن طريق تخمين اسم المستخدم وكلمة المرور أو النسخ الاحتياطي التفاضلي، بالنسبة إلى الأول، يمكننا الدفاع عنه عن طريق تشفير وتعديل عنوان تسجيل الدخول الافتراضي لخلفية الإدارة . بالنسبة للنسخ الاحتياطي التفاضلي، نعلم أن شرطه هو الحصول على أذونات النسخ الاحتياطي ومعرفة دليل الويب. عادةً ما يتم البحث عن أدلة الويب عن طريق اجتياز الدليل للبحث في السجل أو قراءته مباشرة. تستخدم أي من هاتين الطريقتين الإجراءين المخزنين الموسعين xp_regread وxp_dirtree. نحتاج فقط إلى حذف هذين المخزنين الموسعين. بالطبع، يمكننا أيضًا حذف ملفات dll المقابلة معًا.
ولكن إذا تم كشف دليل الويب بسبب خطأ في البرنامج، فلا يمكنك فعل أي شيء. لذلك نحتاج أيضًا إلى تقليل أذونات الحساب وعدم القدرة على إكمال عملية النسخ الاحتياطي. العمليات المحددة هي كما يلي: في خصائص هذا الحساب - خيارات الوصول إلى قاعدة البيانات، ما عليك سوى تحديد قاعدة البيانات المقابلة ومنحها أذونات DBO. لا تقم بتشغيل قواعد بيانات أخرى. ثم انتقل إلى أذونات خصائص قاعدة البيانات لإزالة أذونات النسخ الاحتياطي وسجل النسخ الاحتياطي للمستخدم، بحيث لا يتمكن المتسللون من الحصول على webshell من خلال النسخ الاحتياطي التفاضلي.
[قص الصفحة] 3. حقن MSSQL
للدفاع عن قاعدة بيانات MSSQL، نقول أنه يجب علينا أولاً أن نبدأ بحساب اتصال قاعدة البيانات. لا تستخدم حساب SA لقاعدة البيانات. يعد استخدام حساب SA للاتصال بقاعدة البيانات بمثابة كارثة للخادم. بشكل عام، يمكنك استخدام حساب إذن DB_OWNER للاتصال بقاعدة البيانات إذا كان يمكن تشغيله بشكل طبيعي، فمن الأكثر أمانًا استخدام المستخدم العام. بعد تعيين إذن dbo للاتصال بقاعدة البيانات، لا يستطيع الدخيل الحصول على webshell إلا عن طريق تخمين اسم المستخدم وكلمة المرور أو النسخ الاحتياطي التفاضلي، بالنسبة إلى الأول، يمكننا الدفاع عنه عن طريق تشفير وتعديل عنوان تسجيل الدخول الافتراضي لخلفية الإدارة . بالنسبة للنسخ الاحتياطي التفاضلي، نعلم أن شرطه هو الحصول على أذونات النسخ الاحتياطي ومعرفة دليل الويب. عادةً ما يتم البحث عن أدلة الويب عن طريق اجتياز الدليل للبحث في السجل أو قراءته مباشرة. تستخدم أي من هاتين الطريقتين الإجراءين المخزنين الموسعين xp_regread وxp_dirtree. نحتاج فقط إلى حذف هذين المخزنين الموسعين. بالطبع، يمكننا أيضًا حذف ملفات dll المقابلة معًا.
ولكن إذا تم كشف دليل الويب بسبب خطأ في البرنامج، فلا يمكنك فعل أي شيء. لذلك نحتاج أيضًا إلى تقليل أذونات الحساب وعدم القدرة على إكمال عملية النسخ الاحتياطي. العمليات المحددة هي كما يلي: في خصائص هذا الحساب - خيارات الوصول إلى قاعدة البيانات، ما عليك سوى تحديد قاعدة البيانات المقابلة ومنحها أذونات DBO. لا تقم بتشغيل قواعد بيانات أخرى. ثم انتقل إلى أذونات خصائص قاعدة البيانات لإزالة أذونات النسخ الاحتياطي وسجل النسخ الاحتياطي للمستخدم، بحيث لا يتمكن المتسللون من الحصول على webshell من خلال النسخ الاحتياطي التفاضلي.