Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Yii
Code

بناء بدء التشغيل الخاص بك: أساسيات الأمان

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Building Your Startup With PHP.
Building Your Startup: Issue Tracking and Feature Planning
Building Your Startup: Ajax for Meeting Times and Places

Arabic (العربية/عربي) translation by ansgaradh (you can also view the original English article)

Final product image
What You'll Be Creating

هذا البرنامج التعليمي جزء من سلسلة Build Your Startup With PHP على Envato Tuts +. في هذه السلسلة ، أرشدك من خلال إطلاق شركة ناشئة من مفهوم إلى واقع باستخدام تطبيق مخطط الاجتماعات الخاص بي كمثال واقعي. في كل خطوة على طول الطريق ، سأصدر رمز مخطط الاجتماعات كأمثلة مفتوحة المصدر يمكنك التعلم منها. سوف أتطرق أيضا إلى القضايا التجارية ذات الصلة ببدء التشغيل عند ظهورها.

يعمل حاليًا خادم الإنتاج لمخطط الاجتماعات في Digital Ocean (راجع البرامج التعليمية الأخرى حولهم في Envato Tuts +.) في حلقة اليوم ، سنغوص في أساسيات أمان خادم الويب. سأغطي تأمين نظام تشغيل Linux VPS الذي يقوم بتشغيل مخطط الاجتماعات وبعض أمان Yii الأساسي. في الحلقة القادمة ، سأغوص أكثر في أمان التطبيق البرنامجي.

أشارك في سلاسل التعليقات أدناه ، لذا يرجى مشاركة ملاحظاتك. أشارك في سلاسل التعليقات أدناه ، لذا يرجى مشاركة ملاحظاتك. أشارك في سلاسل التعليقات أدناه ، لذا يرجى مشاركة ملاحظاتك.

للتذكير ، يتم كتابة كل رمز مخطط الاجتماع في إطار Yii2 لـ PHP. إذا كنت ترغب في معرفة المزيد عن Yii2 ، فتحقق من سلسلة البرمجة المتوازية مع Yii2.

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

استضافة و VPS الأمن

الموارد المشتركة

إذا كنت تقوم بتشغيل VPS لينكس عام ، قد ترغب في مراجعة البرنامج التعليمي السابق لـ Envato Tuts + ، تأمين تسجيل الدخول إلى الخادم الخاص بك . ويغطي عددًا من الخطوات التي سنقوم بزيارتها اليوم ، بما في ذلك أمن SSH وجدران الحماية.

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

Startup Series - 7 Security Measures via Digital Ocean - graphic of Hun-like invaders
عبر 7 تدابير أمنية للمحيط الرقمي لحماية خوادمك

في ما يلي ثلاث مقالات أخرى يقدمها والتي استخدمتها في الخلفية في هذا البرنامج التعليمي:

الحفاظ على تحديث الخادم

أولاً ، من الأهمية بمكان أن تجعل خادمك محدّثًا بالتحديثات والتحديثات المنتظمة. هذا يدمج تصحيحات الأمان من موفري البرامج (والمصدر المفتوح) الذي تستخدمه.

في ما يلي الخطوات الأساسية - ستكون على الأرجح معتادًا عليها:

يستخدم Dist-upgrade بعض الذكاء لإدارة ترابط الحزم المحدثة:

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

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

تكوين SSH تسجيل الدخول

Startup Series - SSH Key Authentication
صورة عبر 7 تدابير أمنية للمحيط الرقمي لحماية خوادمك

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

كما قمت بنقل تسجيل دخول SSH إلى منفذ مخصص ، وليس المنفذ 22 (شائعة الاستخدام).

إعداد جدار حماية

Startup Series - Firewall Request Filtering
صورة عبر 7 تدابير أمنية للمحيط الرقمي لحماية خوادمك

بعد ذلك ، قمت بتثبيت UFW ، وجدار الحماية غير المعقد:

ومع ذلك ، لم أقل نعم لهذا الطلب. ذكرني التحذير للتحقق مرة أخرى من جميع متطلبات SSH الخاصة بي.

على سبيل المثال ، قمت بإيقاف تشغيل منفذ SSH الافتراضي وقمت بتشغيل المنفذ الذي أستخدمه:

بعد ذلك ، قمت بتعيين طلب sudo للمستقبل لتعطيل UFW في حالة عدم صحة الإعدادات الخاصة بي:

بعد ذلك ، قمت بتمكين UFW وتم تشغيل الإعدادات المتبقية:

وهنا النتائج:

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

قمت أيضًا بتحرير تكوين UFW لتمكين جدار الحماية عند إعادة تشغيل الخادم:

بسبب أمر التعطيل المتأخر ، اضطررت إلى تمكين UFW مرة أخرى بعد خمس دقائق.

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

إعداد SSL

Startup Series - Lets Encrypt New Certificate Authority Free Automated and Open

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

وقد تلاحظ ، سمحت بالوصول إلى https على المنفذ 443 عند إعداد جدار الحماية أعلاه. الطلبات إلى http://meetingplanner.io تعيد التوجيه تلقائيًا إلىhttps://meetingplanner.io .

الابتداء مع تطبيق Yii2 Security

بالإضافة إلى أساس أمان Linux ، نحتاج أيضًا إلى التفكير في تأمين إطار Yii أعلى PHP. قد ترغب في قراءة Programming With Yii2: Security ، والذي سنراجع معظمه في الحلقة القادمة.

ومع ذلك ، اليوم ، سنقوم بتنفيذ بعض ميزات التحكم في الوصول الأساسية لمخطط الاجتماعات.

صلاحية التحكم صلاحية الدخول

واحدة من الفوائد الأولية لاستخدام إطار PHP MVC هي أن جميع طلبات الصفحات يتم توجيهها من خلال ملف index.php واحد. كما هو موضح في Programming With Yii2: Routing and URL Creation، يدير Yii بعناية الطلبات الواردة للصفحات ويوجهها إلى وحدات التحكم وأساليب العمل المناسبة.

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

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

تأمين طلبات طلب الواجهة الأمامية

في ما يلي مثال على عدد الزيارات الواردة إلى وحدة التحكم في الاجتماع والتي يستخدمها المستخدمون عادةً:

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

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

يسمح عنوان URL للأمر للمستخدمين الذين لم يسجلوا الدخول (بل وحتى المشاركين الذين لم يسبق لهم زيارة الموقع من قبل) بالوصول الآمن إلى صفحات محددة.

تأمين طلبات التطبيق الخلفية

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

لنلقِ نظرة على MessageController الخلفي لإرسال تحديثات البريد الإلكتروني على مستوى الموقع إلى مستخدمينا:

تضمن القاعدة المخصصة أن المستخدم ليس ضيفًا ويمر isAdmin () قبل إعادة توجيههم إلى الإجراء المناسب.  يتم إعادة توجيه المستخدمين الآخرين إلى صفحة تسجيل الدخول للجهة الخلفية.

لقد أنجزنا الكثير اليوم ، ولكن لا يزال هناك الكثير للقيام به.

أتطلع قدما

إذا قمت بتشغيل خادم ، فربما تكون قد قيمت مراجعة اليوم لأمن Linux الأساسي واستضافة الأمان.  في الحلقة القادمة ، سنقوم باستكشاف خطوات الأمان المتعلقة بشكل أكثر قربًا من Yii Framework وتطبيق Meeting Planner.

شاهد البرامج التعليمية القادمة في سلسلة إنشاء شركتك الناشئة مع PHP .  هناك المزيد من الميزات الكبيرة القادمة.

روابط ذات علاقة

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.