ابنِ الفكرة أولًا، ثم استخدم النشاط التالي للتحقق منها.
التصفية حسب الخدمة، لا حسب المضيف فقط
إضافة البروتوكول والمنفذ إلى قاعدة، والإجابات الثلاث التي قد يعطيك إياها منفذ محجوب.
ما ستكون قادرًا على فعله
- اكتب قاعدة تسمح بخدمة واحدة لا بمضيف واحد
- اشرح لماذا يُعدّ السماح الخاص بمنفذ أقل شكل من أشكال الامتياز
- ميّز منفذًا مفتوحًا ومرفوضًا ومصفّى من الاستجابة
- اشرح لماذا يتفوق الإسقاط على الرفض بالنسبة لقاعدة يُراد لها أن تكون صامتة
قبل هذا: تحتاج إلى ترتيب أول تطابق والرفض الضمني من "تصفية المرور باستخدام قائمة تحكم بالوصول"، والمنافذ من "TCP وUDP والمنافذ".
لماذا يهم: القاعدة التي تسمح لمضيف بالوصول إلى آخر تسمح بكل خدمة عليه - قاعدة البيانات، واجهة الإدارة، وأي شيء يُثبّت العام القادم. تسمية الخدمة هي الفرق بين قائمة وصول تعبّر عن نية وأخرى تقاربها فقط.
قائمة الوصول التي تتناول الأسماء فقط تجيب على السؤال «هل يمكن أن يتحدث هذان الجهازان». نادرًا ما يكون هذا هو السؤال الذي طرحه أي شخص بالفعل. يتعلق الطلب الحقيقي دائمًا بالخدمة - يحتاج فريق الويب إلى منفذ التطبيق، ويحتاج المدقق إلى قراءة نظام واحد، وشبكة الضيوف تحتاج إلى الإنترنت ولا شيء داخلي.
إضافة الخدمة إلى قاعدة
يمكن أن تتطابق القاعدة في بروتوكول النقل ومنفذ الوجهة بالإضافة إلى العناوين. نفس ترتيب المباراة الأولى، نفس الرفض الضمني في النهاية - حقل آخر للمباراة عليه.
# Permits everything between these two hosts
permit src 10.30.10.25 dst 10.30.30.10
# Permits one service, and nothing else, between the same two
permit src 10.30.10.25 dst 10.30.30.10 tcp dport 443
منفذ الوجهة هو المنفذ الذي يحدد الخدمة، لأنه المنفذ الذي يستمع إليه الخادم. يتم اختيار منفذ المصدر عشوائيًا من قبل العميل لكل اتصال وليس من المفيد مطابقته - مطابقته هي خطأ مبكر شائع وتنتج قاعدة تعمل مرة واحدة ثم تتوقف.
عودة حركة المرور
يحتاج الطلب الذي يخرج إلى رد، ويصل الرد إلى منفذ المصدر العشوائي الذي اختاره العميل. يجب أن تسمح قائمة عديمي الجنسية بمجموعة واسعة من المنافذ الواردة للسماح بالردود على الإطلاق، الأمر الذي يبطل الكثير من الدقة المكتسبة للتو.
المطابقة في حالة الاتصال تحل هذا بشكل صحيح. يتتبع جدار الحماية الاتصالات التي يسمح بها للخارج ويعترف بالردود التي تنتمي إليها، بدون قاعدة تسمح لأي شخص ببدء اتصال جديد وارد.
# Replies to connections we already allowed out
permit ct state established,related
# One service, inbound, from one source
permit src 10.30.10.25 dst 10.30.30.10 tcp dport 443
الإجابات الثلاثة
عندما لا ينجح الاتصال بمنفذ، فإن الطريقة التي يفشل بها تخبرك بشيء محدد. هذا أمر يستحق المعرفة للتشخيص ولأنه يقرر كيفية كتابة قاعدة الرفض.
| النتيجة | ماذا حدث | ماذا يعني ذلك |
|---|---|---|
| افتح | اكتمل الاتصال | هناك شيء يستمع ولا شيء يصفيه. |
| تم رفضه | عادت إعادة الضبط على الفور | وصلت الحزمة إلى المضيف وحصلت على رد - إما أنه لا يوجد شيء يستمع إليها، أو أن القاعدة رفضتها |
| تمت تصفيته | لا توجد استجابة على الإطلاق، حتى انتهاء المهلة | شيء ما تم تجاهله بصمت |
الإشارة المميزة هي الوقت. يعود الرفض على الفور بسبب الرد على شيء ما. تستغرق عملية الإسقاط المهلة الكاملة لأنه لم يحدث شيء. يبدو كلاهما وكأنه «لم يتم الاتصال» إذا كنت لا تراقب الفرق.
السقوط ضد الرفض
| الإجراء | تم إرسال الرد | التأثير على الماسح الضوئي | التأثير على العميل الشرعي |
|---|---|---|---|
| قطرة | لا شيء | بطيء - كل منفذ يكلف مهلة كاملة | فشل بطيء، خطأ أقل وضوحًا |
| ارفض | إعادة تعيين فوري أو رسالة ICMP | سريع - يكتمل الفحص بسرعة | فشل سريع، خطأ أوضح |
الإسقاط هو الخيار الافتراضي الصحيح عند الحدود التي تواجه أي شيء غير موثوق به: يكلف المهاجم وقتًا ولا يكشف شيئًا عما هو موجود. الرفض أكثر لطفًا داخل الشبكة التي تتحكم فيها، حيث يؤدي الفشل السريع والواضح إلى إنقاذ شخص ما بعد الظهر من التشخيص ولا يوجد ماسح ضوئي للإحباط.
تدقيق وجد أكثر مما تقوله القاعدة
تمت كتابة القاعدة التي تسمح لطبقة الويب بالوصول إلى طبقة التطبيق حسب العنوان، لأنه في ذلك الوقت كان خادم التطبيق يقوم بتشغيل خدمة واحدة. يقوم الآن أيضًا بتشغيل قاعدة البيانات، على المنفذ الافتراضي الخاص به. لم يتغير أي شيء في قائمة الوصول ولا يوجد شيء خاطئ فيها - فقد حصلت خوادم الويب ببساطة على وصول مباشر إلى قاعدة البيانات في اليوم الذي بدأت فيه الخدمة، والقاعدة التي منحتها تمت كتابتها قبل سنوات لسبب مختلف.
التحقق حسب السلوك
لا تزال القاعدة التي تقرأ بشكل صحيح لا تعمل، ولا ينبغي وضع علامة خاطئة على المتعلم الذي حقق نفس النتيجة بشكل مختلف. فحص الفلتر يعني اختبار ما يحدث بالفعل من الجهاز المهم.
# Should connect
nc -w 3 10.30.30.10 443
# Should time out with no response at all
nc -w 3 10.30.30.10 3306
المصطلحات
- منفذ الوجهة
- المنفذ الذي يستمع إليه الخادم، والمنفذ الذي يحدد الخدمة في القاعدة.
- تصفية ذات حالة
- تتبع الاتصالات المسموح بها حتى يتم قبول الردود بدون قاعدة تسمح بالاتصالات الواردة الجديدة.
- تمت تصفيته
- منفذ يتم تجاهل حركة المرور الخاصة به بصمت، دون إعطاء أي استجابة.
- تم رفضه
- منفذ تم الرد عليه بإعادة الضبط - إما عدم الاستماع إلى أي شيء أو قاعدة الرفض.
أهم النقاط
- قم بمطابقة منفذ الوجهة للسماح بالخدمة؛ منفذ المصدر عشوائي وغير مفيد للمطابقة.
- يمنح تصريح العنوان فقط كل خدمة على هذا المضيف، بما في ذلك الخدمات المستقبلية.
- تسمح حالة الاتصال المطابقة بالردود دون السماح بالاتصالات الواردة الجديدة.
- إن الفتح والرفض والفلترة هي ثلاث نتائج متميزة، تتميز بما إذا كان أي شيء قد تم الرد عليه.
- عبر TCP، لا يمكن تمييز الرفض بصرف النظر عن الخدمة المتوقفة.
- قم بالإسقاط عند حدود غير موثوق بها؛ قم بالرفض داخل شبكة حيث تساعد الأخطاء الواضحة أكثر من تكلفتها.
مستعد للمتابعة؟
أنشئ حسابًا مجانيًا لحفظ تقدمك وأداء اختبار المعرفة.
