ديف أوبس

ضبط الطرق على المنافذ أوبنتو

كيفية ضبط “الطرق على المنافذ” Port Knocking على أوبنتو باستخدام IPTables: دليل شامل

الكلمات المفتاحية: الطرق على المنافذ, Port Knocking, أوبنتو, IPTables, جدار ناري, أمن الشبكات, الحماية من الاختراق, خوادم لينكس, التشفير, أمان الشبكات


مقدمة

في عالم تتزايد فيه التهديدات الإلكترونية يوماً بعد يوم، أصبح من الضروري تعزيز وسائل الأمان على الخوادم التي تعمل بأنظمة التشغيل المبنية على لينكس مثل أوبنتو. من بين التقنيات الأمنية المتقدمة التي تتيح التحكم في الوصول إلى الخوادم بطريقة غير تقليدية هي تقنية “الطرق على المنافذ” أو Port Knocking. تعتمد هذه التقنية على مبدأ إخفاء الخدمات الحساسة خلف جدار ناري مغلق، بحيث لا تظهر هذه الخدمات أو تستجيب إلا بعد إرسال سلسلة محددة من الحزم إلى منافذ معينة، تُعرف بـ”طرق الباب”.

هذه المقالة تقدم شرحاً مفصلاً ومتعمقاً لكيفية إعداد تقنية Port Knocking على نظام Ubuntu باستخدام أداة IPTables، والتي تُعد واحدة من أقوى أدوات إدارة الجدران النارية في أنظمة لينكس.


المفهوم الأساسي لتقنية Port Knocking

Port Knocking هي آلية أمنية تُستخدم للتحكم في الوصول إلى الخدمات الحساسة على الخوادم، كـ SSH مثلاً، بحيث تظل هذه الخدمات غير مرئية للمستخدمين حتى يقوموا بإرسال تسلسل معين من الحزم إلى منافذ محددة. بمجرد إرسال الحزم بالتسلسل الصحيح، يفتح الجدار الناري منفذ الخدمة لفترة قصيرة تتيح للمستخدم الاتصال.

تعتمد هذه التقنية على الطبقة الثالثة والرابعة من نموذج الشبكة OSI (IP و TCP/UDP)، وهي لا تتطلب تعديلات على التطبيقات نفسها بل فقط على إعدادات الجدار الناري.


فوائد تقنية Port Knocking

  1. إخفاء الخدمات الحساسة: تبقى المنافذ مغلقة وغير مكشوفة لأي عمليات مسح خارجي.

  2. تقليل مخاطر الهجمات الآلية: لا يمكن اكتشاف المنفذ المفتوح إلا بعد الطرق الصحيح.

  3. دعم إضافي للأمان: لا تعتبر هذه التقنية بديلاً للمصادقة، بل طبقة إضافية للأمان.

  4. مرونة في التحكم: يمكن تخصيص تسلسلات الطرق، تحديد الوقت المسموح به، وربطها بعناوين IP محددة.


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

قبل الشروع في ضبط Port Knocking، يجب التأكد من الأمور التالية:

  • وجود صلاحيات root على النظام.

  • تثبيت حزمة IPTables.

  • خدمة SSH قيد التشغيل.

  • تثبيت حزمة knockd، وهي أداة مخصصة لمراقبة تسلسل الطرق.


تثبيت الأدوات المطلوبة

تحديث النظام

bash
sudo apt update && sudo apt upgrade -y

تثبيت IPTables و knockd

bash
sudo apt install iptables knockd -y

ضبط IPTables لإغلاق منفذ SSH

أول خطوة لتطبيق تقنية Port Knocking هي إغلاق منفذ الخدمة المراد حمايتها، وغالباً ما تكون خدمة SSH على المنفذ 22.

bash
sudo iptables -A INPUT -p tcp --dport 22 -j DROP

يمكن حفظ الإعدادات باستخدام:

bash
sudo iptables-save > /etc/iptables/rules.v4

ملاحظة: تأكد من حفظ إعدادات IPTables باستخدام أدوات مثل iptables-persistent لتجنب فقدانها بعد إعادة التشغيل.


تكوين knockd لمراقبة تسلسل الطرق

تعديل ملف الإعدادات

الملف الرئيسي لإعداد knockd هو /etc/knockd.conf. إليك مثال على إعداد بسيط:

ini
[options] logfile = /var/log/knockd.log [openSSH] sequence = 7000,8000,9000 seq_timeout = 10 command = /sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn [closeSSH] sequence = 9000,8000,7000 seq_timeout = 10 command = /sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT tcpflags = syn

شرح الإعدادات

المفتاح الوظيفة
sequence تسلسل المنافذ المطلوب الطرق عليها
seq_timeout الزمن المسموح بين الطرقات (بالثواني)
command الأمر الذي يُنفذ بعد الطرق الصحيح
tcpflags نوع الحزم المراقبة، وغالباً syn للطلبات الأولية للاتصال بـ TCP
%IP% يُستبدل تلقائياً بعنوان IP الذي قام بالطرق

تفعيل خدمة knockd

تعديل ملف النظام لتفعيل الخدمة

في Ubuntu، خدمة knockd لا تُفعل تلقائياً. لذلك يجب تعديل ملف الإعدادات /etc/default/knockd وتغيير السطر:

bash
START_KNOCKD=0

إلى:

bash
START_KNOCKD=1

ثم تشغيل الخدمة:

bash
sudo systemctl enable knockd sudo systemctl start knockd

اختبار الطريقة

تنفيذ الطرق على المنافذ

من جهاز آخر، يمكن استخدام أداة knock لتنفيذ تسلسل الطرق:

bash
knock your.server.ip 7000 8000 9000

بعدها، يتم فتح منفذ SSH مؤقتاً.

الدخول إلى الخادم

bash

إغلاق المنفذ

بعد الانتهاء من الجلسة، يمكن تنفيذ تسلسل الإغلاق:

bash
knock your.server.ip 9000 8000 7000

نصائح أمنية متقدمة

  1. استخدام تسلسل طرق معقد: تجنب استخدام تسلسلات واضحة كـ 1234، 2345.

  2. تغيير المنافذ الدورية: يمكن تغيير تسلسل الطرق بشكل دوري عبر سكربتات أو سياسات زمنية.

  3. تحديد عناوين IP المسموح بها: يمكن تعزيز الأمان بقصر الوصول على عناوين IP محددة.

  4. إدراج قيود زمنية: بإمكانك تحديد مهلة زمنية قصيرة لبقاء المنفذ مفتوحاً باستخدام أدوات جدولة.


جدول مقارنة بين الحماية التقليدية وPort Knocking

الخاصية الحماية التقليدية (فتح دائم للمنفذ) الطرق على المنافذ (Port Knocking)
رؤية المنفذ عبر أدوات المسح نعم لا
التعرض للهجمات الآلية (Brute Force) مرتفع منخفض
التعقيد في الإعداد بسيط متوسط إلى معقد
المرونة في التحكم بالدخول محدود عالٍ
الدعم عبر أنظمة التشغيل واسع الانتشار محدود نسبياً

استخدام أدوات بديلة

بالإضافة إلى knockd، توجد أدوات أخرى تدعم وظائف مشابهة مثل:

  • fwknop (FireWall KNock OPerator): يدعم الطرق المشفر (Single Packet Authorization).

  • Portspoof: أداة لإخفاء الخدمات وتضليل الماسحات.

  • Fail2ban: ليس للطرق على المنافذ، لكنه يُستخدم مع SSH لمنع الهجمات المتكررة.


ملاحظات حول الأداء والاستخدام الفعلي

  • Port Knocking يُعتبر خياراً ممتازاً للخوادم التي لا تستقبل الكثير من المستخدمين، حيث يقلل من خطر تعرضها لهجمات خارجية.

  • مع ذلك، في بيئات العمل المعقدة أو الشبكات الكبيرة، يُنصح باستخدام حلول أكثر تطوراً مثل VPN أو Single Packet Authorization.

  • يجب الحذر من تسرب تسلسل الطرق، لأنه يُعد بمثابة كلمة مرور غير مشفرة، ويفضل إرسالها عبر شبكات مؤمنة أو من خلال tunneling.


الخاتمة

تقنية Port Knocking تمثل إحدى أهم وسائل الدفاع في عمق استراتيجية الأمن السيبراني، وتوفر مستوى إضافياً من الحماية ضد عمليات المسح والاختراق. عند تنفيذها بشكل صحيح على أنظمة أوبنتو باستخدام IPTables و knockd، فإنها تشكل حاجزاً متيناً يصعب تجاوزه. ومع أنها ليست حلاً سحرياً، إلا أنها أداة قوية تُضاف إلى ترسانة الأمان لأي مسؤول نظام يحرص على حماية بنيته التحتية الرقمية.


المراجع:

  1. Ubuntu Documentation – IPTables

  2. Debian Man Pages – knockd.conf(5)