تجربة أمان الخادم: منع عمليات تسجيل الدخول غير القانونية
الكاتب:Eve Cole
وقت التحديث:2009-07-24 15:42:20
1. قم بتكوين أمان قاعدة البيانات، مثل الحساب/كلمة المرور/الأذونات التي يستخدمها برنامجك للاتصال بقاعدة البيانات. إذا كنت تتصفح الأخبار، فاستخدم أذونات للقراءة فقط، ويمكنك استخدام حسابات/أذونات مختلفة لوحدات مختلفة؛ بالإضافة إلى ذلك، يجب أيضًا تكوين الإجراءات المخزنة لقاعدة البيانات التي يمكن استدعاؤها بشكل صارم، ويتم تعطيل جميع الإجراءات غير المستخدمة (خاصة cmd) لمنع استخدام الإجراءات المخزنة لقاعدة البيانات لإجراء مكالمات النظام بعد الحقن؛
2. عند الحصول على المعلمات المقدمة من قبل العميل، قم بإجراء تصفية صارمة، بما في ذلك طول المعلمة ونوع المعلمة وما إلى ذلك؛
3. حماية خلفية المسؤول بشكل صارم، إذا كان ذلك ممكنًا، يجب تعيينها للسماح فقط بوصول IP محدد (على سبيل المثال، السماح فقط بالوصول إلى جزء شبكة المسؤول) - يعتمد هذا على الوضع الفعلي؛
4. قم بتكوين نظام التشغيل بشكل آمن لمنع استدعاء وظائف النظام بعد الحقن، مثل
cmd.exe/tftp.exe/ftp.exe/net.exe
يتم نقل جميع هذه الملفات إلى أدلة أخرى، ويتم تعيين أذونات صارمة للأدلة؛
5. إعداد التحكم في الوصول إلى الشبكة؛
6. إذا أمكن، قم بتكوين تصفية المحتوى لـ HTTP لتصفية الفيروسات والبرامج النصية الضارة وما إلى ذلك؛
7. إذا لزم الأمر، يمكنك التفكير في اختيار HTTPS، والذي يمكن أن يمنع العديد من عمليات فحص أدوات الحقن. عندما قمت بتطوير أداة الكشف عن الحقن بنفسي، فكرت في دعم HTTPS، ولكن لم يتم تنفيذها بعد.
أعتقد أنك لاحظت أيضًا بشكل عام أن البرنامج يأخذ في الاعتبار بشكل أساسي مشكلات مثل الأذونات وتصفية المعلمات؛ وتشمل الأذونات بشكل أساسي أذونات تصفح IIS وأذونات استدعاء قاعدة البيانات. بالإضافة إلى ذلك، يجب أيضًا مراعاة التكوين الأمني لقاعدة البيانات ونظام التشغيل. بالإضافة إلى ذلك، أتساءل عما إذا كنت ستستخدم المكونات التي طورها الآخرون أثناء عملية التطوير، مثل تحميل الصور، هل قمت بدراسة أمان هذه المكونات أم أن معظم الأشخاص سيستخدمونها أثناء عملية التطوير؟ ويجب أيضًا دراسة الرموز المصنوعة المتوفرة على الإنترنت وفي الكتب، مثل التحقق من تسجيل دخول المستخدم وما إلى ذلك.