الافراج عن جدار الحماية 1.0

تم تقديم إصدار لجدار الحماية الذي يتم التحكم فيه ديناميكيًا firewalld 1.0، والذي تم تنفيذه على شكل غلاف فوق مرشحات حزم nftables وiptables. يعمل جدار الحماية كعملية خلفية تسمح لك بتغيير قواعد تصفية الحزم ديناميكيًا عبر D-Bus دون الحاجة إلى إعادة تحميل قواعد تصفية الحزم أو قطع الاتصالات القائمة. تم استخدام المشروع بالفعل في العديد من توزيعات Linux، بما في ذلك RHEL 7+ وFedora 18+ وSUSE/openSUSE 15+. كود جدار الحماية مكتوب بلغة Python ومرخص بموجب ترخيص GPLv2.

لإدارة جدار الحماية ، يتم استخدام الأداة المساعدة firewall-cmd ، والتي ، عند إنشاء القواعد ، لا تعتمد على عناوين IP وواجهات الشبكة وأرقام المنافذ ، ولكن على أسماء الخدمات (على سبيل المثال ، لفتح الوصول إلى SSH ، تحتاج لتنفيذ "firewall-cmd -add -service = ssh" ، لإغلاق SSH - "firewall-cmd --remove --service = ssh"). يمكن أيضًا استخدام الواجهة الرسومية لـ firewall-config (GTK) وبرنامج جدار الحماية الصغير (Qt) لتغيير تكوين جدار الحماية. يتوفر دعم إدارة جدار الحماية عبر D-BUS API firewalld في مشاريع مثل NetworkManager و libvirt و podman و docker و fail2ban.

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

  • تم الإعلان عن أن الواجهة الخلفية التي سمحت لها بالعمل فوق iptables أصبحت قديمة. سيتم الحفاظ على دعم iptables في المستقبل المنظور، ولكن لن يتم تطوير هذه الواجهة الخلفية.
  • يتم تمكين وتنشيط وضع إعادة التوجيه داخل المنطقة افتراضيًا لجميع المناطق الجديدة، مما يسمح بحرية حركة الحزم بين واجهات الشبكة أو مصادر حركة المرور داخل منطقة واحدة (عامة أو محظورة أو موثوقة أو داخلية وما إلى ذلك). لإعادة السلوك القديم ومنع إعادة توجيه الحزم داخل منطقة واحدة، يمكنك استخدام الأمر "firewall-cmd –permanent –zone public –remove-forward".
  • تم نقل القواعد المتعلقة بترجمة العناوين (NAT) إلى عائلة بروتوكول "inet" (التي تمت إضافتها مسبقًا إلى عائلات "ip" و"ip6"، مما أدى إلى الحاجة إلى تكرار القواعد لـ IPv4 وIPv6). سمح لنا هذا التغيير بالتخلص من التكرارات عند استخدام ipset - فبدلاً من ثلاث نسخ من إدخالات ipset، يتم الآن استخدام نسخة واحدة.
  • الإجراء "الافتراضي" المحدد في المعلمة "--set-target" أصبح الآن يعادل "الرفض"، أي. سيتم حظر كافة الحزم التي لا تندرج ضمن القواعد المحددة في المنطقة بشكل افتراضي. يتم إجراء استثناء فقط لحزم ICMP، والتي لا يزال مسموحًا لها بالمرور. لإرجاع السلوك القديم للمنطقة "الموثوقة" التي يمكن الوصول إليها بشكل عام، يمكنك استخدام القواعد التالية: firewall-cmd —permanent —new-policyallowForward firewall-cmd —permanent —policyallowForward —set-target ACCEPT firewall-cmd —permanent — السياسة تسمح للأمام - إضافة دخول - منطقة جدار الحماية العام - cmd - دائمة - سياسة تسمح للأمام - جدار الحماية الموثوق به لمنطقة إضافة الخروج - إعادة التحميل
  • يتم الآن تنفيذ سياسات الأولوية الإيجابية مباشرة قبل تنفيذ قاعدة "--set-target cat-all"، أي. في اللحظة التي تسبق إضافة الإسقاط النهائي، قواعد الرفض أو القبول، بما في ذلك المناطق التي تستخدم "--set-target drop|reject|accept".
  • ينطبق حظر ICMP الآن فقط على الحزم الواردة الموجهة إلى المضيف الحالي (الإدخال) ولا يؤثر على الحزم المعاد توجيهها بين المناطق (الأمام).
  • تمت إزالة خدمة عميل tftp، المصممة لتتبع الاتصالات لبروتوكول TFTP، ولكنها كانت في شكل غير قابل للاستخدام.
  • لقد تم إهمال الواجهة "المباشرة"، مما يسمح بإدراج قواعد تصفية الحزم الجاهزة مباشرة. اختفت الحاجة إلى هذه الواجهة بعد إضافة القدرة على تصفية الحزم المعاد توجيهها والصادرة.
  • تمت إضافة معلمة CleanupModulesOnExit، والتي تم تغييرها إلى "لا" افتراضيًا. باستخدام هذه المعلمة، يمكنك التحكم في تفريغ وحدات kernel بعد إيقاف تشغيل جدار الحماية.
  • يُسمح باستخدام ipset عند تحديد النظام المستهدف (الوجهة).
  • تمت إضافة تعريفات لخدمات WireGuard وKubernetes وnetbios-ns.
  • تم تنفيذ قواعد الإكمال التلقائي لـ zsh.
  • تم إيقاف دعم Python 2.
  • تم اختصار قائمة التبعيات. لكي يعمل جدار الحماية، بالإضافة إلى Linux kernel، يلزم الآن مكتبات python الوحيدة dbus وgobject وnftables، ويتم تصنيف حزم ebtables وipset وiptables على أنها اختيارية. تمت إزالة مصمم وقسيمة مكتبات بايثون من التبعيات.

المصدر: opennet.ru

إضافة تعليق