اليوم، مع تزايد شعبية شبكات الكمبيوتر، لا يتطلب أمن الكمبيوتر منع فيروسات الكمبيوتر فحسب، بل يتطلب أيضًا تحسين قدرة النظام على مقاومة التطفل غير القانوني من قبل المتسللين، كما يتطلب تحسين سرية نقل البيانات عن بعد لتجنب السرقة غير القانونية أثناء النقل. تتناول هذه المقالة فقط بعض المواقف التي قد تحدث عند إنشاء خادم ويب، على أمل جذب الانتباه.
1. الثغرات الأمنية
يمكن النظر إلى نقاط الضعف الموجودة على خادم الويب من الجوانب التالية:
1. الملفات السرية أو الدلائل أو البيانات المهمة الموجودة على خادم الويب والتي لا تسمح للآخرين بالوصول إليها.
2. عند إرسال معلومات من مستخدم بعيد إلى الخادم، خاصة عند إرسال معلومات مثل بطاقات الائتمان، يتم اعتراضها بشكل غير قانوني من قبل المجرمين في منتصف الطريق.
3. توجد بعض نقاط الضعف في خادم الويب نفسه، والتي تسمح لبعض الأشخاص بغزو النظام المضيف، وتدمير بعض البيانات المهمة، وحتى التسبب في شلل النظام.
4. تشمل نقاط الضعف الأمنية لـ CGI ما يلي:
(1) يؤدي حذف الأخطاء في النظام المضيف عن قصد أو عن غير قصد إلى خلق ظروف مناسبة للمتسللين غير القانونيين.
(2) قد توفر البرامج المكتوبة باستخدام نصوص CGI مخاطر الويب للنظام المضيف.
5. هناك أيضًا بعض خوادم الويب البسيطة التي يتم تنزيلها من الإنترنت دون مراعاة بعض العوامل الأمنية ولا يمكن استخدامها للتطبيقات التجارية.
لذلك، سواء كنت تقوم بتكوين الخادم أو كتابة برامج CGI، يجب عليك الانتباه إلى أمان النظام. حاول سد أي ثغرات موجودة وخلق بيئة آمنة.
2. تحسين أمن النظام واستقراره
احتياطات أمان خادم الويب:
1. الحد من فتح الحسابات على خادم الويب وحذف بعض المستخدمين الذين يقاطعون العملية بانتظام.
2. بالنسبة للحسابات المفتوحة على خادم الويب، قم بوضع متطلبات بشأن طول كلمة المرور والتغييرات المنتظمة لمنع السرقة.
3. حاول فصل FTP وMAIL والخوادم الأخرى عنها، وقم بإزالة بعض التطبيقات غير ذات الصلة مثل ftp وsendmail وtftp وNIS وNFS وfinger وnetstat وما إلى ذلك.
4. قم بإزالة بعض المترجمين الفوريين غير الضروريين على الإطلاق مثل SHELL على خادم الويب، أي عندما لا يتم استخدام PERL في برنامج CGI الخاص بك، حاول حذف PERL في مترجم النظام.
5. قم بفحص ملف السجلات في الخادم بانتظام وتحليل أي أحداث مشبوهة. عندما تظهر سجلات مثل rm، وlogin، و/bin/Perl، و/bin/sh، وما إلى ذلك في سجل الأخطاء، فمن المحتمل أن يكون قد تم غزو الخادم الخاص بك من قبل بعض المستخدمين غير الشرعيين.
6. قم بتعيين أذونات وسمات ملفات النظام على خادم الويب، وقم بتعيين مجموعة عامة، مثل WWW، للمستند الذي يمكن للآخرين الوصول إليه، وقم بتعيين حقوق القراءة فقط لها فقط. تنتمي جميع ملفات HTML إلى مجموعة WWW، وتتم إدارة مجموعة WWW بواسطة مسؤول الويب. يتمتع مسؤولو الويب فقط بحق الوصول للكتابة إلى ملفات تكوين الويب.
7. عندما تقوم بعض خوادم الويب بتوجيه دليل مستند الويب ودليل FTP إلى نفس الدليل، يجب عليك الحرص على عدم تحديد دليل FTP وCGI-BIN في نفس الدليل. وذلك لمنع بعض المستخدمين من تحميل بعض البرامج مثل PERL أو SH عبر FTP واستخدام CGI-BIN الخاص بالويب لتنفيذها، مما يسبب عواقب سلبية.
8. الوصول إلى عنوان IP أو DNS الخاص بالمستخدم عن طريق تقييد الإذن، مثل إضافة: إلى access.conf في NCSA:
"الدليل / كامل / المسار / إلى / الدليل"
"الحد من الحصول على المنشور"
ترتيب الفشل المتبادل
أنكر من الجميع
السماح من 168.160.142
"/حد"
"/دليل"
بهذه الطريقة، يمكن فقط للعملاء الذين لديهم اسم المجال abc.net.cn أو عنوان IP الذي ينتمي إلى 168.160.142 الوصول إلى خادم الويب.
بالنسبة لخوادم CERN أو W3C، أضف هذا إلى httpd.conf:
حماية المستخدمين المحليين {
GetMask @(*.capricorn.com, *.zoo.org, 18.157.0.5)
}
حماية /نسبي/مسار/إلى/دليل/* المستخدمين المحليين
9.HTTPD ضمن WINDOWS
(1) خادم اتصالات Netscape لـ NT
نقاط الضعف لمترجم PERL:
لا يمكن لـ Netscape Communications Server التعرف على الامتداد وعلاقة التطبيق الخاصة به ضمن CGI-BIN. على سبيل المثال، الملف .pl هو ملف تفسير يتم استدعاؤه تلقائيًا بواسطة برنامج التعليمات البرمجية PERL. وحتى الآن، لا يمكن تخزين ملف perl.exe إلا في CGI -BIN الدليل للأسفل. تنفيذ مثل: /cgi-bin/perl.exe؟ &my_script.pl. ولكن هذا هو
هل من الممكن لأي شخص تنفيذ PERL عندما يضيف شخص ما شيئًا مثل: /cgi-bin/Perl.exe إلى عنوان URL للمتصفح الخاص به؟ -e unlink <*> قد يتسبب في خطر حذف الملفات الموجودة في الدليل الحالي للخادم. ومع ذلك، لا يوجد لدى الآخرين مثل O'Reilly WebSite أو Purveyor هذه الثغرة الأمنية.
نقاط الضعف في تنفيذ CGI للملفات الدفعية:
محتويات الملف test.bat هي كما يلي:
@صدى قبالة
نوع محتوى الصدى: نص/عادي
صدى
صدى مرحبا بالعالم!
ماذا لو كان عنوان URL لمتصفح العميل هو:/cgi-bin/test.bat؟ &dir، ثم يتم تنفيذ مترجم الأوامر لإكمال قائمة DIR. وهذا يعطي للزائر إمكانية تنفيذ أوامر أخرى.
(2) خادم O′Reilly WebSite لنظام التشغيل Windows NT/95
توجد نفس الثغرة الأمنية الموجودة في Netscape عند استخدام الملفات الدفعية في الإصدارات السابقة لـ WebSite1.1B، ومع ذلك، يقوم الإصدار الجديد بإغلاق دور .bat في CGI. يدعم لغة PERL، ويستخدم الإصدار الجديد VB وC كأدوات تطوير CGI.
(3) خادم الويب IIS الخاص بشركة Microsoft
يحتوي IIS قبل 5 مارس 1996 على أخطاء خطيرة ضمن NT، ويمكنك استخدام أمر الأمر بشكل تعسفي. ومع ذلك، فقد تم تصحيح الثغرة الأمنية منذ ذلك الحين ويمكنك التحقق من تاريخ إنشاء الملف القابل للتنفيذ. لا تزال هناك بعض الأخطاء الأمنية في IIS 3.0، خاصة حقوق المنح ضمن CGI-BIN. بالإضافة إلى ذلك، تحتوي العديد من خوادم الويب نفسها على بعض الثغرات الأمنية، والتي يتم تحديثها باستمرار أثناء عملية ترقية الإصدار، ولن أقوم بإدراجها واحدة تلو الأخرى هنا.
[قص الصفحة]
3. النظر في الأمن من منظور برمجة CGI
1. يعد استخدام اللغة المترجمة أكثر أمانًا من اللغة المترجمة، ويجب وضع برامج CGI ضمن CGI-BIN بشكل مستقل عن دليل تخزين HTML، وذلك لمنع بعض الزوار غير الشرعيين من الحصول على مصدر اللغة المترجمة من المتصفح في الكود.
2. عند كتابة برامج CGI بلغة C، يجب أن تحاول استخدام popen() وsystem() وجميع أوامر SHELL التي تتضمن /bin/sh بالإضافة إلى system() وexec() وopen() وeval( في PERL) وأوامر أخرى مثل exec أو eval.
عندما يتم إرجاع النموذج الذي ملأه المستخدم إلى CGI، لا تستدعي وظائف مثل system() مباشرة.
بالإضافة إلى ذلك، بالنسبة لتشفير البيانات ونقلها، يوجد حاليًا بروتوكولات SSL وSHTTP وSHEN وبروتوكولات أخرى يمكن للجميع دراستها.
4. جدار الحماية
1. مفهوم جدار الحماية
يشير جدار الحماية إلى جهاز يتكون من برنامج أو مجموعة من البرامج والأجهزة، وهو موجود بين أجهزة الكمبيوتر الخاصة بمؤسسة أو مجموعة شبكة والقناة الخارجية (الإنترنت). يدير وصول المستخدمين الداخليين إلى أذونات الشبكة الخارجية.
2. تدابير جدار الحماية
(1) المضيف الوكيل
"الشبكة الداخلية--بوابة الوكيل--الإنترنت"
وبهذه الطريقة، لا تتواصل الشبكة الداخلية مباشرة مع الإنترنت. أي أن مستخدمي كمبيوتر الشبكة الداخلية وبوابة الوكيل يعتمدون طريقة اتصال، أي توفير بروتوكولات الشبكة الداخلية (Netbios، TCP/IP، وما إلى ذلك)، ويتم اعتماد بروتوكول اتصال شبكة TCP/IP القياسي بين البوابة و الإنترنت. وهذا يمنع حزم بيانات الشبكة من السفر مباشرة بين الشبكات الداخلية والخارجية. يجب أن تصل أجهزة الكمبيوتر الداخلية إلى الإنترنت من خلال بوابة وكيل، مما يجعل من السهل تقييد أجهزة كمبيوتر الشبكة الداخلية من الوصول إلى أجهزة الكمبيوتر الخارجية على الخادم الوكيل. بالإضافة إلى ذلك، نظرًا لأن الخادم الوكيل يستخدم معايير بروتوكول مختلفة في كلا الطرفين، فيمكنه أيضًا منع التدخلات غير القانونية من العالم الخارجي بشكل مباشر. بالإضافة إلى ذلك، يمكن لبوابة الخادم الوكيل إجراء ضوابط أمنية مثل التحقق من حزم البيانات وتأكيد كلمات المرور. وبهذه الطريقة، يمكن التحكم في المستخدمين وإدارتهم بشكل أفضل، ويعملون كجدار حماية.
نظرًا لأن إجراء جدار الحماية هذا يتم تنفيذه من خلال خادم وكيل، فإن الكفاءة ستتأثر حتمًا عندما يكون هناك العديد من المستخدمين عبر الإنترنت أجهزة كمبيوتر الشبكة.
(2) تم الانتهاء من إضافة مرشح جهاز التوجيه
"الشبكة الداخلية--التصفية--جهاز التوجيه--الإنترنت"
تستخدم هذه البنية أجهزة التوجيه والمرشحات لتقييد أجهزة الكمبيوتر الخارجية بشكل مشترك من الوصول إلى الشبكة الداخلية بناءً على عناوين IP أو أسماء النطاقات، ويمكنها أيضًا تحديد أو تقييد الوصول إلى الإنترنت من الشبكة الداخلية. يقوم جهاز التوجيه فقط بتوجيه اتصال البيانات على منفذ معين على المضيف، بينما يقوم عامل التصفية بإجراء التصفية والتصفية والتحقق ومراقبة الأمان، مما يمكنه إلى حد كبير عزل عمليات تسجيل الدخول غير الطبيعية بين الشبكات الداخلية والخارجية.
[قص الصفحة]3. النظر في الأمن من منظور برمجة CGI
1. يعد استخدام اللغة المترجمة أكثر أمانًا من اللغة المترجمة، ويجب وضع برامج CGI ضمن CGI-BIN بشكل مستقل عن دليل تخزين HTML، وذلك لمنع بعض الزوار غير الشرعيين من الحصول على مصدر اللغة المترجمة من المتصفح في الكود.
2. عند كتابة برامج CGI بلغة C، يجب أن تحاول استخدام popen() وsystem() وجميع أوامر SHELL التي تتضمن /bin/sh بالإضافة إلى system() وexec() وopen() وeval( في PERL) وأوامر أخرى مثل exec أو eval.
عندما يتم إرجاع النموذج الذي ملأه المستخدم إلى CGI، لا تستدعي وظائف مثل system() مباشرة.
بالإضافة إلى ذلك، بالنسبة لتشفير البيانات ونقلها، يوجد حاليًا بروتوكولات SSL وSHTTP وSHEN وبروتوكولات أخرى يمكن للجميع دراستها.
4. جدار الحماية
1. مفهوم جدار الحماية
يشير جدار الحماية إلى جهاز يتكون من برنامج أو مجموعة من البرامج والأجهزة، وهو موجود بين أجهزة الكمبيوتر الخاصة بمؤسسة أو مجموعة شبكة والقناة الخارجية (الإنترنت). يدير وصول المستخدمين الداخليين إلى أذونات الشبكة الخارجية.
2. تدابير جدار الحماية
(1) المضيف الوكيل
"الشبكة الداخلية--بوابة الوكيل--الإنترنت"
وبهذه الطريقة، لا تتواصل الشبكة الداخلية مباشرة مع الإنترنت. أي أن مستخدمي كمبيوتر الشبكة الداخلية وبوابة الوكيل يعتمدون طريقة اتصال، أي توفير بروتوكولات الشبكة الداخلية (Netbios، TCP/IP، وما إلى ذلك)، ويتم اعتماد بروتوكول اتصال شبكة TCP/IP القياسي بين البوابة و الإنترنت. وهذا يمنع حزم بيانات الشبكة من السفر مباشرة بين الشبكات الداخلية والخارجية. يجب أن تصل أجهزة الكمبيوتر الداخلية إلى الإنترنت من خلال بوابة وكيل، مما يجعل من السهل تقييد أجهزة كمبيوتر الشبكة الداخلية من الوصول إلى أجهزة الكمبيوتر الخارجية على الخادم الوكيل. بالإضافة إلى ذلك، نظرًا لأن الخادم الوكيل يستخدم معايير بروتوكول مختلفة في كلا الطرفين، فيمكنه أيضًا منع التدخلات غير القانونية من العالم الخارجي بشكل مباشر. بالإضافة إلى ذلك، يمكن لبوابة الخادم الوكيل إجراء ضوابط أمنية مثل التحقق من حزم البيانات وتأكيد كلمات المرور. وبهذه الطريقة، يمكن التحكم في المستخدمين وإدارتهم بشكل أفضل، ويعملون كجدار حماية.
نظرًا لأن إجراء جدار الحماية هذا يتم تنفيذه من خلال خادم وكيل، فإن الكفاءة ستتأثر حتمًا عندما يكون هناك العديد من المستخدمين عبر الإنترنت أجهزة كمبيوتر الشبكة.
(2) تم الانتهاء من إضافة مرشح جهاز التوجيه
"الشبكة الداخلية--التصفية--جهاز التوجيه--الإنترنت"
تستخدم هذه البنية أجهزة التوجيه والمرشحات لتقييد أجهزة الكمبيوتر الخارجية بشكل مشترك من الوصول إلى الشبكة الداخلية بناءً على عناوين IP أو أسماء النطاقات، ويمكنها أيضًا تحديد أو تقييد الوصول إلى الإنترنت من الشبكة الداخلية. يقوم جهاز التوجيه فقط بتوجيه اتصال البيانات على منفذ معين على المضيف، بينما يقوم عامل التصفية بإجراء التصفية والتصفية والتحقق ومراقبة الأمان، مما يمكنه إلى حد كبير عزل عمليات تسجيل الدخول غير الطبيعية بين الشبكات الداخلية والخارجية.