العودة إلى المدونة

إعداد جدار حماية باستخدام UFW على Ubuntu 18.04

إعداد جدار حماية باستخدام UFW على Ubuntu 18.04

يعد جدار الحماية أحد المكونات الأساسية لتأمين النظام. وهو مسؤول عن إدارة الاتصالات الواردة والصادرة عبر الشبكة. إنه خط الدفاع الأساسي لخوادمك وبياناتك. ولهذا السبب من الأهمية بمكان أن يكون لديك جدار حماية مهيأ بشكل جيد. في هذا الدليل، سنرشدك خلال خطوات إعداد جدار حماية باستخدام UFW على Ubuntu 18.04.

UFW على Ubuntu

يشير المصطلح UFW إلى “Uncomplicated Firewall” (جدار الحماية غير المعقد). وهو برنامج جدار حماية افتراضي يأتي مثبتًا مسبقًا مع Ubuntu. في الواقع، يعد UFW واجهة لـ iptables. الهدف من UFW هو تسهيل تكوين جدار الحماية وإدارته. في حين أن iptables، بحد ذاته، يعد خيارًا قويًا ومرنًا، إلا أنه ليس سهلاً للمبتدئين. يسهل UFW الأمر على كل من المبتدئين والمستخدمين ذوي الخبرة.

أولاً، ألقِ نظرة على دليلنا الشامل الذي سيساعدك على التعرف على وظائف UFW الأساسية. يمكنك أيضًا اتباع هذا الدليل لتثبيت خادم Ubuntu الخاص بك. الآن، دعنا نبدأ!

بادئ ذي بدء، إذا لم يكن UFW مثبتًا لديك لسبب ما، فقم بتثبيته على الفور:

تكوين UFW

  • استخدام IPv6

حتى الآن، لا يزال IPv4 هو القوة المهيمنة. ومع وضع ذلك في الاعتبار، فإن معظم هذا الدليل يتميز أيضًا بـ IPv4. لحسن الحظ، يأتي UFW أيضًا مع دعم لـ IPv6. كل ما عليك فعله هو تمكين الميزة من ملف تكوين UFW.

أولاً، افتح ملف تكوين UFW في محرر نصوص. لحفظ التغييرات، يجب تشغيل محرر النصوص بامتياز sudo:

ابحث عن “IPV6” وتأكد من تعيينه على “yes”.

  • السياسة الافتراضية

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

ستقوم الأوامر التالية فقط بإعادة تحديد السلوك الافتراضي لـ UFW. لاحظ أنه سيغير سلوك UFW إذا تم تعديله من قبل:

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

السماح باتصالات SSH

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

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

بدلاً من هذا الأمر، من الممكن تكوين السماح بالاتصالات بالمنفذ مباشرةً 22. تم تحديد هذا المنفذ تحت ملف /etc/services :

نظرًا لأن المنفذ 22 هو المنفذ الافتراضي لبرنامج SSH الخفي، فقد يكون أيضًا عرضة للهجوم. ماذا لو تم تكوين خادم SSH للاستماع على منفذ مختلف؟ في مثل هذه الحالة، يجب أن يسمح UFW بالاتصال بهذا المنفذ. بافتراض أن خادم SSH يستمع إلى المنفذ 1234، فاستخدم الأمر التالي:

تمكين UFW

بينما يتم إنشاء قواعد UFW، فإنها لن تفعل أي شيء ما لم يتم تنشيط UFW. بشكل افتراضي، يتم تعطيل UFW، مما يعني أنه على الرغم من الإعلان عن القواعد، فإنه لن يفرضها. لتمكين UFW، قم بتشغيل الأمر التالي:

قد يعرض UFW رسالة تحذير حول تعطيل اتصالات SSH الحالية. نظرًا لأنه تم تكوين اتصالات SSH للسماح بها، فلن يتسبب تمكين UFW في أي تعطيل. لمعرفة القواعد التي تم تعيينها، قم بتشغيل الأمر التالي:

السماح باتصالات مختلفة

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

فيما يلي بعض المنافذ الأخرى الشائع جدًا فتحها:

  • SSH (المنفذ 22): هذا هو المنفذ الافتراضي الذي تم تكوينه لاتصالات SSH.
  • HTTP (المنفذ 80): هذا هو المنفذ الافتراضي الذي تستخدمه خوادم الويب غير المشفرة.
  • HTTPS (المنفذ 443): هذا هو المنفذ الافتراضي الذي تستخدمه خوادم الويب المشفرة.

لتمكين اتصالات SSH، قم بتشغيل أي من الأمرين التاليين:

بعد ذلك، لتمكين اتصالات HTTP، قم بتشغيل أي من الأمرين التاليين:

لتمكين اتصالات HTTPS، قم بتشغيل أي من الأمرين التاليين:

نطاق المنافذ

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

المثال التالي يمكّن اتصالات X11 التي تستخدم المنافذ 6000 إلى 6007:

يوصى بالإعلان عن البروتوكولات كلما أمكن ذلك. ومع ذلك، في معظم الحالات، ليس ذلك ضروريًا وستعمل الأمور بشكل جيد تمامًا.

عناوين IP محددة

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

يمكنك أيضًا الإعلان عن المنافذ المحددة التي يُسمح لعنوان IP بالاتصال بها. للقيام بذلك، أضف to any port متبوعًا برقم المنفذ إلى الأمر:

الشبكات الفرعية

إذا كان لديك ضرورة للسماح بشبكة فرعية من عناوين IP، فمن الممكن القيام بذلك باستخدام تدوين CIDR. في هذا المثال، سيسمح UFW بالاتصال من عناوين IP التي تتراوح من 203.0.113.1 إلى 203.0.113.254:

على غرار الخطوة السابقة، من الممكن أيضًا تحديد المنفذ الذي يمكن لعناوين IP هذه الاتصال به:

الاتصال بواجهة شبكة محددة

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

 firewall with UFW on Ubuntu 18.04. 4

في حالتنا، لا توجد سوى واجهة شبكة واحدة ens3 التي تتصل بالإنترنت العام. للسماح بالاتصالات الواردة من واجهة الشبكة هذه، استخدم بنية الأمر التالية:

من الممكن أيضًا تحديد المنفذ الذي يمكن أن تصل إليه حركة المرور القادمة من واجهة الشبكة:

رفض الاتصال

وفقًا للتكوين الافتراضي، سيرفض UFW الاتصال من أي مصدر (باستثناء الاستثناءات المعلنة). هذه هي الطريقة الموصى بها لاستخدام UFW. ومع ذلك، قد يكون من الضروري حظر اتصالات معينة من عنوان IP أو شبكة فرعية معينة. ربما تم تعيين السلوك الافتراضي لـ UFW للسماح بجميع الاتصالات (غير موصى به).

لرفض اتصال من عناوين IP معينة، يتطلب UFW قواعد رفض. كتابة قواعد الرفض بسيطة للغاية. خذ أي قاعدة سماح، واستبدل مصطلح ”allow“ بـ ”deny“ وها هو ذا! تصبح قاعدة رفض.

ألقِ نظرة على المثال التالي. لرفض أي اتصال HTTP، استخدم قاعدة الرفض التالية:

لرفض الاتصال من 203.0.113.1، استخدم قاعدة الرفض التالية:

حذف القواعد

كل ما تعلمناه حتى الآن هو كيفية إنشاء القواعد. تمامًا كما يتم إنشاء القواعد، يمكن أيضًا حذفها. في حالة UFW، هناك طريقتان محددتان لحذف قاعدة.

  • حذف قاعدة حسب رقم القاعدة

هذه هي أبسط طريقة لحذف قاعدة UFW. كل قاعدة في UFW لها رقم قاعدة. الأمر التالي سيطبع جميع قواعد UFW مع رقم القاعدة:

 firewall with UFW on Ubuntu 18.04. 3

الأمر التالي سيحذف القاعدة المحددة بواسطة رقم القاعدة:

  • حذف القاعدة بواسطة القاعدة الفعلية

هذه هي الطريقة الأكثر صعوبة لحذف قاعدة. تتطلب تحديد القاعدة الفعلية يدويًا لحذفها. في المثال التالي، سيقوم UFW بحذف القاعدة المحددة بواسطة allow http:

كان يمكن أيضًا تحديد القاعدة بواسطة allow 80. في هذه الحالة، سيقوم الأمر التالي بحذفها:

حذف قاعدة سيؤدي إلى حذفها لكل من IPv4 و IPv6.

التحقق من حالة وقواعد UFW

من الضروري التأكد مما إذا كان UFW نشطًا أم لا. لتحديد حالة UFW، قم بتشغيل الأمر التالي:

 firewall with UFW on Ubuntu 18.04. 2

إذا كانت الحالة ”inactive“، فقم بتنشيطها باتباع الخطوة تمكين UFW أعلاه. إذا كان نشطًا، فسيقوم UFW بالإبلاغ عن الحالة ”active“ ويسرد جميع القواعد النشطة.

تعطيل UFW

إذا كنت لن تستخدم UFW لسبب ما، فقم بتعطيله باستخدام الأمر التالي:

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

 firewall with UFW on Ubuntu 18.04. 1

لاحظ أنه لن يغير سلوك UFW الافتراضي الذي تم تكوينه في البداية.

الخاتمة

يعد التكوين الصحيح لجدار الحماية ضروريًا لضمان الأمان والوظائف. يجب تكوينه للسماح فقط بالاتصالات الواردة الضرورية مع الحد من الاتصالات غير الضرورية.

إذا كنت ترغب في التعرف على المزيد من حلول جدران الحماية، فقم بإلقاء نظرة على مدونتنا لمزيد من الموارد:

حوسبة سعيدة!

author

Hark Labs

المؤلف · CloudSigma

Preslav Dobrev هو مصمم إبداعي في CloudSigma، يركز على هوية أعمال متسقة باستخدام قنوات التسويق التقليدية والمبتكرة. هو بارع في دمج الرؤية الفنية مع التسويق الاستراتيجي لخلق سرد قصصي مؤثر للعلامة التجارية.

التعليقات

لا توجد تعليقات بعد. كن أول من يعلق.