مقدمة
IIS هو اختصار لـ Internet Information Server وهو خادم الويب الذي يتم الترويج له بشكل أساسي بواسطة Microsoft. الإصدار الشائع الاستخدام من قبل المستخدمين الآن هو IIS 6 المضمن في Windows 2003 أو IIS 5 الأقدم. تم دمج IIS بالكامل مع Window NT Server، لذا فإن المستخدمين القدرة على استخدام ميزات الأمان المضمنة في Windows NT Server وNTFS (نظام ملفات NT ونظام ملفات NT) لإنشاء مواقع إنترنت وإنترانت قوية ومرنة وآمنة. يدعم IIS ISAPI، والذي يمكن استخدامه لتوسيع وظائف الخادم. تم تصميم IIS لإنشاء مجموعة متكاملة من خدمات الخادم لدعم HTTP وFTP وSMTP ويمكنه توفير خادم إنترنت سريع ومتكامل وقابل للتطوير مع المنتجات الحالية.
يضيف IIS7 الجديد المزيد من تصميمات الأمان إلى Windows Server 2008، ويمكن للمستخدمين الآن استخدام تصميمات Microsoft. NET لتشغيل التطبيقات من جانب الخادم. بالإضافة إلى ذلك، سيؤدي إنشاء الوحدات النمطية من خلال الميزات الجديدة لـ IIS7 إلى تقليل عدد التعليمات البرمجية التي يتم تشغيلها في النظام وتقليل احتمالية التعرض للهجوم بواسطة البرامج النصية للمتسللين. من منظور أمني، يعد هذا مجالًا جديدًا تشارك فيه IIS. العديد من الميزات الجديدة تجعلنا متلهفين لاستخدام IIS7 في Windows Server 2008. دعونا نلقي نظرة على الميزات الخمس الأساسية المحسنة في IIS:
وحدات IIS بالكامل
إذا كنت على دراية ببرنامج خادم الويب Apache الشهير، فستعرف أن أكبر ميزة له تكمن في تخصيصه. يمكنك تكوينه لعرض HTML ثابت فقط، أو يمكنك تحميل وحدات مختلفة ديناميكيًا للسماح بنوع مختلف من محتوى الخدمة . ومع ذلك، فإن IIS المستخدم حاليًا لا يمكنه تنفيذ هذه الميزة بشكل جيد، مما تسبب في مشكلتين: أولاً، بسبب تأثير العديد من الميزات التي لا يستخدمها المستخدمون على الكود، لا يمكن للأداء في بعض الأحيان إرضاء المستخدمين، ثانيًا، هناك مخاطر أمنية ناجمة عن عدد كبير جدًا من الواجهات الافتراضية.
يحل IIS7 الجديد هذه المشكلة تمامًا. وينقسم IIS7 من الطبقة الأساسية إلى أكثر من 40 وحدة بوظائف مختلفة. يتم تقسيم الميزات مثل التحقق من الصحة والتخزين المؤقت ومعالجة الصفحات الثابتة وقوائم الدليل إلى وحدات. وهذا يعني أن خادم الويب الخاص بك يمكنه تثبيت الوحدات الوظيفية المقابلة وفقًا لاحتياجاتك التشغيلية. لن يتم تحميل الوحدات النمطية التي قد تنطوي على مخاطر أمنية وغير ضرورية في الذاكرة بعد الآن، كما سيتم تقليل سطح الهجوم الخاص بالبرنامج، كما سيتم تحسين الأداء أيضًا.
تم تكوين IIS7 عبر ملف نصي
الميزة الرئيسية الأخرى لـ IIS7 هي أن أداة الإدارة تستخدم نظام تكوين web.config الموزع الجديد. لم يعد IIS7 يحتوي على مخزن تكوين قاعدة تعريف واحد، ولكنه سيستخدم نفس نموذج ملف web.config الذي يدعمه ASP.NET، مما يسمح للمستخدمين بتخزين التكوينات ونشرها مع محتوى تطبيقات الويب، بغض النظر عن عدد المواقع الموجودة يمكن تهيئته مباشرة من خلال ملف web.config، لذلك عندما تحتاج الشركة إلى ربط عدد كبير من مواقع الويب، فقد يستغرق الأمر وقتًا قصيرًا فقط، لأن المسؤول يحتاج فقط إلى نسخ ملف web.config الخاص بأي موقع تم إعداده من قبل، ثم قم بتعيين الإعدادات، ويتم نقله إلى الخادم البعيد مع تطبيق الويب، وليست هناك حاجة لكتابة البرامج النصية للإدارة لتخصيص التكوين.
في الوقت نفسه، تدعم أداة الإدارة "الإدارة المفوضة". يمكن للمستخدمين تفويض بعض ملفات web.config المحددة لموظفين آخرين في المؤسسة. بالطبع، في هذه الحالة، ما يتم عرضه في أداة الإدارة هو إعدادات العميل موقع الويب الخاص، بدلاً من إعدادات الجهاز بأكمله، بحيث لا يضطر مسؤول IIS إلى القلق بشأن كل تغيير صغير في الموقع، كما أن التحكم في الإصدار بسيط بنفس القدر، ويحتاج المستخدمون فقط إلى الاحتفاظ بإصدارات مختلفة من الملفات النصية في المؤسسة. ومن ثم استخدامها عند الضرورة فقط استعادتها عند الحاجة.
تفخر منتجات Microsoft دائمًا بواجهات سهلة الاستخدام، ومع ذلك، نظرًا لأن خادم IIS7 مصمم لمحترفي تكنولوجيا المعلومات، فإن هذا لا يبدو واضحًا إذا نظرنا إلى الوراء من IIS 4 إلى IIS 6، فإن وحدة التحكم الإدارية المقدمة للمستخدمين ليست سهلة للغاية مريحة للتشغيل، وبسبب القيود الفنية وأسباب أخرى، يصعب على المستخدمين إنجاز جميع أعمال الإدارة من خلال واجهة موحدة.
أداة إدارة الوضع الرسومي MMC
[قص الصفحة]في IIS 7 الجديد، تم تحسين هذه المشكلة بشكل ملحوظ. يمكن للمستخدمين الآن استخدام أدوات الإدارة لإنشاء وإدارة أي عدد من مواقع الويب على أجهزة Windows العميلة. لم يعد يقتصر على موقع ويب واحد. وفي الوقت نفسه، مقارنة بالإصدارات السابقة من IIS، أصبحت واجهة إدارة IIS7 أكثر سهولة وقوة بالإضافة إلى ذلك، فإن أدوات إدارة IIS7 مكتوبة في .NET وWindows Forms و يمكن توسيعها. وهذا يعني أنه يمكن للمستخدمين إضافة وحدات واجهة المستخدم الخاصة بهم إلى أداة الإدارة لتوفير دعم الإدارة لوحدات وقت تشغيل HTTP وإعدادات التكوين الخاصة بهم.
تحسينات أمان IIS 7
دائمًا ما تكون المشكلات الأمنية هي الأولوية القصوى عندما تتعرض شركة Microsoft للهجوم. في الواقع، لا يعني ذلك أن Microsoft غير مبالية بالأمن. لأن Microsoft عبارة عن سفينة حربية ضخمة، فمن المحتم أن يتم فقدان كل سر، ولحسن الحظ، تستجيب Microsoft بنشاط إلى كل رأي أمني مع الاقتراحات. تركز مشكلات أمان IIS بشكل أساسي على الإدارة الفعالة وإدارة الأذونات لبرامج .NET. لقد أجرى IIS 7 تحسينات مقابلة استجابةً لمشاكل الأمان التي واجهها خادم IIS.
في الإصدار الجديد، تم دمج إعدادات إدارة IIS وASP.NET في أداة إدارة واحدة. يتيح ذلك للمستخدمين عرض قواعد المصادقة والترخيص وتعيينها في مكان واحد، بدلاً من الاضطرار إلى المرور عبر عدة مربعات حوار مختلفة. وهذا يوفر للمديرين واجهة مستخدم أكثر اتساقًا ووضوحًا، بالإضافة إلى تجربة إدارية موحدة على منصة الويب.
في IIS7، تعمل تطبيقات .NET مباشرة من خلال تعليمات IIS البرمجية بدلاً من إرسالها إلى ملحق Internet Server API، مما يقلل المخاطر المحتملة ويحسن الأداء. وفي الوقت نفسه، تحتوي أداة الإدارة على دعم مضمن لأعضاء ASP.NET 3.0 و يوفر نظام إدارة الأدوار الدعم لواجهة الإدارة. وهذا يعني أنه يمكن للمستخدمين إنشاء الأدوار والمستخدمين وإدارتها في أداة الإدارة، بالإضافة إلى تعيين الأدوار للمستخدمين. وفيما يلي مخطط تفصيلي كامل لمكونات IIS 7.
IIS 7 مخطط توزيع المكونات الكامل
بيئة إدارة Windows PowerShell لـ IIS 7
أعتقد أن الأصدقاء الذين يهتمون ببرمجة البرامج النصية أو الذين هم على دراية بـ Exchange Server 2007 سيكونون على دراية بـ Windows PowerShell، وهو عبارة عن غلاف لسطر أوامر Windows مصمم خصيصًا لمسؤولي النظام. يشتمل هذا الغلاف على موجه تفاعلي وبيئة برمجة نصية يمكن استخدامها بشكل مستقل أو مجتمعة. بالنسبة لمحترفي تكنولوجيا المعلومات الذين يحبون إدارة البرامج النصية، فإن Windows PowerShell سيجعلهم يحبونها بالتأكيد. بالنسبة لخوادم IIS، يمكن لـ Windows PowerShell أيضًا توفير وظائف إدارة شاملة.
[قص الصفحة]ومع ذلك، على الرغم من أن PowerShell يمكنه أيضًا إدارة IIS6 الذي يعمل على Windows Server 2003، إلا أن IIS7 تتم إدارته بشكل خاص من خلال سطر أوامر PowerShell. يتضمن وظيفة APPCMD الجديدة إنشاء المواقع وتكوينها من خلال واجهة سطر الأوامر القياسية. كما أن سيناريوهات التطبيق لأدوات سطر الأوامر هذه شائعة جدًا عند استخدام إدارة البرنامج النصي في بيئة المستخدم ميزة عظيمة.
يتم تضمين IS 7.0 مع عملاء Windows Vista، ويأتي الإصدار المنزلي من نظام التشغيل أيضًا مع IIS 7.0 (على عكس IIS 5.1، الذي يتوفر فقط على XP Professional). سيتم إصدار إصدار IIS 7.0 الخاص بالخادم مع خادم Windows Server 2008 في وقت لاحق من هذا العام وسيضيف مجموعة من ميزات النشر الإضافية، بما في ذلك دعم أكثر ثراءً للمضيف ودعم FTP الآمن ودعم نشر مزرعة الويب المضمنة.
سيكون دعم مزرعة الويب رائعًا بشكل خاص، لأنه سيسمح لك بنشر تطبيق الويب الخاص بك على مشاركة ملف تحتوي على جميع الترميز والتكوين والمحتوى والمفاتيح اللازمة لتشغيل الخادم. يمكنك بعد ذلك إضافة أي عدد من خوادم الويب عديمة الحالة والخالية من التكوين إلى مزرعة ويب عن طريق توجيهها ببساطة إلى مشاركة الملف لتحميل إعدادات التكوين الخاصة بها ديناميكيًا (بما في ذلك الارتباطات والدلائل الافتراضية وإعدادات تجمع التطبيقات وما إلى ذلك) ومحتوى التطبيق. وهذا يجعل توسيع نطاق التطبيق عبر أجهزة متعددة أمرًا سهلاً، مما يلغي الحاجة إلى أساليب النسخ المتماثل للتكوين ونشر التطبيق (ما عليك سوى نسخ الملفات إلى مشاركة ملف، وستقوم جميع الأجهزة الموجودة في مزرعة الويب بتحميل ملف التغييرات على الفور).
يدعم الإصدار Beta 3 من Windows Server 2008 الترخيص المباشر، لذلك ستتمكن من الاستفادة من هذه الميزة قريبًا. نحن نقوم بالفعل بتشغيل Windows Server 2008 على مجموعة IIS 7.0، لذلك لن تكون وحيدًا!
مخطط إدارة Windows PowerShell
ترحيل IIS7.0
يعد ترحيل مواقع الويب في IIS7.0 أكثر ملاءمة من IIS6.0 لأن أكبر ميزة لخادم الويب Apache هي إدارته المخصصة. يستخدم IIS7.0 الآن مفهوم Apache، لذا انسخ ملف التكوين الخاص بالموقع إلى IIS7.0 آخر. يتم تثبيته على الجهاز المضيف للحصول على التفاصيل، يرجى التعرف على "تكوين IIS7 من خلال الملفات النصية" و"بيئة إدارة Windows PowerShell لـ IIS 7" أعلاه.
[قص الصفحة]تكامل ASP.NET وIIS 7.0
في الإصدارات السابقة من IIS، كان المطورون بحاجة إلى كتابة ملحقات/عوامل تصفية ISAPI لتوسيع وظائف الخادم. بالإضافة إلى صعوبة الكتابة، فإن ISAPI محدود جدًا أيضًا في كيفية اتصاله بالخادم والسماح للمطورين بتخصيصه. على سبيل المثال، لا يمكنك تنفيذ كود إعادة كتابة عنوان URL في ملحق ISAPI (ملاحظة: يتم تطبيق ASP.NET كملحق ISAPI). إذا كتبت تعليمات برمجية طويلة الأمد كمرشح ISAPI، فإن النتيجة هي أنك ستربط سلسلة الإدخال/الإخراج الخاصة بخادم الويب (ولهذا السبب لا نسمح بتشغيل التعليمات البرمجية المُدارة أثناء مرحلة تنفيذ عامل التصفية للطلب).
أحد التغييرات الرئيسية على المستوى المعماري التي أجريناها على محرك معالجة IIS الأساسي في IIS7 هو تمكين قابلية التوسع الغنية للغاية من خلال بنية خطوط أنابيب الطلب المعيارية الجديدة. يمكنك الآن كتابة التعليمات البرمجية في أي مكان في دورة حياة أي طلب HTTP عن طريق تسجيل وحدة توسعة HTTP مع خادم الويب. يمكن كتابة وحدات القابلية للتوسعة هذه باستخدام كود C++ الأصلي أو كود .NET المُدار (يمكنك استخدام واجهة ASP.NET System.Web.IHttpModule الموجودة لتحقيق ذلك).
يتم الآن تنفيذ جميع وظائف IIS7 "المدمجة" (المصادقة، والترخيص، وخدمة الملفات الثابتة، ودعم قائمة الدليل، وASP الكلاسيكي، والتسجيل، وما إلى ذلك) باستخدام واجهة برمجة التطبيقات المعيارية العامة لخط الأنابيب. هذا يعني أنه يمكنك إزالة أي من ميزات IIS7 "المضمنة" واستبدالها/توسيعها بالتنفيذ الخاص بك.
[قص الصفحة]لقد تغير ASP.NET نفسه على IIS 7.0 أيضًا من تطبيق ISAPI إلى وحدة متصلة مباشرة بخط أنابيب IIS7:
مخطط المقارنة بين IIS6.0 وIIS7.0
وهذا يجلب العديد من الفوائد:
1) يمكنك الآن استخدام مصادقة نماذج ASP.NET والأعضاء/الأدوار وأي ميزات أخرى لجميع الطلبات المقدمة إلى الخادم (على سبيل المثال، ملفات .htm و.php و.jsp).
2) يمكنك الآن بسهولة إعادة كتابة عنوان URL لأي طلب ويب أو تعديل الطلب بجميع أنواع الطرق المثيرة للاهتمام.
3) يمكنك استبدال أو توسيع أي ميزة IIS موجودة باستخدام VB أو C# (على سبيل المثال، يمكنك إزالة وحدة قائمة الدليل المضمنة وتوصيل الوحدة النمطية الخاصة بك).
وهذا يفتح بالفعل فرصًا لا حصر لها لقابلية التوسعة لمطوري .NET.
ست ميزات جديدة لـ IIS 7.0:
1) يتيح قلب الشبكة المعياري للمستخدمين إضافة وحذف وظائف محددة. إذا كنت تريد استخدام مكون إحصائيات الخدمة، فستكون هناك حاجة إلى عدد قليل من الوحدات النمطية فقط (باستثناء ISAPI).
2) خط أنابيب HTTP قياسي موحد يتوافق مع تطبيقات الإدارة المحلية. يمكن للمستخدمين استخدام نظام مصادقة قائم على النماذج لصفحات ويب ASP الكلاسيكية.
3) يمكن للمستخدمين إنشاء IHttpModule وIHttpHandlers الخاصة بهم وإدراجهم في مسار موحد.
4) نظام إعداد XML الموزع الجديد، والذي يستفيد من نظام إعداد ASP.NET.
5) تحسين آلية التشخيص وحل المشكلات، بما في ذلك حالة وقت التشغيل الجديدة ووظائف التتبع.
6) واجهة مستخدم جديدة للمسؤول قابلة للتوسيع وموجهة نحو المهام.
وبشكل عام، سيوفر IIS 7 لمسؤولي الويب وعشاق الويب أدوات إدارة أكثر ثراءً وأسهل استخدامًا. في IIS7 الجديد، تم إعادة تصميم جوانب الإدارة والأمان بالكامل من منظور مجموعة المستخدمين، باستخدام IIS7، يمكن للمستخدمين الفرديين إنشاء مواقعهم الخاصة بشكل أسرع وأسهل، بينما يمكن لمستخدمي المؤسسات صيانة وإدارة بيئة الويب الخاصة بهم. بشكل أكثر شمولاً وأمانًا. مع اقتراب Windows Server 2008، أعتقد أنه سيكون هناك المزيد والمزيد من المقدمات حول إدارة IIS7. دعونا ننتظر ونرى ما إذا كان الإصدار الجديد قد جلب لنا تغييرات جوهرية، أم أنه مجرد تحسين لوظائف خادم IIS.
[قص الصفحة]في IIS 7 الجديد، تم تحسين هذه المشكلة بشكل ملحوظ. يمكن للمستخدمين الآن استخدام أدوات الإدارة لإنشاء وإدارة أي عدد من مواقع الويب على أجهزة Windows العميلة. لم يعد يقتصر على موقع ويب واحد. وفي الوقت نفسه، مقارنة بالإصدارات السابقة من IIS، أصبحت واجهة إدارة IIS7 أكثر سهولة وقوة بالإضافة إلى ذلك، فإن أدوات إدارة IIS7 مكتوبة في .NET وWindows Forms و يمكن توسيعها. وهذا يعني أنه يمكن للمستخدمين إضافة وحدات واجهة المستخدم الخاصة بهم إلى أداة الإدارة لتوفير دعم الإدارة لوحدات وقت تشغيل HTTP وإعدادات التكوين الخاصة بهم.
تحسينات أمان IIS 7
دائمًا ما تكون المشكلات الأمنية هي الأولوية القصوى عندما تتعرض شركة Microsoft للهجوم. في الواقع، لا يعني ذلك أن Microsoft غير مبالية بالأمن. لأن Microsoft عبارة عن سفينة حربية ضخمة، فمن المحتم أن يتم فقدان كل سر، ولحسن الحظ، تستجيب Microsoft بنشاط إلى كل رأي أمني مع الاقتراحات. تركز مشكلات أمان IIS بشكل أساسي على الإدارة الفعالة وإدارة الأذونات لبرامج .NET. لقد أجرى IIS 7 تحسينات مقابلة استجابةً لمشاكل الأمان التي واجهها خادم IIS.
في الإصدار الجديد، تم دمج إعدادات إدارة IIS وASP.NET في أداة إدارة واحدة. يتيح ذلك للمستخدمين عرض قواعد المصادقة والترخيص وتعيينها في مكان واحد، بدلاً من الاضطرار إلى المرور عبر عدة مربعات حوار مختلفة. وهذا يوفر للمديرين واجهة مستخدم أكثر اتساقًا ووضوحًا، بالإضافة إلى تجربة إدارية موحدة على منصة الويب.
في IIS7، تعمل تطبيقات .NET مباشرة من خلال تعليمات IIS البرمجية بدلاً من إرسالها إلى ملحق Internet Server API، مما يقلل المخاطر المحتملة ويحسن الأداء. وفي الوقت نفسه، تحتوي أداة الإدارة على دعم مضمن لأعضاء ASP.NET 3.0 و يوفر نظام إدارة الأدوار الدعم لواجهة الإدارة. وهذا يعني أنه يمكن للمستخدمين إنشاء الأدوار والمستخدمين وإدارتها في أداة الإدارة، بالإضافة إلى تعيين الأدوار للمستخدمين. وفيما يلي مخطط تفصيلي كامل لمكونات IIS 7.
IIS 7 مخطط توزيع المكونات الكامل
بيئة إدارة Windows PowerShell لـ IIS 7
أعتقد أن الأصدقاء الذين يهتمون ببرمجة البرامج النصية أو الذين هم على دراية بـ Exchange Server 2007 سيكونون على دراية بـ Windows PowerShell، وهو عبارة عن غلاف لسطر أوامر Windows مصمم خصيصًا لمسؤولي النظام. يشتمل هذا الغلاف على موجه تفاعلي وبيئة برمجة نصية يمكن استخدامها بشكل مستقل أو مجتمعة. بالنسبة لمحترفي تكنولوجيا المعلومات الذين يحبون إدارة البرامج النصية، فإن Windows PowerShell سيجعلهم يحبونها بالتأكيد. بالنسبة لخوادم IIS، يمكن لـ Windows PowerShell أيضًا توفير وظائف إدارة شاملة.