سؤال

هذا هو أكثر من سؤال معماري وأمني أكثر من أي شيء آخر. أحاول تحديد ما إذا كانت الهندسة المعمارية المقترحة ضرورية. اسمحوا لي أن أشرح التكوين الخاص بي.

لدينا DMZ قياسية أن لديها أساسا جدران الحماية. واحد مواجهة خارجية والآخر الذي يتصل بشبكة LAN الداخلية. يصف ما يلي حيث يتم تشغيل كل طبقة تطبيق حاليًا.

خارج جدار الحماية:
تطبيق Silverlight

في DMZ:
خدمة WCF (منطق الأعمال وطبقة الوصول إلى البيانات)

داخل LAN:
قاعدة البيانات

أتلقى مدخلات أن الهندسة المعمارية غير صحيحة. على وجه التحديد ، تم اقتراح أنه نظرًا لأن "خادم الويب يتم اختراقه بسهولة" يجب أن نضع خادم ترحيل داخل DMZ يتواصل مع خدمة WCF أخرى داخل الشبكة المحلية التي ستتواصل بعد ذلك مع قاعدة البيانات. يتم تكوين جدار الحماية الخارجي حاليًا للسماح فقط للمنفذ 443 (HTTPS) بخدمة WCF. تم تكوين جدار الحماية الداخلي للسماح لاتصالات SQL من خدمة WCF في DMZ.

بتجاهل الآثار الواضحة للأداء ، لا أرى الفائدة الأمنية أيضًا. سأحتفظ بحكمي من هذا الاقتراح لتجنب تلويث الإجابات مع تحيز بلدي. أي مدخلات موضع تقدير.

شكرًا،
غير لامع

هل كانت مفيدة؟

المحلول

أعتقد أن الملاحظات التي تم إجراؤها صالحة ، وفي مثل هذه الحالة ، ربما أحاول أيضًا استخدام أكبر عدد ممكن من الطبقات "الدفاعية في العمق" التي يمكن أن أتوصل إليها.

بالإضافة إلى ذلك ، قد يكون مقدار العمل لتحقيق ذلك أقل مما تخاف منه - إذا كنت على .NET 4 (أو يمكنك الانتقال إليه).

يمكنك استخدام خدمة التوجيه .NET 4 / WCF 4 الجديدة للقيام بذلك بسهولة تامة. كفائدة إضافية: يمكنك فضح نقطة نهاية HTTPS للعالم الخارجي ، ولكن في الداخل ، يمكنك استخدام Nettcpbinding (وهو أسرع بكثير) للتعامل مع الاتصالات الداخلية.

تحقق من مدى سهولة إعداد خدمة التوجيه .NET 4:

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top