الإعلانات
استضافة مشتركة. إنه الخيار الرخيص ، أليس كذلك؟ ولجزء كبير من السكان ، كل ما يحتاجونه لاستضافة موقعهم على الويب أو تطبيق الويب. وعندما تتم بشكل جيد ، تكون الاستضافة المشتركة قابلة للتطوير وسريعة وآمنة.
ولكن ماذا يحدث عندما لا يتم ذلك بشكل جيد؟
حسنًا ، هذا هو الوقت الذي تبدأ فيه مشكلات الأمان الخطيرة في التسلل. وذلك عندما يكون موقعك عرضة لخطر التشويه أو تسرب البيانات الخاصة التي تحتفظ بها. لكن لا تقلق. الغالبية العظمى من مضيفي الويب لديهم إجراءات أمنية لائقة. إنها فقط مضيفات الطيران ليلا ، في الطابق السفلي التي يجب أن تكون حذرا منها.
نوصي استضافة InMotion Hosting المشتركة مع تخزين SSD.
سنستكشف مشكلات الأمان المحيطة بالاستضافة المشتركة. لكن أولاً ، لنتحدث عما يجعل منصة الاستضافة المشتركة آمنة.
ما الذي يجعل مضيف ويب آمن
هناك بعض الاعتبارات الأمنية البارزة التي يجب إجراؤها فيما يتعلق بالاستضافة المشتركة.
- يجب عزل كل مستخدم على الخادم عن المستخدمين الآخرين ، ويجب ألا يتمكن من الوصول إلى ملفات المستخدمين الآخرين أو تعديلها.
- يجب ألا تتمكن الثغرة الأمنية في منطق موقع الويب المستضاف على الخادم من التأثير على المستخدمين الآخرين.
- يتم تصحيح الخادم وتحديثه ومراقبته بانتظام لمعالجة مشكلات الأمان المعماري.
- يجب أن يكون لكل مستخدم الوصول إلى قاعدة البيانات المعزولة الخاصة به ، ويجب ألا يُسمح له بإجراء تغييرات على السجلات المخزنة أو أذونات الجدول للمستخدمين الآخرين.
مرة أخرى ، يستوفي معظم مضيفي الويب هذه المتطلبات لعروضهم المشتركة. ولكن إذا كنت تبحث في استضافة مواقع ويب متعددة على خادم واحد ، أو ترغب في معرفة كيف تتراكم شركتك المضيفة ، أو حتى التفكير في إطلاق شركة الاستضافة الخاصة بك ، وهم حريصون على معرفة كيفية تأمين المستخدمين ، ثم يرجى القراءة على.
لكن أولاً ، إخلاء المسؤولية
قبل أن نبدأ في البحث عن الهجمات المشتركة الموجهة نحو الاستضافة المشتركة ، أريد فقط اذكر أن هذا المنشور لن يكون (ولا ينبغي قراءته على أنه) قائمة شاملة بالأمان المحتمل مسائل.
الأمن ، في كلمة واحدة ، كبير. هناك العديد من الطرق التي يمكنك من خلالها اختراق موقع ما. هذا يذهب مرتين للاستضافة المشتركة. لم يكن تغطيها في مقال واحد على البطاقات.
إذا كنت تشعر بجنون العظمة بشأن أمانك ، احصل على خادم افتراضي خاص (VPS) أو خادم مخصص. هذه بيئات يمكنك فيها (في معظمها) التحكم المطلق في ما يحدث. إذا لم تكن متأكدًا من الأنواع المختلفة لاستضافة الويب ، تحقق من هذا المنصب شرح الأشكال المختلفة لاستضافة المواقع [تقنية موضحة] اقرأ أكثر من زميلي جيمس بروس.
يجب أن أشدد أيضًا على أن هذا المنشور لا يمكن تفسيره على أنه هجوم على الاستضافة المشتركة. بدلاً من ذلك ، إنها نظرة أكاديمية بحتة على مشكلات الأمان المحيطة بهذه الفئة من استضافة الويب.
اجتياز الدليل
فلنبدأ بهجمات اجتياز الدليل (تُعرف غالبًا باسم هجمات "اجتياز المسار"). يسمح لك هذا النوع من الهجمات بالوصول إلى الملفات والأدلة المخزنة خارج جذر الويب.
في سهل الانجليزية؟ حسنًا ، دعنا نتخيل أن Alice و Bob يستخدمان نفس الخادم لاستضافة مواقع الويب الخاصة بهم. يتم تخزين ملفات Alice في / var / www / alice ، بينما يمكن العثور على مستندات Bob في / var / www / bob. علاوة على ذلك ، دعنا نتظاهر بوجود مجلد آخر على الخادم (/ usr / crappyhosting / myfolder) التي تحتوي على ملف نص عادي غير مشفر (سوف نسميه pwd.txt) يحتوي على أسماء مستخدمي النظام و كلمات المرور.
معي حتى الآن؟ حسن. دعنا الآن نتخيل أن موقع Bob الإلكتروني يخدم ملفات PDF التي يتم إنشاؤها محليًا ، ويتم الرجوع إلى الملف المحلي في عنوان URL. شيء مثل:
http://example.com/file?=report.pdf
ماذا سيحدث إذا استبدلت "report.pdf" ببعض معلمات UNIX التي غيرت الدليل؟
http://example.com/file?=../alice/
إذا تم تكوين الخادم بشكل غير صحيح ، فسيسمح لك ذلك برؤية جذر مستند أليس. هذا مثير للاهتمام ، ولكننا مهتمون أكثر بكثير بملف جوازات السفر هذا. كلمات مرور Accio!
http://example.com/file?=../../../usr/crappyhosting/myfolder/pwd.txt
انها حقا بهذه السهولة. لكن كيف نتعامل معها؟ هذا سهل.
سمعت عن أداة لينكس غير معروفة تسمى استجذاب? ربما تكون قد خمنت بالفعل ما تفعله. يقوم بتعيين جذر Linux / UNIX إلى مجلد عشوائي ، مما يجعل من المستحيل على المستخدمين الخروج منه. على نحو فعال ، فإنه يوقف هجمات اجتياز الدليل في مساراتهم.
من الصعب معرفة ما إذا كان مضيفك لديه هذا في مكانه دون خرق القانون. بعد كل شيء ، لاختباره ، ستتمكن من الوصول إلى الأنظمة والملفات التي ليس لديك إذن للوصول إليها. مع وضع ذلك في الاعتبار ، ربما يكون من المنطقي التحدث إلى مضيف الويب الخاص بك والاستفسار عن كيفية عزل المستخدمين عن بعضهم البعض.
هل تقوم بتشغيل خادم الاستضافة المشترك الخاص بك ولا تستخدم chroot لحماية المستخدمين؟ باعتراف الجميع ، يمكن أن يكون استجذاب البيئات أمرًا صعبًا. لحسن الحظ ، هناك الكثير من المكونات الإضافية التي تجعل هذا الأمر سهلاً. نلقي نظرة على mod_chroot ، على وجه الخصوص.
حقن الأوامر
دعنا نعود إلى أليس وبوب. حسنًا ، نحن نعلم أن تطبيق Bob على الويب يحتوي على عدد قليل... مهم… مشكلات أمنية فيه. أحد هذه الثغرات الأمنية التي تسمح لك بالتشغيل أوامر النظام التعسفي دليل سريع لتبدأ مع سطر أوامر لينكسيمكنك القيام بالكثير من الأشياء المذهلة باستخدام أوامر في Linux وليس من الصعب تعلمها. اقرأ أكثر .
يتيح لك موقع Bob الإلكتروني تشغيل استعلام whois على موقع ويب آخر يتم عرضه بعد ذلك في المتصفح. يوجد مربع إدخال HTML قياسي يقبل اسم المجال ، ثم يقوم بتشغيل أمر نظام whois. يتم تنفيذ هذا الأمر عن طريق استدعاء الأمر PHP system ().
ماذا سيحدث إذا أدخل شخص القيمة التالية؟
example.com && cd ../alice/ && rm index.html
حسنًا ، لنحللها. قد يكون بعض هذا مألوفًا لك إذا كنت قد قرأت "دليل الخطوات الأولى لنظام Linux" الابتداء مع لينكس وأوبونتوأنت مهتم بالتبديل إلى Linux... ولكن من أين تبدأ؟ هل جهاز الكمبيوتر الخاص بك متوافق؟ هل ستعمل تطبيقاتك المفضلة؟ إليك كل ما تحتاج إلى معرفته لبدء استخدام Linux. اقرأ أكثر الكتاب الإلكتروني ، الذي نشرناه سابقًا في عام 2010 ، أو ألقي نظرة عليه ورقة غش سطر الأوامر لينكس.
أولاً ، سيتم تشغيل استعلام whois على example.com. ثم يقوم بتغيير دليل العمل الحالي إلى جذر وثيقة أليس. ثم ستزيل الملف المسمى "index.html" وهو صفحة الفهرس لموقعها على الويب. هذا ليس جيدا. لا سيدي.
لذا ، كمديرين للنظام ، كيف نتخفف من ذلك؟ حسنًا ، بالعودة إلى المثال السابق ، يمكننا دائمًا وضع كل مستخدم في بيئته المعزولة والمطهرة والمشوهة.
يمكننا أيضًا التعامل مع هذا من مستوى اللغة. من الممكن (على الرغم من أن هذا يمكن أن يكسر الأشياء) إزالة إعلانات الوظائف عالميًا من اللغات. وهذا يعني أنه من الممكن إزالة الوظائف من اللغات التي يمكن للمستخدمين الوصول إليها.
بالنظر إلى PHP على وجه الخصوص ، يمكنك إزالة الوظائف باستخدام Runkit - مجموعة أدوات PHP الرسمية لتعديل وظائف اللغة. هناك كم هائل من الوثائق. اقرأ فيه.
يمكنك أيضًا تعديل ملف تهيئة PHP (php.ini) لتعطيل الوظائف التي غالبًا ما يسيء إليها المتسللون. للقيام بذلك ، افتح محطة طرفية على خادمك وافتح ملف php.ini في محرر نصوص. أنا أستمتع باستخدام VIM ، ولكن NANO مقبول أيضًا.
ابحث عن السطر الذي يبدأ بوظائف الإعاقات وأضف تعريفات الوظائف التي ترغب في حظرها. في هذه الحالة ، سيكون exec و shell_exec والنظام ، على الرغم من أنه تجدر الإشارة إلى أن هناك وظائف مضمنة أخرى يمكن استغلالها من قبل المتسللين.
تعطيل وظيفة = exec ، shell_exec ، النظام
الهجمات القائمة على اللغة والمترجم
لذا ، دعونا نلقي نظرة على PHP. هذه هي اللغة التي تعمل على تشغيل عدد مذهل من مواقع الويب. كما يأتي مع عدد من الخصوصيات والسلوكيات الغريبة. مثله.
يستخدم PHP عادة بالتزامن مع خادم الويب Apache. بالنسبة للجزء الأكبر ، من المستحيل تحميل إصدارات متعددة من اللغة بهذا التكوين.
لماذا هذه مشكلة؟ حسنًا ، فلنتخيل أن تطبيق الويب Bob تم إنشاؤه عام 2002. هذا منذ زمن طويل. لقد عاد هذا عندما كان ميشيل برانش لا يزال يتصدر المخططات ، وكان مايكل جوردان لا يزال يلعب في واشنطن ويزاردز وكانت لغة PHP لغة مختلفة كثيرًا.
لكن موقع بوب لا يزال يعمل! إنه يستخدم مجموعة كاملة من وظائف PHP المتوقفة والموقوفة ، ولكنه يعمل! سيؤدي استخدام إصدار حديث من PHP إلى كسر موقع بوب بشكل فعال ، ولماذا يجب على بوب إعادة كتابة موقع الويب الخاص به لتلبية نزوات مضيف الويب الخاص به؟
يجب أن يمنحك هذا فكرة عن المعضلة التي يواجهها بعض مضيفي الويب. يجب عليهم الموازنة بين الحفاظ على خدمة سليمة معمارياً وآمنة ، مع الحفاظ على ذلك في انسجام مع ضمان أن يكون العملاء الذين يدفعون سعداء.
ونتيجة لذلك ، ليس من غير المألوف أن نرى مضيفين مستقلين أصغر يستخدمون إصدارات أقدم من مترجم PHP (أو أي لغة في هذا الصدد).
ليس من غير المألوف أن نرى مضيفين مستقلين أصغر يستخدمون إصدارات قديمة من PHP ، مما قد يعرض المستخدمين لمخاطر أمنية.
لماذا هو شيء سيء؟ حسنًا ، أولاً ، من شأنه أن يعرض المستخدمين لعدد من المخاطر الأمنية. مثل معظم حزم البرامج الرئيسية ، يتم تحديث PHP باستمرار لمعالجة مجموعة كبيرة من الثغرات الأمنية التي يتم اكتشافها باستمرار (والكشف عنها).
علاوة على ذلك ، هذا يعني أنه لا يمكن للمستخدمين استخدام أحدث وظائف اللغة (والأعظم). هذا يعني أيضًا أن الوظائف التي تم إيقافها لسبب ما تبقى. في حالة لغة برمجة PHP تعلم البناء مع PHP: دورة تحطمPHP هي اللغة التي يستخدمها Facebook و Wikipedia لخدمة مليارات الطلبات يوميًا ؛ لغة الأمر الواقع المستخدمة لتعليم الناس برمجة الويب. إنه بسيط بشكل جميل ، ولكنه قوي ببراعة. اقرأ أكثر ، وهذا يشمل وظائف mysql_ الرهيبة المضحكة (والتي تم إيقافها مؤخرًا) والتي يتم استخدامها للتفاعل باستخدام MySQL Relational Database System System و dl () ، مما يسمح للمستخدمين باستيراد لغتهم الخاصة ملحقات.
كمستخدم ، يجب أن تكون قادرًا على رؤية إصدار المترجم الذي يعمل على خدمتك. إذا كانت قديمة أو تحتوي على عدد من الثغرات الأمنية ، فاتصل بمضيفك.
ماذا عن مسؤول النظام؟ لديك بعض الخيارات هنا. الأول (والأكثر واعدة) هو استخدام Docker لكل مستخدم من مستخدميك. يسمح لك Docker بتشغيل بيئات متعددة ومعزولة في نفس الوقت ، تمامًا مثل الجهاز الافتراضي ، وإن كان ذلك بدون الحاجة إلى تشغيل نظام تشغيل آخر. نتيجة لذلك ، هذا سريع. حقا ، حقا سريع.
في سهل الانجليزية؟ يمكنك تشغيل أحدث وأكبر مترجم للنزيف لمعظم المستخدمين ، بينما العملاء الذين يستخدمون التطبيقات القديمة التي تستخدم مترجمين قديمين مهملين للقيام بذلك دون المساومة على الآخرين المستخدمين.
هذا له ميزة كونه لا يعرف اللغة. PHP ، بيثون ، روبي. ايا كان. كل نفس الشيء.
لا تكن لديك كوابيس.
كان الغرض من هذا المنشور القيام ببعض الأشياء. أولاً ، كان الهدف هو لفت انتباهك إلى عدد مشكلات الأمان التي يتعين على شركات استضافة الويب مواجهتها لضمان أمان عملائها وبياناتها.
كان الغرض منه أيضًا توضيح كيفية تأثير المواقع المستضافة على نفس الخادم على بعضها البعض. هل تريد وضع تأثير في هذا؟ ابدأ في الامتثال لمعايير التشفير الجيدة والآمنة. على وجه الخصوص ، ابدأ بتعقيم المدخلات الخاصة بك على كل من الواجهة الأمامية وفي النهاية الخلفية.
البداية الجيدة هي وظيفة التحقق من صحة نموذج HTML5. لقد تحدثنا عن هذا من قبل في دليل HTML5. بشكل جماعي ، يمكننا أن نجعل مواقع الويب أكثر أمانًا من خلال أن نكون مبرمجين أفضل وأكثر ضميرًا.
كالعادة ، أنا مستعد لسماع أفكارك. أرسل لي تعليقًا أدناه.
حقوق الصورة: الجميع يحتاج إلى هاكر (ألكسندر دولونوي), ملصق على نافذة تاكسي (كوري دكتورو), غرفة الخادم (Torkild Retvedt), كتب ومجلات لينكس (library_mistress), فيل PHP (ماركوس تاكير)
ماثيو هيوز مطور برامج وكاتب من ليفربول بإنجلترا. نادرًا ما يتم العثور عليه بدون كوب من القهوة السوداء القوية في يده ويعشق جهاز Macbook Pro والكاميرا الخاصة به. يمكنك قراءة مدونته على http://www.matthewhughes.co.uk ومتابعته على تويتر علىmatthewhughes.