ديف أوبس

التحكم في البيانات باستخدام Iptables وFirewallD

التحكم في حركة البيانات على الشبكة باستخدام Iptables وFirewallD على Red Hat Enterprise Linux

مقدمة

يعد التحكم في حركة البيانات عبر الشبكة من أهم جوانب تأمين الشبكات وحمايتها من الهجمات والتهديدات المتنوعة. يوفر نظام التشغيل Red Hat Enterprise Linux (RHEL) العديد من الأدوات لإدارة حركة البيانات عبر الشبكة، ومن أبرز هذه الأدوات Iptables وFirewallD. يهدف هذا المقال إلى تسليط الضوء على كيفية استخدام هذه الأدوات للتحكم في حركة البيانات على الشبكة، وكيفية تكوينها على نظام Red Hat Enterprise Linux لضمان أمان الشبكة وسلامتها.

Iptables: أداة أساسية للتحكم في حركة البيانات

Iptables هو الجدار الناري التقليدي في أنظمة Linux، ويعمل على فحص البيانات الواردة والصادرة من وإلى النظام. يعتمد Iptables على القواعد والأنماط التي يتم تعريفها في Tables متعددة لتحديد كيفية تعامل النظام مع حركة البيانات. يحتوي على ثلاث جداول رئيسية هي:

  1. filter: هي الجدول الافتراضي الذي يحتوي على القواعد الخاصة بالقبول أو الرفض للبيانات.

  2. nat: يستخدم لتحويل عنوان الشبكة (Network Address Translation) عند مرور البيانات.

  3. mangle: يستخدم لتعديل خصائص البيانات مثل تحديد نوع الخدمة (QoS).

  4. raw: يستخدم في عمليات فحص الحزم قبل تعديل البيانات.

كل جدول يحتوي على سلسلة (Chains) تتحدد فيها كيفية فحص البيانات. السلاسل الأكثر استخدامًا هي:

  • INPUT: لمعالجة الحزم الواردة إلى النظام.

  • OUTPUT: لمعالجة الحزم الصادرة من النظام.

  • FORWARD: لمعالجة الحزم التي يتم توجيهها إلى نظام آخر.

كيف يعمل Iptables؟

عند مرور البيانات عبر Iptables، يتم فحص الحزم وفقًا للقواعد المُعرفة في Chains و Tables، ويتم اتخاذ القرارات بناءً على هذه القواعد. على سبيل المثال، قد يتم السماح أو منع الحزم بناءً على عنوان IP المصدر أو الوجهة، البروتوكول المستخدم، المنفذ (Port)، أو نوع الحزمة.

إعداد قواعد Iptables

تتمثل عملية إعداد قواعد Iptables في تحديد شروط معينة يجب أن تتوافر في الحزم المعنية. يمكن تنفيذ ذلك باستخدام الأوامر التالية:

  1. إعداد قاعدة للسماح بالوصول إلى منفذ معين (مثال: منفذ HTTP 80):

    bash
    iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  2. إعداد قاعدة لحظر جميع الحزم الواردة:

    bash
    iptables -A INPUT -j DROP
  3. حفظ القواعد بعد التعديل:

    bash
    service iptables save

مميزات وعيوب Iptables

  • المميزات:

    • مرونة عالية: يمكن تخصيص القواعد بشكل دقيق ليتناسب مع متطلبات الأمان.

    • أداء عالٍ: يتميز Iptables بالأداء العالي بسبب بساطته في الفحص والتنفيذ.

  • العيوب:

    • صعوبة في إدارة القواعد: مع زيادة عدد القواعد المعقدة، يصبح من الصعب إدارة Iptables.

    • عدم توفر واجهة رسومية: يفتقر Iptables إلى واجهة رسومية مما يجعل من الصعب على المستخدمين الجدد التفاعل مع الأداة.

FirewallD: الجدار الناري المتقدم

FirewallD هو أداة حديثة تم تطويرها لتحل محل Iptables في أنظمة Red Hat Enterprise Linux و CentOS و Fedora. يوفر FirewallD واجهة رسومية وواجهة سطر أوامر أكثر مرونة وسهولة في الاستخدام، مما يجعله مناسبًا للإعدادات الأكثر تعقيدًا والبيئات التي تتطلب تحديثات مستمرة للقواعد.

كيفية عمل FirewallD

تعمل FirewallD باستخدام Zones لتحديد مستوى الأمان بناءً على موقع الشبكة. يمكن تعريف Zones مختلفة حسب مكان الاتصال (مثل الشبكة الداخلية أو الإنترنت) وضبط القواعد بناءً على كل Zone. تتيح هذه التقنية مرونة أكبر في إدارة القواعد مقارنةً بـ Iptables.

الإعداد الأساسي ل FirewallD

  1. إدارة الخدمة (بدء ووقف الخدمة):

    • بدء الخدمة:

      bash
      systemctl start firewalld
    • إيقاف الخدمة:

      bash
      systemctl stop firewalld
  2. عرض حالة الخدمة:

    bash
    systemctl status firewalld
  3. تحديد الـ Zone الافتراضي:

    bash
    firewall-cmd --set-default-zone=public
  4. إضافة قاعدة للسماح بمنفذ HTTP:

    bash
    firewall-cmd --zone=public --add-port=80/tcp --permanent
  5. إعادة تحميل القواعد بعد التعديل:

    bash
    firewall-cmd --reload

Zones في FirewallD

تعتمد FirewallD على Zones لتحديد السياسات الأمنية، حيث تمثل كل Zone مجموعة من القواعد التي تتعلق بالشبكة التي يتصل بها النظام. من بين Zones الرئيسية في FirewallD نجد:

  • public: يشير إلى الشبكة العامة، والتي تتطلب مستويات أمان عالية.

  • internal: يشير إلى الشبكات الداخلية ذات الثقة العالية.

  • dmz: تشير إلى منطقة DMZ (المنطقة المنزوعة من الثقة) التي يتم الوصول إليها من الإنترنت.

مميزات وعيوب FirewallD

  • المميزات:

    • سهولة في الإدارة: يمكن إدارة FirewallD بسهولة باستخدام الأوامر أو الواجهة الرسومية.

    • مرونة في إدارة الأمان: يسمح بتخصيص الأمان بناءً على Zones لتوفير مستويات حماية مناسبة لكل حالة.

  • العيوب:

    • أداء أقل مقارنة بـ Iptables: في بعض الحالات، يمكن أن يكون FirewallD أبطأ قليلاً من Iptables بسبب تعقيد نظام Zones.

    • تعلم جديد: يحتاج المستخدمون الذين اعتادوا على Iptables إلى بعض الوقت للتكيف مع FirewallD.

التكامل بين Iptables وFirewallD

على الرغم من أن FirewallD قد أصبح الخيار الافتراضي في الإصدارات الحديثة من Red Hat Enterprise Linux، إلا أن العديد من الأنظمة لا تزال تستخدم Iptables كأداة رئيسية للتحكم في حركة البيانات. ومن الجدير بالذكر أن FirewallD يستخدم في الواقع Iptables أو nftables في الخلفية لتنفيذ القواعد.

كيفية استخدام Iptables وFirewallD معًا

يمكن للمستخدمين استخدام FirewallD مع Iptables في نفس الوقت، ولكن يتعين الحذر من تعارض القواعد بين الأداتين. في حالة تفعيل FirewallD، يجب أن يتأكد المسؤولون من أن Iptables لا يتعارض مع القواعد المُعرفة في FirewallD، لأن FirewallD قد يقوم بإيقاف أو تعديل بعض قواعد Iptables عند التبديل بين Zones.

استراتيجيات لتحسين الأمان باستخدام Iptables وFirewallD

  1. التصفية الدقيقة: يمكن إنشاء قواعد دقيقة بناءً على عنوان IP، البروتوكول، والمنفذ لضمان التحكم الكامل في حركة البيانات.

  2. إعداد الـ Zones: باستخدام FirewallD، يمكن تخصيص الأمان استنادًا إلى نوع الشبكة التي يتصل بها النظام.

  3. تسجيل المحاولات المشبوهة: يمكن تكوين Iptables وFirewallD لتسجيل المحاولات المشبوهة، مما يساعد في مراقبة الأنشطة غير المشروعة.

  4. الحد من الوصول: باستخدام القواعد الخاصة بـ Iptables وFirewallD، يمكن تحديد من يُسمح له بالوصول إلى الخدمات المختلفة مثل SSH أو HTTP.

خاتمة

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