
نصوص برمجية للعميل/الخادم مصممة لاختبار قواعد جدار الحماية للاتصالات الصادرة (egress).
برامج نصية للعميل/الخادم مصممة لاختبار قواعد جدار الحماية الصادر (egress).
Egresser هي أداة لتعداد قواعد جدار الحماية الصادرة، مصممة لمختبري الاختراق لتقييم ما إذا كان ترشيح الحركة الصادرة (egress filtering) كافياً داخل شبكة الشركة. من خلال فحص كل منفذ TCP بدوره، يستجيب خادم Egresser بعنوان IP ومنفذ المصدر الخاص بالعميل، مما يسمح للعميل بتحديد ما إذا كان المنفذ الصادر مسموحاً به (على كل من IPv4 و IPv6) وتقييم ما إذا كان من المرجح أن يتم اجتياز NAT.
كيف يعمل
يعمل البرنامج النصي من جانب الخادم بالتنسيق مع Iptables - حيث يعيد توجيه كل حركة مرور TCP إلى المنفذ 8080 حيث يقع الخادم "الحقيقي". البرنامج النصي من جانب الخادم مكتوب بلغة Perl وهو خادم pre-forking يستخدم Net::Server::Prefork، ويستمع على كل من IPv4 و IPv6 إذا كانا متاحين. أي اتصال TCP ينتج عنه استجابة بسيطة تحتوي على سلسلة تنتهي بعلامة null تتكون من عنوان IP ومنفذ العميل المتصل. لا تتردد في استخدام Telnet للتفاعل مع الخدمة إذا كنت في بيئة مقيدة دون الوصول إلى عميل Egresser (يمكن العثور على خادم Egresser الخاص بنا على egresser.labs.cyberis.co.uk، ويمكنك استخدامه بحرية للأغراض المشروعة).
العميل مكتوب أيضاً بلغة Perl وهو متعدد الخيوط (threaded) من أجل السرعة. بشكل افتراضي، سيفحص منافذ TCP من 1 إلى 1024، على الرغم من أن هذا قابل للتهيئة داخل البرنامج النصي. من الممكن فرض IPv4 باستخدام وسيط سطر الأوامر ‘-4’، أو IPv6 باستخدام ‘-6’؛ بشكل افتراضي سيختار البروتوكول المفضل لنظام التشغيل لديك. إذا كنت تريد سرد جميع المنافذ المفتوحة/المغلقة بشكل صريح، فحدد علامة الإسهاب (verbose) (-v)، لأن الإخراج العادي هو ملخص موجز للمنافذ المسموح بها فقط.
لماذا؟
يُوصى بتقييد قواعد جدار الحماية الصادرة داخل بيئات الشركات لضمان عدم التحايل بسهولة على ضوابط الحدود (perimeter controls). على سبيل المثال، قد يسمح ترشيح الحركة الصادرة (egress filtering) غير الكافي داخل المؤسسة لمستخدم ضار بتجاوز وكيل الويب الذي يوفر التصفية/مكافحة الفيروسات/التسجيل ببساطة عن طريق تغيير إعدادات الاتصال في المتصفح. كما توجد أمثلة أخرى كثيرة - فالعديد من الديدان تنتشر عبر بروتوكولات SMB، ويمكن للبرمجيات الخبيثة استخدام قنوات عديدة لتسريب البيانات، كما يمكن للبرمجيات غير المصرح بها (مثل مشاركة الملفات عبر التورنت/P2P) أن تعمل بحرية، مما يهدر موارد الشركة ويزيد بشكل كبير من احتمال إدخال تعليمات برمجية خبيثة إلى البيئة.
بشكل عام، يُنصح بتقييد جميع البروتوكولات الصادرة، مع السماح باستثناءات من مضيفين محددين على أساس كل حالة على حدة. يجب أن يتم تصفح الويب عبر وكلاء ويب مخصصين فقط، مع تسجيل أي اتصالات مباشرة يتم محاولتها بواسطة جدار الحماية الطرفي والتحقيق فيها حسب الحاجة. Egresser هي أداة بسيطة الاستخدام تسمح لمختبري الاختراق بتعداد المنافذ المسموح بها بسرعة داخل بيئة الشركة.
iptables 1.4.17 أو أعلى، ونواة (kernel) 3.7+ مطلوبة لدعم ipv6 nat.
وحدات Perl التالية مطلوبة للعميل:
Thread::Queue ;
IO::Socket::IP;
Getopt::Long;
وحدات Perl التالية مطلوبة للخادم:
Net::Server::PreFork
يُرجى الإبلاغ عن جميع المشكلات عبر https://github.com/cyberisltd/Egresser/issues