دليل خطوة بخطوة لفتح البورت على لينكس (معظم التوزيعات)

هل تخطط لفتح بورت TCP أو UDP على نظام التشغيل Linux الخاص بك؟ 👨‍💻 في الدليل التفصيلي لفتح بورت في Linux (معظم التوزيعات) من Nooh Freestyle، نقدم لك طرقًا مختلفة لفتح بورت في توزيعات Linux المختلفة.

دليل خطوة بخطوة لفتح البورت على لينكس (معظم التوزيعات)

كيفية فتح بورت في لينكس

How To Open a Port on Linux

رقم البورت هو مفهوم افتراضي في شبكات الكمبيوتر يوفر معرف شبكة لخدمة أو برنامج. هذا الرقم عبارة عن عدد صحيح 16 بت من 0 إلى 65535 يتم دمجه مع عنوان IP لإنشاء مقبس اتصال الشبكة. ولكن هل يجب أن تسمح بالاتصالات الواردة أو الصادرة على نظام Linux الخاص بك؟ إذا كنت تستخدم برنامج جدار الحماية مثل Iptables أو Uncomplicated Firewall (UFW) أو Firewalld ، فيمكنك بسهولة فتح المنافذ من سطر الأوامر. بالنسبة لجدران الحماية مثل ConfigServer Firewall (CSF) وAdvanced Policy Firewall (ADP)، فإن إضافة أوامر جدار الحماية لفتح المنافذ أمر بسيط مثل تحرير ملف تكوين جدار الحماية الخاص بك.

قبل تغيير البورت في Linux، من المثير للاهتمام معرفة أنه يمكنك بسهولة فتح منافذ TCP وUDP في أي جدار حماية يستند إلى Linux. ويأتي Iptables مثبتًا مسبقًا على معظم توزيعات Linux ومن السهل جدًا تهيئته. أخيرًا، إذا كنت تستخدم جدار حماية، فإن إضافة –permanent flag إلى firewall-cmd commands ستضمن أن إيقاف جدار الحماية وإعادة تشغيله لن يؤدي إلى التراجع عن تغييراتك. فيما يلي، سوف ندرس بشكل كامل كيفية فتح بورت في نظام Linux.

عرض المنافذ المفتوحة على Linux

قبل فتح بورت على النظام، تحقق مما إذا كان البورت الذي تحتاجه مفتوحًا بالفعل. أسهل طريقة لعرض المنافذ المفتوحة في Linux هي الجمع بين مخرجات الأمر netstat والأمر grep. في المحطة الطرفية الخاصة بك، اكتب:

netstat -na | grep :[port-number]

يعطينا بناء الجملة أعلاه قائمة بمنافذ netstat المفتوحة التي تطابق عامل التصفية بعد grep. على سبيل المثال، للتحقق من توفر البورت 8080 على النظام، اكتب:

netstat -na | grep :8080

إذا كان البورت مغلقًا، فلن يُرجع الأمر أي إخراج.

استخدم أيضًا الأمر netstat التالي لعرض قائمة بمنافذ listening:

netstat -lntu

يمكنك رؤية أربعة خيارات في بناء الجملة هذا:

l ويبين لنا منافذ listening.

يشير n إلى القيمة العددية للمنافذ.

يشير كل من t و u إلى TCP وUDP.

دليل خطوة بخطوة لفتح المنافذ على Linux (معظم التوزيعات)

1- افتح البورت في نظام Linux باستخدام Iptables

لفتح بورت في نظام Linux، اتبع الخطوات التالية:

تغيير البورت في لينكس

قم بتسجيل الدخول إلى خادم Linux الخاص بك أو افتح نافذة طرفية. تحتوي معظم توزيعات Linux، بما في ذلك Ubuntu وDebian و CentOS و Fedora و Red Hat، على جداول IP مثبتة بالفعل. يمكنك فتح المنافذ في Iptables باستخدام أوامر بسيطة.

إغلاق البورت في لينكس

قم بتشغيل أمر service iptables status للتأكد من أن جدار الحماية الخاص بك نشط. إذا لم يكن جدار الحماية قيد التشغيل، فابدأ تشغيله باستخدام أمر بدء تشغيل service iptables status.

إغلاق البورت في لينكس

استخدم الأمر sudo iptables -L لسرد أوامر جدار الحماية الحالية

وتنقسم الأوامر إلى عدة فروع:

  • سلسلة INPUT: تستخدم لاتصالات الإدخال بالنظام المضيف.
  • السلسلة FORWARD: تستخدم للتوجيه.
  • سلسلة OUTPUT: تستخدم لإخراج البيانات من النظام المضيف.

لدى كل فرع سياسة تحدد ما يحدث للحزم الواردة. عند فتح بورت، يجب عليك تحديد السلسلة. على سبيل المثال، لفتح اتصالات SSH الواردة، يجب عليك استخدام سلسلة INPUT.

إعادة توجيه البورت على نظام Linux

استخدم الأمر sudo iptables -I INPUT -p tcp -m tcp –dport 22 -j ACCEPT لفتح البورت. في هذا المثال نقوم بفتح الاتصالات الواردة بالبورت 22، يمكنك استبدال البورت 22 بأي بورت تريده.

إذا كنت تقوم بفتح بورت إخراج، فاستخدم OUTPUT بدلاً من INPUT.

إذا كنت تريد فتح بورت خلفي لـ UDP، فضع udp بدلاً من tcp.

لفتح بورت بعنوان IP أو (subnet) محددة، استخدم Sudo iptables -I INPUT -s xxx.xxx.xxx.xxx -p tcp -m tcp –dport 22 -j ACCEPT.

إعادة توجيه البورت على نظام Linux

استخدم sudo service iptables save لحفظ تغييراتك

إذا لم ينجح ذلك، فجرّب أحد هذه الأوامر:

sudo /sbin/iptables-save لـ Ubuntu و Debian.

/sbin/service iptables محفوظ لـ CentOS، Red Hat و Fedora.

لإغلاق البورت، استخدم iptables -I INPUT -p tcp –-dport 22 -j REJECT واستبدل 22 بالبورت الذي تريد إغلاقه، وإذا كنت موجودًا بالفعل على خادم SSH، فلا تغلق البورت 22 أبدًا!

2- طريقة سهلة لفتح بورت في لينكس

اتبع الخطوات أدناه لفتح بورت Linux:

أوامر البورت في Linux

قم بتسجيل الدخول إلى خادم أوبونتو الخاص بك. تم تثبيت UFW مسبقًا على جميع أنظمة Ubuntu. إذا قمت بتسجيل الدخول إلى واجهة المستخدم الرسومية (GUI)، فافتح أولاً نافذة طرفية.

أوامر البورت في Linux

اكتب: Sudo ufw Status Verbose ثم اضغط على Enter. إذا كان UFW قيد التشغيل بالفعل، فسترى رسالة (status) بالإضافة إلى قائمة بأوامر جدار الحماية (بما في ذلك المنافذ المفتوحة) الموجودة بالفعل. إذا رأيت رسالة تفيد بأن Status: inactive، فأنت بحاجة إلى تنشيط جدار الحماية:

اكتب: sudo ufw Enable ثم اضغط على Enter لبدء جدار الحماية.

لتشغيل (firewall logging)، استخدم الأمر sudo ufwlogging on

دليل خطوة بخطوة لفتح المنافذ على Linux (معظم التوزيعات)

استخدم الأمر Sudo ufwallow [port number] لفتح البورت

على سبيل المثال، إذا كنت تريد فتح بورت SSH (22)، فاكتب: kbd واضغط على Enter لفتح البورت. ليست هناك حاجة لإعادة تشغيل جدار الحماية، حيث يسري التغيير على الفور.

إذا كان البورت الذي تفتحه مخصصًا لخدمة مدرجة في /etc/services، فيمكنك كتابة اسم الخدمة بدلاً من رقم البورت. على سبيل المثال: sudo ufw allow ssh.

لفتح نطاق معين من المنافذ، استخدم بناء الجملة sudo ufw allow 6000:6007/tcp واستبدل 6000:6007 بالنطاق المطلوب. إذا كان نطاق البورت هو UDP، فاستبدل tcp بـ udp.

لتحديد عنوان IP يمكنه الوصول إلى البورت، استخدم بناء الجملة هذا: sudo ufw allow from 10.0.0.1 to any port 22 واستبدال 10.0.0.1 بعنوان IP المطلوب. واستبدل 22 بالبورت الذي تريد فتحه.

لإغلاق بورت على Linux، استخدم Sudo ufw Deny 22

استبدل 22 بالبورت الذي تريد إغلاقه.

كيفية فتح بورت في لينكس

قم بإزالة أوامر جدار الحماية غير الضرورية

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

اكتب: sudo ufw status numbered واضغط Enter . يعرض هذا الأمر قائمة بجميع أوامر جدار الحماية، يبدأ كل منها برقم يشير إلى موضعه في القائمة.

حدد الرقم في بداية الأمر الذي تريد حذفه. على سبيل المثال، لنفترض أنك تريد إزالة الأمر الذي يفتح البورت 22 (لا تفعل ذلك إذا كنت تستخدم SSH بالفعل للوصول إلى الخادم)، وأن هذا الأمر مدرج في السطر 2.

في هذه الحالة، اكتب: sudo ufw delete 2 واضغط على Enter لحذف سطر الأوامر 2.

3- الطريقة السهلة لفتح بورت في نظام Linux باستخدام Firewalld

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

كيفية فتح بورت في لينكس

قم بتسجيل الدخول إلى الخادم الخاص بك. إذا كنت تستخدم Firewalld على نظام CentOS، Red Hat Enterprise، SUSE او Fedora، فيمكنك بسهولة فتح المنافذ من سطر الأوامر. Firewalld هو جدار الحماية الافتراضي لجميع هذه التوزيعات.

كيفية فتح بورت في لينكس

قم بتشغيل firewall-cmd –list-ports لرؤية جميع المنافذ المفتوحة.

يمكنك أيضًا عرض تكوين جدار الحماية بالكامل ورؤية جميع المنافذ والخدمات المسموح بها والمحظورة عن طريق تشغيل الأمر sudo firewall-cmd –list-all. (في هذه الحالة، يتم استخدام المنطقة العامة (PUBLIC).)

عرض المنافذ المفتوحة على Linux

استخدم الأمر firewall-cmd لفتح البورت

في هذا المثال، سنوضح لك كيفية فتح بورت SSH (22) أو إعادة توجيه البورت في Linux للوصول عن بعد:

الأمر firewall-cmd –zone=public –add-port=22/tcp يفتح البورت 22 على الفور، لكنه لا يغير البورت بشكل دائم.

لجعل التغيير دائمًا، أضف –permanent flag إلى الأمر: firewall-cmd –zone=public –permanent –add-port=22/tcp

لفتح بيان بورت UDP، استبدل tcp بـ udp.

ولفتح البورت باسم الخدمة (service name)، استخدم firewall-cmd –zone=public –permanent

عرض المنافذ المفتوحة على Linux

افتح بورتا لعنوان IP محدد

إذا كنت تريد فقط السماح بالاتصالات من IP وإلى عنوان IP، فيجب عليك إنشاء (new firewall zone) لهذا العنوان. لإنشاء منطقة جديدة، استخدم الأمر firewall-cmd –new-zone=MYZONENAME –permanent

ثم قم بتشغيل الأمر firewall-cmd –reload لإعادة تحميل إعداداتك.

قم بتشغيل firewall-cmd –get-zones- لعرض مناطقك. الآن سترى منطقتك الجديدة في هذه القائمة.

لربط عنوان IP بالمنطقة، استخدم الأمر firewall-cmd –zone=MYZONENAME –add-source=10.0.0.1 –permanent استبدل عنوان IP بالعنوان المناسب.

ثم افتح البورت لتلك المنطقة باستخدام اسم المنطقة بدلاً من “public:” ــ : firewall-cmd –zone=MYZONENAME –permanent –add-port=22/tcpعرض المنافذ المفتوحة على Linux

إغلاق البورت.

إذا كنت بحاجة إلى إغلاق بورت، فيمكنك القيام بذلك باستخدام علامات مختلفة باستخدام الأمر firewall-cmd. في هذا المثال، سنقوم بإغلاق البورت 22 بشكل دائم للعامة: firewall-cmd –zone=public –remove-port=22/tcp –permanent

4- فتح البورت في نظام Linux باستخدام ConfigServer Firewall

لاستخدام هذه الطريقة، اتبع الخطوات التالية:

عرض المنافذ المفتوحة على Linux

قم بتسجيل الدخول إلى الخادم الخاص بك. إذا لم تقم بتسجيل الدخول باعتبارك المستخدم الروت (root)، فيمكنك استخدام su. لتعيين التكوين الخاص بك، تأكد من الوصول إلى الجذر أو إدخال الأوامر باستخدام البادئة sudo لتجنب خطأ رفض الإذن .

إظهار المنافذ المفتوحة في Linux

يعد ملف تكوين CSF أحد ملفات Linux الخاصة بك . انتقل إلى الدليل الذي يحتوي على ملف تكوين CSF. يسمى هذا الملف csf.conf ويتم حفظه افتراضيًا في المسار /etc/csf/csf.conf. للقيام بذلك، اكتب: cd /etc/csf ثم اضغط على Enter.

فحص المنافذ في Linux

افتح ملف csf.conf في محرر النصوص. يمكنك استخدام أي محرر نصوص مثل vim أو nano. لفتح ملف csf.conf في vim، اكتب: vim csf.config ثم اضغط على Enter.

إظهار المنافذ المفتوحة في Linux

أضف بورت إدخال إلى قائمة TCP_IN

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

على سبيل المثال، لنفترض أنك تريد فتح البورت 999 والمنافذ المفتوحة حاليًا هي 20، 21، 22، 25، 53، 80، 110، 143، 443، 465، 587، 993، 995.

بعد إضافة البورت 999 إلى القائمة، سيبدو بالشكل التالي: 20، 21، 22، 25، 53، 80، 110، 143، 443، 465، 587، 993، 995، 999

اضغط على المفتاح i بلوحة المفاتيح للدخول إلى وضع (insertion/typing) في vim.

فحص المنافذ في Linux

السماح لـ TCP الصادر في قائمة TCP_OUT. كرر نفس ما فعلته مع بورت الإدخال. افتح أي بورت TCP صادر تريده وأضفه إلى قائمة TCP_OUT.

فحص المنافذ في Linux

احفظ التغييرات واخرج من الملف. اتبع الخطوات أدناه لحفظ الملف والخروج منه:

اضغط على مفتاح Esc.

واكتب: wq!

اضغط Enter.

إظهار المنافذ المفتوحة في Linux

اكتب: service csf restart ثم اضغط على Enter. سيؤدي هذا إلى إعادة تشغيل جدار الحماية وفتح المنافذ الجديدة. لتعطيل البورت، أعد فتح الملف، ثم احذف البورت، ثم احفظ الملف، ثم أعد تشغيل جدار الحماية.

5- فتح البورت في Linux باستخدام Advanced Policy Firewall

لفتح بورت في Linux باستخدام Advanced Policy Firewall، اتبع الخطوات التالية:

عرض المنافذ المفتوحة على Linux

قم بتسجيل الدخول إلى خادم Linux الخاص بك. إذا كنت تستخدم APF على نظام Linux الخاص بك، فيمكنك إجراء تغييرات على تكوين جدار الحماية الخاص بك في ملف تكوين APF.

إظهار المنافذ المفتوحة في Linux

انتقل إلى الدليل الذي يحتوي على ملف تكوين APF الخاص بك. الملف الذي تبحث عنه يسمى conf.apf وهو موجود في /etc/apf افتراضيًا. للدخول إلى هذا الدليل، اكتب: cd /etc/apf

فحص المنافذ في Linux

افتح الملف /etc/apf/conf.apf في محرر النصوص. يمكنك استخدام أي محرر نصوص مثل vim أو nano. لفتح conf.apf في vim، تحتاج إلى كتابة: sudo vim /etc/apf/conf.apf ثم اضغط على زر Enter.

إعادة توجيه البورت على نظام Linux

أضف المنافذ الواردة إلى قائمة IG_TCP_CPORTS

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

على سبيل المثال، لنفترض أنك تريد فتح البورت 999 والمنافذ المفتوحة حاليًا هي 20، 21، 22، 25، 53، 80، 110، 143، 443، 465، 587، 993، 995.

بعد إضافة البورت 999 إلى قائمة IG_TCP_CPORTS، ستظهر القائمة بالشكل التالي: 20، 21، 22، 25، 53، 80، 110، 143، 443، 465، 587، 993، 995، 999

اضغط على المفتاح i بلوحة المفاتيح للدخول إلى وضع (insertion/typing) في vim.

إعادة توجيه البورت على نظام Linux

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

أوامر البورت في Linux

احفظ التغييرات واخرج من الملف. اتبع الخطوات أدناه لحفظ الملف والخروج منه:

اضغط على مفتاح Esc.

اكتب: wq!

اضغط Enter.

أوامر البورت في Linux

اكتب service apf -r ثم اضغط على Enter. سيؤدي هذا إلى إعادة تشغيل جدار الحماية APF وفتح منافذ جديدة. لتعطيل البورت، افتح الملف مرة أخرى، واحذف البورت، واحفظ الملف، ثم أعد تشغيل جدار الحماية.

الخطوة الأخيرة (اختبار المنافذ المفتوحة)

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

عرض منافذ listening باستخدام الأمر التالي:

netstat -lntu

كيفية فتح بورت في لينكس

يُظهر الإخراج أعلاه بورت 8080 الذي فتحناه سابقًا.

قم أيضًا بإدراج المقابس المفتوحة باستخدام الأمر ss:

ss -lntu

عرض المنافذ المفتوحة على Linux

اختبر البورت عن طريق تحديد رقمه في أمر nmap.

nmap localhost -p 8080

إظهار المنافذ المفتوحة في Linux

يمكنك أيضًا اختبار البورت باستخدام برنامج Netcat Utility.

تحتوي أداة Netcat على الأمر nc الذي يمكنك استخدامه لاختبار البورت المفتوح. للقيام بذلك، اتبع الخطوات التالية:

استخدم أمرًا مثل echo مع Netcat وحدد البورت المطلوب للاستماع إليه. يرسل المثال التالي رسالة لاختبار البورت 8080:

echo “Testing port 8080” | nc -l -p 8080

اترك الأمر قيد التشغيل وافتح نافذة طرفية أخرى.

في تلك النافذة الطرفية، استخدم أمرًا مثل telnet للبحث في (local socket).

telnet localhost 8080

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

إظهار المنافذ المفتوحة في Linux

أسئلة مكررة

ما هي النقاط الأمنية التي يجب أن نراعيها عند فتح البورت؟

إذا رأيت بورتا لا تستخدمه، فأغلقه! أنت لا تريد أن تترك الباب مفتوحا للمتسللين! إذا بدأت بإضافة منافذ مفتوحة عشوائية قديمة، فسوف يتم اختراقك! فتح المنافذ فقط عند الضرورة.

ما الذي تفعله المنافذ بالضبط؟

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

ما هي الاختلافات بين المنافذ؟

تستخدم المنافذ الموجودة على الأجهزة المتصلة بالشبكة نظامًا قياسيًا. تسمى المنافذ من 0 إلى 1023، وهي أول 1024 بورتا في المجمل، بالمنافذ المعروفة. منافذ الدخول والخروج هذه محجوزة للخدمات المشتركة. على سبيل المثال، البورت 80 محجوز لخدمة HTTP أو البورت 22 لخدمة SSH. لكن الجزء الثاني من المنافذ، من البورت رقم 1024 إلى البورت رقم 49151، يسمى بالمنافذ المسجلة، والتي تستخدم للألعاب عبر الإنترنت وخوادم الويب الخاصة وما إلى ذلك. الجزء الثالث هو المنافذ المرقمة من 49152 إلى آخر بورت أي 65535 والتي تسمى بالمنافذ الخاصة أو الديناميكية.

خاتمة

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

تعليقاتكم واقتراحاتكم؟

في هذه المقالة من Nooh Freestyle، قمنا بفحص أوامر البورت في Linux. أتمنى أن يكون هذا المقال قد أضاف إلى معلوماتك في هذا المجال. ونرحب بآرائكم وتجاربكم في هذا المجال.

تعليقات