ستة عشر نصيحة أمنية لمطوّري القوالب والإضافات في WordPress

نشرت: 2021-10-19

لا يمكن للمرء أن يكون حذرا للغاية!

يتمثل جزء كبير من عملنا كمطورين في التأكد من أن المواقع والمكونات الإضافية التي نبنيها آمنة.

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

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

وبالتالي ، من الضروري بالنسبة لك تنفيذ بعض بروتوكولات الأمان الأساسية لتطوير مواقع الويب وتطبيقات الويب أثناء إنشاء مشروعك.
فيما يلي 16 نصيحة أمان لمطوري الويب ستساعد في الحفاظ على موقعك آمنًا وسليمًا.

1. اكتشف البيانات التي تحتاج إلى حماية

أحد أهم مبادئ أمان تطوير مواقع الويب هو أنك تحتاج فقط إلى تخزين البيانات الضرورية.
عندما تقوم بتطوير مشروع ما ، عليك أن تطرح الأسئلة الثلاثة التالية:

  • ما هي البيانات التي تحتاجها الشركة لتخزينها؟
  • ما هي البيانات الحساسة التي تحتاجها الشركة لتشفيرها؟
  • إذا تم اختراق البيانات لسبب ما ، فما مقدار الضرر الذي قد يلحق بالشركة؟

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

2. تنفيذ إدارة الدور والتحكم في الوصول

أثناء تصميم موقع ويب أو مكون إضافي أو سمة ، من المهم منح المستخدمين أقل امتيازات ممكنة.

يجب أن تكون الامتيازات محدودة بحيث يحصل المستخدم فقط على ما يحتاجه ولا يمكنه الوصول إلى مناطق أخرى.

على سبيل المثال ، يجب أن يقتصر المساهمون على القدرة على إنشاء منشورات وصفحات جديدة دون نشرها. يجب أن يكون المحررون قادرين على إنشاء منشورات جديدة ونشرها ولكن لا يمكنهم تغيير التصميم أو المكونات الإضافية.

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

إليك تمثيل تصويري سريع لكيفية ظهور الهيكل.

إدارة الأدوار وهيكل التحكم في الوصول

يقلل هذا النهج من المشكلات لأنه يمكننا الحد من مقدار الضرر الذي يمكن أن يحدثه دخيل. يمكنك أيضًا الحد من الضرر الناجم عن الأخطاء أو الأخطاء من قِبل مستخدم فضولي يعبث في مناطق من موقع الويب لا ينبغي أن يكون كذلك.

تحتاج أيضًا إلى تقييد الوصول داخل فريق التطوير اعتمادًا على دورهم.

3. تطبيق المصادقة

مصادقة موقع الويب هي عملية الأمان التي تسمح للمستخدمين بالتحقق من هوياتهم للوصول إلى المناطق المحظورة في موقع الويب.

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

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

تعد المصادقة ذات العاملين إحدى أكثر الطرق شيوعًا لتنفيذ المصادقة.

المصادقة الثنائية (2FA) هي عملية من خطوتين تحتاج فيها إلى رمز إضافي أو كلمة مرور لمرة واحدة (OTP) لتسجيل الدخول إلى موقعك بصرف النظر عن كلمة مرور موقع الويب الخاص بك. عادةً ما يتم إرسال OTP هذا إلى جهاز آخر من خلال رسالة نصية أو مكالمة هاتفية أو تطبيق 2FA معروف مثل Google Authenticator و Authy و Duo Security وغير ذلك الكثير. تنفيذ المصادقة الثنائية (2FA) يبقيك في مأمن من هجمات القوة الغاشمة.

إذا كنت تقوم بإنشاء موقع الويب الخاص بك في WordPress ، فتحقق من هذه الأدوات الرائعة التي تتيح لك تأمين موقع الويب الخاص بك.

  • الحد من محاولات تسجيل الدخول: تحميك هذه الأداة من هجمات القوة الغاشمة من خلال الحد من عدد محاولات تسجيل الدخول. ويشمل أيضًا مكافحة البريد العشوائي وتسجيل خروج المستخدم غير النشط تلقائيًا.
  • WP2 FA: يتيح لك المكون الإضافي WP2FA إضافة مصادقة ثنائية إلى موقع الويب الخاص بك في لحظة. كما أنه يدعم العديد من تطبيقات المصادقة الثنائية مثل Google Authenticator و Authy و FreeOTP و Duo Security والعديد من التطبيقات الأخرى.
  • Shield Security: لا يدعم هذا المكون الإضافي تطبيقات 2FA مثل Google Authenticator و SMS 2FA ، ولكنه مفيد لأولئك الذين يستخدمون YubiKey.
  • WPassword: يساعدك هذا المكون الإضافي على فرض كلمات مرور قوية لموقع WordPress الخاص بك ، وحظر المستخدمين الذين لديهم العديد من محاولات تسجيل الدخول الفاشلة والمزيد. يتكامل بسلاسة مع WooCommerce والمكونات الإضافية الأخرى التابعة لجهات خارجية.

4. تحقق من المظهر أو المكون الإضافي قبل إصداره

قبل إصدار سمة أو مكون إضافي ، تحتاج إلى التأكد من أن شفرتك خالية من الأخطاء بقدر الإمكان. يمكنك استخدام تبعيات معينة للمؤلف لاكتشاف أي ثغرة أمنية في التعليمات البرمجية الخاصة بك.

بعض التبعيات الموصى بها لمواقع WordPress هي:

  • Wpthemereview
  • معايير Wp- ترميز

تحتوي معايير الترميز هذه على قواعد تشفير صارمة مثل الهروب دائمًا من البيانات قبل طباعتها ، واستخدام nonce لجميع الطلبات ، وتعقيم بيانات الطلب قبل استخدامها ، وتوفير أذونات المستخدم المناسبة ، والمزيد للمساعدة في تأمين التعليمات البرمجية الخاصة بك.

تعتبر هذه الأدوات رائعة إذا كنت تقوم بتطوير المظهر أو المكون الإضافي الخاص بك.

يجب عليك أيضًا التحقق من WPScan Security Scanner. إنه ماسح ضوئي رائع لأمان موقع الويب يقوم بفحص موقع الويب الخاص بك بحثًا عن أي ثغرات أمنية.

5. تجنب بعض وظائف PHP

يمكن لبعض وظائف PHP ، مثل: Eval () و unserialize () ، كشف بيانات النظام ويمكن أن تؤدي إلى كشف بيانات الخادم مما قد يتسبب في إغلاق الخادم أو الوصول إلى جميع معلومات الخادم من المتسلل.

فيما يلي بعض وظائف PHP التي يجب تجنبها قدر الإمكان:

EVAL () : يمكن لـ EVAL تنفيذ تعليمات PHP البرمجية العشوائية. قد يعرض رموزك لهجمات الحقن إذا لم يتم استخدامها بشكل صحيح.

التسلسل () أو إلغاء التسلسل (): لا تستخدم التسلسل () أو إلغاء التسلسل () مع الإدخال الذي يوفره المستخدم. يمكن للمهاجمين استغلال هذه الوظائف. يمكنهم تمرير سلسلة مع كائن عشوائي متسلسل لتشغيل تعليمات برمجية عشوائية.

md5 () : الإنترنت مليء بالمراجعات حول نقاط ضعف التشفير md5 () 1 ويعتبر غير آمن. استخدم دالة تجزئة أفضل ، مثل SHA-2.

sha1 () : sha1 () هي وظيفة تجزئة أخرى لا ينبغي استخدامها بسبب الطبيعة السريعة لخوارزميات التجزئة. يوصى باستخدام خوارزمية التجزئة SHA-2 بدلاً من md5 () في أي إطار عمل حديث.

6. استخدم linters لإيجاد مشاكل في الكود

أداة lint هي أداة تحليل شفرة ثابتة أساسية تتحقق من شفرة المصدر الخاصة بك بحثًا عن أخطاء برمجية وأسلوبية. يجب أن تكون نبرة صوت إخراج Linter ودودة للحفاظ على تقدم المشروع.

تعد أكواد Lint طريقة رائعة للعثور على نقاط الضعف المحتملة وتقليل الأخطاء أثناء تطوير موقع ويب أو تطبيق. يمكنك استخدام رموز أمان معينة لتطوير PHP و JS و HTML.

فيما يلي بعض الأدوات البارزة للتحليل الثابت لرموز PHP الخاصة بك:

  • PHP-Parallel-Lint
  • سونار لينت
  • مزمور
  • PHP لينت

يمكنك أيضًا استخدام SonarLint لـ HTML و Javascript linting.

linters JS الأخرى الجديرة بالملاحظة هي:

  • شبيبة لينت
  • ES لينت

7. إزالة التعليمات البرمجية والإضافات غير المستخدمة

مع تزايد تعقيد البرامج ، تزداد أيضًا احتمالية وجود نقاط ضعف في التعليمات البرمجية. لا تختلف سمات WordPress والإضافات. تتيح الميزات المتزايدة باستمرار للرموز مثل HTML5 و CSS وجافا سكريبت للمطورين إنشاء تطبيقات ويب ثرية.

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

قد لا يحتاج المستخدمون المختلفون إلى جميع الميزات من موقع ويب أو تطبيق ويب. من خلال إزالة الميزات غير الضرورية بناءً على متطلبات المستخدم في كل عملية نشر ، يمكنك تقليل أسطح الهجوم والمخاطر المرتبطة بها.

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

8. استخدم التحقق من جانب الخادم والعميل

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

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

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

9. تعقيم أي إدخال للمستخدم وطلب البيانات

تعقيم مدخلات المستخدم هو مقياس للأمن السيبراني لتدقيق وتنظيف وتصفية البيانات من المستخدمين وواجهات برمجة التطبيقات لأي شخصية وسلاسل غير مصرح بها أو غير مرغوب فيها لمنع إدخال رمز ضار في النظام.

يمكن للقراصنة إدخال أوامر محددة وتنفيذ الإجراءات التي يمكن أن تعرض أمان موقع الويب الخاص بك للخطر. يساعد تعقيم المدخلات في الحفاظ على تكامل البيانات وتحسين أمان النظام.

10. تطبيق إصلاحات دائمة

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

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

11. تجنب التهيئة الأمنية الخاطئة والافتراضات

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

غالبًا ما يحدث التهيئة الخاطئة لأن النظام أو مسؤول قاعدة البيانات أو المطور لم يقم بتكوين إطار عمل التطبيق بشكل صحيح مما يؤدي إلى مسارات مفتوحة خطيرة للقراصنة.

تأكد من أن الإعداد الافتراضي آمن ولا تقم بتعيين كلمات المرور تلقائيًا (إذا لزم الأمر). على سبيل المثال ، إذا كان المكون الإضافي يستخدم دليلًا حيث يمكن للمستخدمين تحميل الملفات ، فاطلب دائمًا من المستخدمين تعيين كلمات المرور ومسار الدليل.

12. ابق على اطلاع دائم

الأمن السيبراني هو مجال دائم التطور. يجب أن تكون على دراية بآخر تحديثات الأمان والمخاطر الناشئة حتى تتمكن من مواكبة التطورات وتخفيف التهديدات الجديدة والناشئة في التعليمات البرمجية الخاصة بك.

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

للقيام بذلك ، اتبع الخبراء عبر الإنترنت وابقَ على اطلاع دائم بمدونة تطوير الويب المفضلة لديك. أنت تقرأ هذا بالفعل. لذلك أنت في بداية جيدة.

فيما يلي بعض من أفضل الموارد حول أمان WordPress.

  • مدونة WP White Security
  • مدونة WordFence
  • مدونة Sucuri

13. الحفاظ على الكود

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

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

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

14. قم بتحديث حزم البرامج الخاصة بك بانتظام

إنه لا يحتاج إلى تفكير.

يساعد الحفاظ على تحديث حزم البرامج مثل PHP و Javascript و HTML وغيرها على معالجة مشكلات الأمان الجديدة. يعد تحسين أمان البرامج دائمًا مصدر قلق مستمر ، وتحقيقاً لهذه الغاية ، فإننا نبقى على اطلاع دائم بأحدث إصدار من هذه البرامج.

15. تعاون مع فريقك

قم بتدوين بطاقات الأمن التي يتم رفعها لفريق الدعم الخاص بك. إذا أبلغ عملاؤك عن أي مشكلات أمنية ، فاجعل معالجتها أولوية. يقدم المستخدم النهائي أفضل التعليقات على عملك ، لذا استخدمه جيدًا!

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

16. تعد نفسك لأسوأ سيناريو

لا يمكنك أن تكون حذرا للغاية. لا يمكن أن يكون الويب وأي شيء منشور على الويب آمنًا بنسبة 100٪. ومع ذلك ، يمكنك اتخاذ الخطوات التي يمكن أن تساعد في التخفيف من المخاطر.

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

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

ستسمح مثل هذه الخطة لجميع أصحاب المصلحة بإصلاح الأمور بسرعة دون إغراقها بالحمل الزائد للمعلومات أو المبالغة في رد الفعل بإجراءات غير ضرورية.

افكار اخيرة

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

الحقيقة هي أنه لا يمكنك منع جميع الهجمات الإلكترونية أو التخفيف من كل المخاطر التي يمكن تصورها. يجب أن يكون هدفك أن تفعل ما تستطيع مع ما لديك وأن تعيد النظر باستمرار في الكود الخاص بك لتحسينه.

ضع خطة أمان واضحة المعالم لموقعك على الويب وكن مستعدًا لمواجهة الأسوأ. تأكد من أخذ التذاكر أو التقارير المتعلقة بالأمن كأولوية قصوى.

انشر منشور مدونة أو إعلانًا داخل مجتمعك بأنك أصدرت إصلاحًا أمنيًا حتى يتمكن جميع المستخدمين لديك من التحديث وتجنب اختراق مواقعهم الإلكترونية.

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

المراجع المستخدمة في هذه المقالة [ + ]

المراجع المستخدمة في هذه المقالة
1 https://www.codeproject.com/Articles/11643/Exploiting-MD5-collisions-in-C