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

أساسيات UFW: تعلم أوامر جدار الحماية الأساسية

أساسيات UFW: تعلم أوامر جدار الحماية الأساسية

مقدمة

UFW هي اختصار لـ uncomplicated firewall (جدار الحماية غير المعقد). وهي عبارة عن منصة واجهة أمامية تتيح لك إدارة وظائف وأوامر جدار الحماية بسهولة. ستحصل على UFW كخيار افتراضي مع خادم Ubuntu الخاص بك. قد يكون تحقيق أقصى استفادة من إمكانات أوامر ووظائف جدار الحماية أمرًا صعبًا إذا لم تكن معتادًا بالفعل على هذه الأداة.

هدفنا هو تزويدك بدليل شامل يمكنك استخدامه كمبتدئ. سنقوم بتدعيم الشروحات بأمثلة على الإجراءات المختلفة التي يمكنك القيام بها باستخدام UFW. ستكون العديد من القواعد مفيدة جدًا للخدمات والأنشطة اليومية. فلنبدأ!

المتطلبات الأساسية

قبل المتابعة في القراءة، تأكد من ضبط UFW على مجموعة القواعد الافتراضية. هذا يعني أن جدار الحماية يسمح بحركة المرور الصادرة ولكنه يحظر حركة المرور الواردة. تكمن فائدة إعادة الضبط الافتراضية هذه في أنه يمكنك تحديد حركة المرور التي تريد السماح بمرورها عبر جدار الحماية. إذا لم تكن متأكدًا من حالة مجموعة القواعد الحالية على UFW الخاص بك، فاستخدم هذا الأمر للتحقق: sudo ufw status. يمكنك أيضًا استخدام هذا الأمر:

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

كيفية حظر عنوان IP

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

هنا، يشير from 15.15.15.51 إلى عنوان IP المصدر فقط، وهو '15.15.15.51'. إذا كانت هناك شبكة فرعية (subnet) تريد تحديدها بدلاً من ذلك، فيمكنك إضافتها على النحو التالي: 15.15.15.0/24. سيعمل الأمر بنفس الكفاءة. يمكنك تحديد عنوان IP المصدر هذا في أي قاعدة جدار حماية تريدها، مثل قاعدة السماح (allow).

  • حظر اتصالات واجهة الشبكة

في بعض الأحيان، قد يكون المطلوب هو حظر اتصالات الشبكة الصادرة من عنوان IP معين إلى واجهة شبكة معينة. إذا كان الأمر كذلك، فسنضطر إلى تحديد واجهة الشبكة جنبًا إلى جنب مع عنوان IP المصدر. في هذا المثال، لنعتبر عنوان IP المصدر هو 15.15.15.51 واجهة الشبكة هي eth0:

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

كيفية السماح باتصالات SSH

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

من خلال إنشاء اتصالات SSH، يمكنك إدارة خادمك السحابي بنجاح باستخدام جهازك المحلي. سنغطي هنا القواعد المختلفة ذات الصلة بتكوين جدار الحماية المرتبط بـ SSH:

  • السماح بـ SSH

استخدم الأمر التالي للسماح بجميع اتصالات SSH الواردة:

من ناحية أخرى، يمكنك أيضًا تنفيذ الأمر عن طريق تحديد رقم منفذ خدمة SSH بدلاً من ذلك:

  • السماح باتصالات SSH الواردة من عنوان IP محدد

في حال كنت تريد فقط السماح باتصالات SSH الواردة من عنوان IP أو شبكة فرعية محددة، فلديك القدرة على تحديد المصدر. على سبيل المثال، لنفترض أن الشبكة الفرعية التي تريد السماح بها هي 15.15.15.0/24. إليك الأمر الذي ستحتاج إلى تشغيله:

  • السماح باتصالات Rsync الواردة من عنوان IP محدد

يعمل Rsync على المنفذ 873، وهو يتيح لك نقل الملفات من نظام كمبيوتر إلى آخر. إذا كنت تريد فقط السماح باتصال Rsync القادم من عنوان IP أو شبكة فرعية محددة (في هذا المثال، 15.15.15.0/24)، فيمكنك القيام بذلك باستخدام هذا الأمر:

هذا يعني أنه سيتم السماح للشبكة الفرعية 15.15.15.0/24 بأكملها بإجراء Rsync إلى خادمك. إليك أيضًا دليل شامل تعليمي حول كيفية استخدام Rsync لمزامنة الأدلة المحلية والبعيدة على خادمك.

كيفية تكوين طلبات خادم الويب

بعد ذلك، سننتقل إلى القواعد المتعلقة بخدمة خادم الويب. خوادم الويب مثل Apache و Nginx تتلقى عمومًا طلبات اتصالات HTTP و HTTPS من منفذين: المنفذ 80 والمنفذ 443. يلبي المنفذ 80 طلبات HTTP. بينما المنفذ 443 مسؤول عن طلبات HTTPS.

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

  • السماح بجميع اتصالات HTTP

إذا كنت تريد السماح بجميع اتصالات وطلبات HTTP القادمة من المنفذ 80، فاستخدم الأمر:

يمكنك أيضًا استخدام رقم المنفذ (المنفذ 80) لتحديد خدمة HTTP في الأمر:

  • السماح بجميع اتصالات HTTPS

إذا كنت تريد السماح بجميع اتصالات وطلبات HTTPS القادمة من المنفذ 443، فقم بتشغيل هذا الأمر:

على غرار الأمر السابق، يمكنك استبدال 'https' برقم منفذ خدمة HTTPS:

  • السماح بجميع اتصالات HTTP و HTTPS

في حال كنت تريد السماح بكل من طلبات HTTP و HTTPS، يمكنك استخدام قاعدة جماعية لكليهما. من خلال هذا الأمر الفردي، يمكنك السماح بحركة المرور الواردة من كل من المنفذ 80 وكذلك المنفذ 443:

من الضروري استخدام الأمر proto tcp عندما تقوم بتحديد منافذ متعددة في نفس الوقت.

يمكنك أيضًا اتباع هذه الأدلة التفصيلية حول كيفية تأمين Nginx و Apache باستخدام Let’s Encrypt على Ubuntu.

كيفية السماح بـ MySQL

MySQL اتصالاتها تأتي عبر المنفذ 3306. سيتعين عليك استخدام قاعدة للسماح بحركة المرور الواردة إذا كان العميل يستخدم قاعدة بيانات MySQL الخاصة بك على خادم بعيد. اتبع الدليل التعليمي لمعرفة أساسيات MySQL وكيفية إعداد MySQL على خادم.

  • السماح بـ MySQL من عنوان IP محدد

كما رأينا بالفعل في القواعد السابقة، يجب عليك تحديد المصدر للسماح باتصالات MySQL الواردة. يمكن أن يكون مصدرك عنوان IP محددًا أو شبكة فرعية. في مثالنا، سنستخدم الشبكة الفرعية 15.15.15.0/24 بأكملها لتشغيل الأمر:

  • السماح بـ MySQL لواجهة شبكة محددة

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

كيفية السماح بـ PostgreSQL

تأتي اتصالات PostgreSQL عبر المنفذ 5432. على غرار اتصالات MySQL، إذا كان العميل يستخدم قاعدة بيانات PostgreSQL على خادم بعيد، فأنت بحاجة إلى السماح بحركة المرور الواردة. يمكنك القيام بذلك باستخدام الأوامر التالية.

  • السماح بـ PostgreSQL من عنوان IP محدد

إذا كنت تعلم أن اتصالات PostgreSQL قادمة من شبكة فرعية أو عنوان IP محدد، فيجب عليك تحديد المصدر. هنا، سنستخدم مثال الشبكة الفرعية 15.15.15.0/24 مرة أخرى:

في حال لم تكن سياسة المخرجات (OUTPUT) لديك مضبوطة على ACCEPT، سيتعين عليك تشغيل أمر ثانٍ. يسمح هذا الأمر بحركة المرور الصادرة لاتصالات PostgreSQL المنشأة بالفعل.

  • السماح بـ PostgreSQL لواجهة شبكة محددة

على غرار القاعدة السابقة، سنسمح باتصالات PostgreSQL لواجهة شبكة محددة. في حالتنا هذه هي eth1:

في حال لم تكن سياسة المخرجات (OUTPUT) لديك مضبوطة على ACCEPT، سيتعين عليك تشغيل أمر ثانٍ. يسمح هذا الأمر بحركة المرور الصادرة لاتصالات PostgreSQL المنشأة بالفعل. يمكنك معرفة كيفية إعداد PostgreSQL على Ubuntu باتباع برنامجنا التعليمي المفصل.

كيفية تكوين خوادم البريد

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

  • حظر بريد SMTP الصادر

قبل أن ننتقل إلى الأوامر التي تسمح بحركة المرور الواردة لخوادم البريد الخاصة بك، دعنا نرى كيف يمكنك حظر بريد SMTP mail الصادر. يمكنك استخدام هذا الأمر إذا كنت لا تريد أن يرسل خادمك أي بريد صادر. يستخدم بريد SMTP المنفذ 25. استخدم هذا الأمر لحظر حركة المرور هذه:

نتيجة لتشغيل هذا الأمر، سيقوم جدار الحماية الخاص بك بإسقاط جميع حركة المرور الصادرة على المنفذ 25. إذا كنت تريد حظر منفذ آخر، فما عليك سوى استبدال المنفذ '25' برقم المنفذ المناسب.

  • السماح بـ SMTP الوارد

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

  • السماح بـ IMAP الوارد

إذا كنت تريد السماح للخادم بإنشاء اتصال IMAP على المنفذ 143، فاستخدم الأمر التالي:

  • السماح بـ IMAPS الوارد

استخدم هذا الأمر للسماح للخادم بالاستجابة لاتصالات IMAPS على المنفذ 993:

  • السماح بـ POP3 الوارد

يمكّن هذا الأمر خادمك من الاستجابة لجميع اتصالات POP3 عبر المنفذ 110:

  • السماح بـ POP3S الوارد

أخيرًا، يمكنك السماح لخادمك بتلقي طلبات من المنفذ 995 لاتصالات POP3S باستخدام هذا الأمر:

الخاتمة

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

حوسبة سعيدة!

author

Akshay Nagpal

المؤلف · CloudSigma

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

التعليقات

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