آمن مثل Fort Knox: كيفية تأمين موقع ويب من المتسللين
نشرت: 2021-10-05في هذه المقالة ، نقدم دليلًا حول كيفية تأمين موقع ويب من التعرض للقرصنة واستخدامه في أنشطة غير قانونية.
الأمان على الإنترنت هو علم أحمر ضخم في سماء الإنترنت الزرقاء اللانهائية. وعلى الرغم من أن عبارة "الأمان على الإنترنت" قد تذكر أولاً بالمضايقات والحماية عبر الإنترنت للمستخدمين ، إلا أن الضرر الذي يمكن أن يحدثه الافتقار إلى أمان موقع الويب على الأعمال التجارية يعد أمرًا كبيرًا أيضًا. أصحاب مواقع الويب الذين يقطعون الإنفاق على التأمين يدفعون مقابل سمعتهم ، وبالتالي يتكبدون خسائر مالية.
محتويات:
- لماذا يحتاج كل مالك موقع إلى الاستثمار في الأمن
- ما هي نقاط الضعف التي نتحدث عنها؟
- عيوب الحقن
- التعرض للبيانات الحساسة
- هجمات البرمجة النصية عبر المواقع (XSS)
- المصادقة معطلة
- خطأ في تكوين الأمان
- كسر التحكم في الوصول
- إلغاء التسلسل غير الآمن
- التسجيل والمراقبة غير كافيين
- كيانات XML الخارجية (XXE)
- استخدام المكونات ذات الثغرات الأمنية المعروفة
- كيفية إنشاء موقع آمن
- كم يكلف تأمين موقع على شبكة الإنترنت؟
لماذا يحتاج كل مالك موقع إلى الاستثمار في الأمن
بعض مالكي مواقع الويب لديهم أفكار مثل هذه: لا يوجد شيء يسرقه على موقع الويب الخاص بي. لا أحتفظ بأي بيانات للمستخدم أو تفاصيل الدفع. لست بحاجة إلى أمان عالي التكلفة.
ومع ذلك ، هذا مجرد ساذج. هناك عدد من الأسباب التي قد تؤدي إلى اختراق موقع الويب الخاص بك حتى لو لم يكن يستضيف أي بيانات شخصية أو مالية. فيما يلي قائمة بالاستخدامات التي قد يستخدمها المتسللون لأي خادم غير محمي:
- للمطالبة بفدية. حتى إذا لم تحتفظ بأي بيانات مستخدم على خوادمك ، يمكن للقراصنة الاستيلاء عليها والمطالبة منك بالمال لاستعادتها.
- لاستخدامها كترحيل SMTP (بروتوكول نقل البريد البسيط). SMTP هو بروتوكول يستخدم لتسليم رسائل البريد الإلكتروني بالجملة - على سبيل المثال ، الرسائل الإخبارية. يمكن للقراصنة استخدام خوادمك لإرسال رسائل غير مرغوب فيها أو برامج فدية.
- لتعدين البيتكوينز.
- لاستخدامها في هجمات DDoS كجزء من الروبوتات.
- لتغيير أو حذف البيانات الموجودة على موقع الويب الخاص بك. قد تختلف أسباب الرغبة في القيام بذلك.
وهذا مجرد خدش السطح. إلى جانب التهديدات التي تشكلها الجهات الخارجية (المتسللون والمجرمون الآخرون) ، هناك أيضًا تهديدات تشكلها أخطاء محتملة من جانب الموظفين الذين يديرون موقع الويب الخاص بك ، على سبيل المثال. في الواقع ، لا يقل الأمن الداخلي أهمية عن الخارجية ، إن لم يكن أكثر.
فكيف يمكنني تأمين موقع الويب الخاص بي من المتسللين؟ أنت تسأل.
حسنًا ، يجب عليك حساب عدد من نقاط الضعف والتعامل معها.
ما هي نقاط الضعف التي نتحدث عنها؟
أحد أكثر الكيانات شهرة في الصناعة التي تهتم بالأمن السيبراني هو مشروع أمان تطبيق الويب المفتوح ، OWASP باختصار. تقوم مؤسسة OWASP بمراقبة قائمة مشكلات أمان الويب واسعة الانتشار وتحديثها بانتظام. فيما يلي مشكلات أمنية شائعة في قائمتهم (بدون ترتيب معين) اعتبارًا من يوم كتابة هذه المقالة وبعض النصائح حول كيفية تقليل الخطر على موقع الويب الخاص بك.
عيوب الحقن
تتعلق عيوب الحقن بقواعد البيانات وهي ناتجة عن ضعف التحقق من صحة الإدخال. عندما يقبل نظامك إدخال المستخدم ولكنه يفشل في تصفية هذا الإدخال بشكل صحيح ، فإنه يجعل النظام ضعيفًا - يمكن للقراصنة استغلال ذلك لحقن كودهم في نظامك (ومن هنا الاسم). يمكن أن يؤدي هذا الرمز المحقون إلى قيام موقع الويب الخاص بك بتنفيذ أوامر لم تكن تنوي القيام بها ، مما يجعله يعرض بيانات حساسة أو حتى يتخلى عن السيطرة على موقع الويب للمتسلل.
النوع الأكثر شيوعًا من الثغرات الأمنية للحقن يتضمن قواعد بيانات SQL ، لكن الثغرات الأمنية للحقن لا تقتصر حقًا عليها. يمكن أن تكون استعلامات XPath وعبارات LDAP وبرامج XML النصية عرضة للحقن.
كيف تجعل موقع الويب آمنًا من عيوب الحقن؟ تتضمن اثنتان من أفضل الممارسات استخدام تعقيم استعلام SQL والاستعلامات ذات المعلمات. هناك واجهات برمجة تطبيقات تتيح لك القيام بذلك.
إذا كنت لا ترغب في تنفيذ هذه الأشياء يدويًا ، فيمكنك استخدام أداة ORM (رسم الخرائط الارتباطية للكائنات) للغة البرمجة المفضلة لديك. نحن نستخدم ActiveRecord لأنه مرتبط بإحكام بنظام ريلز البيئي.
لا يعد أي من الخيارات المذكورة أعلاه خاطئًا تمامًا ، ولكنه أقرب ما يكون إلى الحماية القوية هذه الأيام.
التعرض للبيانات الحساسة
البيانات الحساسة هي أي بيانات يمكن استخدامها لاستغلال شخص بطريقة أو بأخرى:
- اسم
- رقم الحماية الاجتماعية
- رقم رخصة القيادة
- معلومات بطاقة الائتمان
- أسماء المستخدمين وكلمات المرور
- تاريخ الولادة
- معلومات صحية
- الاسم قبل الزواج
- اسماء الوالدين
يمكن أن تتضمن أيضًا أي معلومات تمثل إجابة لسؤال أمان ، على سبيل المثال لحسابك المصرفي. من كان يظن أن اسم حيوانك الأليف الأول يمكن اعتباره بيانات حساسة ، أليس كذلك؟
يعد تأمين مواقع الويب من التعرض للبيانات الحساسة أمرًا صعبًا ، حيث يصعب التنبؤ بهذا التعرض واكتشافه. لكن هناك إجراءات وقائية يمكنك اتخاذها. البيانات الحساسة ، إذا تم تخزينها على موقع ويب ، يجب ألا يتم تخزينها كنص عادي ؛ يجب تشفيره بأحدث التقنيات ونقله فقط عبر القنوات الآمنة.
إذا كان موقع الويب الخاص بك يسهل أي معاملات أو يتعامل بشكل عام مع البيانات الحساسة ، فإنه يحتاج إلى استخدام تشفير SSL. هذه هي أحدث وأفضل تقنية تشفير متاحة. يساعدك تشفير SSL على نقل البيانات بأمان بين المستعرض والخادم أو بين الخوادم. علاوة على ذلك ، سيبحث العديد من المستخدمين عن HTTPS في عنوان موقع الويب الخاص بك لمعرفة ما إذا كان آمنًا أم لا. هذا العنوان هو ما تحصل عليه عندما تحصل على شهادة SSL.
يوصى أيضًا عمومًا بتخزين البيانات في السحابة. ومع ذلك ، لا تفترض أن مجرد تخزينها في السحابة سيجعل البيانات آمنة تلقائيًا. ومع ذلك ، يجب تنفيذ جميع تدابير الحماية ، ويجب عليك مراقبة الأمن وتحديثه بانتظام.
هجمات البرمجة النصية عبر المواقع (XSS)
تشبه ثغرات XSS ، بطريقة ما ، عيوب الحقن ، لأنها تسمح للمتسللين بالتأثير على صفحات موقع الويب الخاص بك عن طريق إدخال كود غير أصلي. في حالة XSS ، نتحدث عن حقن JavaScript. يمكن لـ JavaScript التي تم حقنها بواسطة المتسلل تغيير محتوى الصفحة وإدراج روابط لمواقع ويب ضارة وإرسال البيانات المخفية في الأصل مرة أخرى إلى المتسلل ، مما يؤدي إلى تعرض البيانات الحساسة.
يحتوي كل من Ruby on Rails و React على حماية XSS مدمجة. هناك خيار آخر لمقاييس مكافحة XSS ومقاومة الحقن وهو استخدام رأس استجابة HTTP لسياسة أمان المحتوى.
المصادقة معطلة
يُطلق على هذا الخلل في الأصل اسم "إدارة المصادقة والجلسة المعطلة" ، وهو يتعامل مع الثغرات الأمنية أثناء مصادقة المستخدم وإدارة الجلسة ، كما يتضح من الاسم. يتضمن ذلك الكشف عن بيانات اعتماد تسجيل الدخول وعدد من المشكلات المتعلقة بمعرفات الجلسة:
- معرفات جلسة ضعيفة
- تظهر معرفات الجلسات في عناوين URL
- معرفات الجلسات التي لا تتغير بين عمليات تسجيل الدخول
- إرسال معرفات الجلسة عبر اتصالات غير آمنة
ترتبط معرفات الجلسات مباشرة بهوية المستخدم ، مثل بيانات الاعتماد ، وبالتالي يمكن أن يؤدي اعتراضها إلى الاستيلاء على حساب المستخدم. يؤدي هذا إلى جميع أنواع الأضرار التي تلحق بالمستخدمين ، من الضرر المالي والسمعة إلى الصحة.
لجعل موقع الويب الخاص بك آمنًا من هجمات المصادقة ، اطلب مصادقة متعددة العوامل : على سبيل المثال ، اطلب كلمة مرور ثابتة وكلمة مرور لمرة واحدة يتم تسليمها إلى جهاز المستخدم المحمول.
تستخدم Google خيارًا للمصادقة ذات العاملين : لفتح حساب Google الخاص بك في متصفح الويب ، عليك أولاً إدخال كلمة المرور الخاصة بك. إذا كان الأمر صحيحًا ، فستحتاج أيضًا إلى فتح تطبيق Google على هاتفك واختيار الرقم الظاهر في متصفح الويب.
تتضمن طرق حماية مواقع الويب الأكثر وضوحًا للمصادقة المعطلة ما يلي:
- فرض تعقيد كلمة المرور - "يجب أن تتكون كلمة المرور الخاصة بك من 8 أحرف على الأقل وتتضمن رقمًا واحدًا على الأقل وحرفًا كبيرًا وحرفًا صغيرًا."
- الحد من محاولات تسجيل الدخول التي يتم قبلها تعليق الحساب (لفترة محددة أو حتى يتصل المستخدم بمسؤولي الموقع) وتنبيه المسؤولين
خطأ في تكوين الأمان
يعد التهيئة الخاطئة للأمان موضوعًا واسعًا ، حيث يمكن أن يحدث هذا في أي مرحلة ومع أي جزء من موقع الويب الخاص بك: قاعدة بيانات أو شبكة أو خادم أو إطار عمل أو تخزين أو أي شيء آخر. يمكن استغلال نقاط الضعف في التكوين للوصول إلى وظائف النظام. اعتمادًا على مكان وجود الثغرة الأمنية ، يمكن أن يكون هذا الوصول جزئيًا أو كاملًا. أمثلة على التهيئة الخاطئة:
- لم تقم بتعطيل الحسابات / كلمات المرور الافتراضية.
- هناك ميزات غير ضرورية وغير مستخدمة.
- لم يتم تكوين أذونات الوصول إلى السحابة بشكل آمن.
- تعرض رسائل الخطأ معلومات حساسة مثل أسماء المستخدمين أو كلمات المرور أو عناوين البريد الإلكتروني.
أول شيء يجب فعله لتجنب التهيئة الخاطئة هو إزالة كل ما هو غير مستخدم - الميزات والعينات وأطر العمل وما إلى ذلك. والخطوة التالية هي ضمان نفس التكوين لجميع البيئات والتحقق من أدائها بانتظام. الهندسة المعمارية المدروسة أمر لا بد منه.
كسر التحكم في الوصول
التحكم في الوصول هو التحكم في ما يمكن للمستخدمين فعله وما لا يمكنهم فعله. عندما لا يتم فرضه بشكل صحيح ، فهذا يعني أنه يمكن للمستخدمين تنفيذ الإجراءات التي يمكن أن تؤثر على موقع الويب الخاص بك بطرق غير متوقعة. تتمثل إحدى طرق استغلال التحكم في الوصول المعطل في عرض ملفات تعريف المستخدمين الآخرين وبياناتهم وتعديلها. آخر هو الوصول إلى الميزات المتميزة دون دفع ثمنها أو كسبها. آخر هو الوصول إلى صفحات المسؤول من حساب غير مسؤول (أو ما هو أسوأ من ذلك ، بدون حساب على الإطلاق).
أفضل طريقة لضمان عمل التحكم في الوصول إلى موقع الويب الخاص بك هي الاختبار اليدوي. لا توجد أدوات اختبار آلية يمكن أن تضمن أن التحكم في الوصول يعمل على النحو المنشود.
يمكن أن ينتج التحكم في الوصول المعطل أيضًا عن إساءة استخدام آلية مشاركة الموارد عبر الأصل (CORS) ، والتي يمكن أن توفر الوصول إلى واجهات برمجة التطبيقات المقيدة بخلاف ذلك. لهذا السبب ، يوصى باستخدام CORS بأقل قدر ممكن.
إلغاء التسلسل غير الآمن
التسلسل هو عملية تحويل كائن إلى رمز ثنائي. إلغاء التسلسل ، منطقيا ، هو عكس ذلك. كلاهما عمليتان يتم إجراؤهما بانتظام في تطوير الويب ، مما يجعل من المهم تنفيذ الحماية ضد استخدامهما في الهجمات.
الخبر السار هو أن إلغاء التسلسل ليس شيئًا يمكن أن يفعله مستخدم عادي أو موظفك عن طريق الخطأ . هذه أيضًا ، جزئيًا ، الأخبار السيئة - هجمات إلغاء التسلسل دائمًا متعمدة ، وبالتالي فهي شريرة. كما أنها تؤدي إلى أخطر المشكلات ، مثل تشغيل التعليمات البرمجية عن بُعد ، والدخول إلى موقع الويب بدون مصادقة ، وبدء هجمات DoS (رفض الخدمة).
أسهل طريقة لتأمين موقع الويب الخاص بك من هذا النوع من الهجوم هي منع الكائنات المتسلسلة التي ينشئها المستخدم. إذا تعذر القيام بذلك ، فإن الخيار الأفضل التالي هو استخدام التوقيعات المشفرة لفحوصات السلامة.
يمكن أن يؤدي استخدام JSON أو YAML أو XML إلى زيادة صعوبة استغلال نقاط ضعف إلغاء التسلسل على المتسللين نظرًا لأن هذه التنسيقات ليست ثنائية.
التسجيل والمراقبة غير كافيين
تبدو هذه الثغرة الأمنية واضحة جدًا: إذا لم تقم بمراقبة موقع الويب الخاص بك ولم تقم بتسجيل جميع الأخطاء والمحاولات الفاشلة لتسجيل الدخول أو تنفيذ وظائف التحكم في الوصول ، فأنت تغري المتسللين بشكل أساسي لمهاجمة موقع الويب الخاص بك. في أي نوع من أنواع الحروب ، الرقمية أو الواقعية ، لا يتعلق الهجوم الأول عادةً بالفوز بل يتعلق برؤية ما ستواجهه. وإذا كانت هناك طريقة سهلة ، يمكنك استخدامها. سيؤدي الفشل في تسجيل ومراقبة مثل هذا الفحص إلى فقدان نظامك للهجوم تمامًا أو اكتشافه بمجرد حدوثه بالفعل ووقوع الضرر.
يعد التسجيل أمرًا مهمًا بشكل خاص لمواقع التجارة الإلكترونية ، نظرًا لأنها تتعامل مع أموال المستخدمين وبيانات الاعتماد المالية.
لجعل موقع الويب الخاص بك أكثر أمانًا ، قم بتسجيل جميع المحاولات الفاشلة بشكل صحيح وتأكد من تخزين هذه السجلات ونسخها احتياطيًا خارج الخوادم المحلية. استخدم أنظمة تنبيه تلقائية لمثل هذه الإخفاقات ، وإذا أمكن ، قم بتعليق الحسابات التي تولد مثل هذه الإخفاقات باستمرار. من الضروري أن يكون لديك أنظمة تنبيه في الوقت الفعلي حتى تتمكن من الرد على أي خرق محتمل على الفور.
كيانات XML الخارجية (XXE)
لقد ذكرنا XML (لغة الترميز الموسعة) عدة مرات بالفعل. إنها لغة مرنة ، مما يجعلها سهلة الاستخدام وواسعة الانتشار. تقوم معالجات XML بتحليل البيانات من مستندات XML. إذا كان موقع الويب الخاص بك يستند إلى XML ويقبل تحميلات XML دون التحقق من الصحة ، فقد يكون عرضة للهجمات.
لحماية سلامة موقع الويب الخاص بك ، يوصى بمجموعة الإجراءات التالية:
- تعطيل معالجة DTD (تعريف نوع المستند).
- قم بالحد من تحميلات XML أو منعها ، أو إذا لم يكن ذلك ممكنًا ، فقم بفرض القائمة البيضاء - التحقق الإيجابي من صحة الإدخال من جانب الخادم.
- قم بترقية معالجات ومكتبات XLM بانتظام.
- منع تسلسل البيانات الحساسة.
- حيثما أمكن ، استخدم JSON أو تنسيقات بسيطة مماثلة.
- تنفيذ جدران حماية تطبيقات الويب (WAFs) وبوابات أمان API.
استخدام المكونات ذات الثغرات الأمنية المعروفة
لا يوجد شيء مثالي ، وأي مكون تستخدمه في برنامجك لا بد أن يكون به بعض الثغرات الأمنية ، المعروفة أو غير المعروفة. استجابةً للثغرات الأمنية المكتشفة والمعترف بها ، يتم تحديث البرنامج لتغطية تلك الثغرات أو التخفيف من أي ضرر قد ينجم عن استغلالها. تتسبب بعض نقاط الضعف في حدوث أضرار طفيفة ، لكن البعض الآخر قد يلحق الضرر بعملك.
لمنع اختراق مواقع الويب بسبب نقاط الضعف المعروفة ، من المهم التحقق بانتظام من وجود تحديثات وتحديث جميع المكونات المستخدمة على موقع الويب الخاص بك. يمكن أن تكون هذه مهمة شاقة في البرامج والمواقع ذات المكونات الثقيلة. لهذا السبب يوصي خبراء الأمان بالتحقق بانتظام من المكتبات والميزات والملفات والمكونات الأخرى غير الضرورية وغير المستخدمة وإزالتها. وبالطبع ، استخدم فقط المكونات من المصادر الرسمية. لا تنجذب إلى مواقع الويب التي توزع عادةً برامج مدفوعة مجانًا - يمكن تعديلها لاختراق موقع الويب الخاص بك.
كيفية إنشاء موقع آمن: المحصلة النهائية
لوضع جميع المعلومات التقنية الثقيلة في شروط الشخص العادي ، إليك النصائح الأمنية التي يجب اتباعها إذا كنت ترغب في إنشاء موقع ويب آمن:
- ابحث عن مضيف ويب موثوق.
- قم بتحديث جميع البرامج والأطر والمكتبات المستخدمة على موقع الويب الخاص بك بانتظام.
- قم بإزالة أي ميزات ومكونات غير ضرورية من موقع الويب الخاص بك.
- قم بإعداد أنظمة للتحقق من صحة الإدخال على جانبي المتصفح والخادم.
- راقب المعلومات المعروضة في رسائل الخطأ.
- قم بإعداد مدقق قوة كلمة المرور للمستخدمين.
- استخدم دائمًا كلمات مرور قوية للخوادم وصفحات الإدارة الخاصة بك ، وقم بتغييرها بانتظام.
- استثمر في شهادة SSL / استخدم بروتوكول HTTPS.
- قم بإعداد التسجيل المناسب للفشل والأخطاء.
- سجل معاملات التدقيق (خاصة إذا كان موقع التجارة الإلكترونية الخاص بك هو موقع ويب للتجارة الإلكترونية).
- مراقبة السجلات عن كثب.
- استخدم الخوادم السحابية ، لكن احمِ بياناتك مع ذلك.
- قم دائمًا بتشفير البيانات الحساسة باستخدام أحدث التقنيات.
- اجعل فريق الأمان لديك يراقب تحديثات الأمان الناشئة بالإضافة إلى التهديدات الجديدة حتى تتمكن من الرد على الهجمات في الوقت المناسب.
كم يكلف تأمين موقع على شبكة الإنترنت؟
هذا سؤال لا توجد إجابة محددة له. تعتمد تكلفة الأمن بشكل كبير على المكدس التقني الذي يستخدمه موقعك. بالإضافة إلى ذلك ، هناك تكلفة التحديثات ، والتي ستعتمد على عدد المكونات التي تحتاج إلى تحديثها ، وعدد مرات تحديثها ، ومقدار تكلفة تحديث كل منها. يجب أن يتم احتساب هذه التكاليف بشكل فردي من قبل مطوريك.
نوصي بشدة بمراعاة الأمن منذ بداية التطوير . قد يؤدي ترك مسألة الأمان حتى النهاية (والأرجح على الأرجح) إلى الحاجة إلى إدخال تغييرات على جوهر موقعك ، والتي يمكن أن تكون أكثر تكلفة من بناء الأمان منذ البداية.
استنتاج
إذا كنت مطورًا بنفسك أو تمتلك شركة تطوير أو لديك فريق تطوير داخلي ، يمكنك تعيين كل هذه المهام أمامهم. ومع ذلك ، إذا لم يكن لديك بالفعل متخصصون تقنيون إلى جانبك وترغب في معرفة كيفية إنشاء موقع ويب آمن مع مزود خارجي ، فإننا نوصي بإيجاد شركة تطوير لا يمكنها فقط إنشاء موقع ويب ولكن تدعمه. يكاد يكون من المستحيل التنبؤ بكل ثغرة ، ولكن القدرة على الرد على أي اختراق في الوقت المناسب يمكن أن تنقذ موقع الويب الخاص بك من أسوأ المصير.
يتمتع المطورون في Mind Studios بالخبرة في أفضل ممارسات الأمان ومواكبة أحدث الاتجاهات. إذا كانت لديك أسئلة حول كيفية تأمين موقع الويب الخاص بك من المتسللين ، فاتصل بنا للحصول على استشارة مجانية .
بقلم سفيتلانا فاراكسينا وأرتيم تشيرفيتشنيك