كيفية إدارة جدران الحماية وجداول البيانات (nftables) من الأساسيات إلى المستويات المتقدمة؟
إدارة جدار الحماية وإعداداته جداول نفتابلز يُعدّ هذا الدليل ضروريًا لأي مسؤول نظام أو مهندس DevOps أو مالك خادم. نتناول فيه المصطلحات التقنية والتشغيلية من الأساسيات إلى السيناريوهات المتقدمة، بالإضافة إلى أمثلة عملية وملفات تهيئة.
- كيفية إدارة جدران الحماية وجداول البيانات (nftables) من الأساسيات إلى المستويات المتقدمة؟
- المفاهيم الأساسية للجداول غير القابلة للتحويل
- لماذا جداول ntables؟
- دليل البدء السريع: تثبيت القواعد ومراجعتها وحفظها
- مثال عملي: مجموعة قواعد أساسية (لخادم لينكس)
- إدارة المجموعات والكتل المؤقتة
- ترجمة عناوين الشبكة (NAT)، وإعادة توجيه المنافذ، وإخفاء الهوية
- التصدي لهجمات DDoS و SYN
- قواعد التسجيل والمراقبة
- نصائح أمنية عملية
- نصائح عملية لتطبيقات مختلفة
- نصائح عملية للتنفيذ والصيانة
- الأدوات وتصحيح الأخطاء
- الخاتمة والتوصيات العملية
- الأسئلة الشائعة
المفاهيم الأساسية للجداول غير القابلة للتحويل
جداول نفتابلز هناك مكونات معينة يجب أن تكون على دراية بها لتصميم مجموعة قواعد:
- عائلة: عائلة البروتوكولات (على سبيل المثال) إنترنت (للاستخدام المتزامن لبروتوكولي IPv4 و IPv6، ip، ip6، arp، bridge).
- طاولة: حاوية القواعد (على سبيل المثال) مرشح الإنترنت).
- سلسلةسلسلة من القواعد مع خطاف ونوع (إدخال، توجيه، إخراج) وأولوية.
- قاعدة: الشروط والإجراءات (القبول، الإسقاط، الرفض، الرد، التسجيل).
- تعيين / خريطة: مجموعات لحفظ عناوين IP أو المنافذ أو القيم من أجل المطابقة السريعة.
- تتبع الاتصال: تتبع حالة الاتصال (مُنشأ، مرتبط، جديد، غير صالح).
لماذا جداول ntables؟
الأسباب الرئيسية للاختيار جداول نفتابلز وتشمل:
- دعم متزامن لبروتوكولي IPv4 و IPv6 استخدام العائلة إنترنت.
- أداء أفضل والاحتمال الاستبدال الذري لتحميل مجموعة القواعد بشكل آمن.
- دعم لـ مجموعات ذات مهلة زمنية و خرائط للحصول على تقنية NAT المتقدمة.
- التوافق مع iptables من خلال طبقة التوافق في التوزيعات الجديدة.
دليل البدء السريع: تثبيت القواعد ومراجعتها وحفظها
الأوامر الأساسية للتحقق من مجموعات القواعد وتحميلها وحفظها:
nft --version
nft list ruleset
nft -f /etc/nftables.conf
nft list ruleset > /etc/nftables.conf
systemctl enable --now nftablesمثال عملي: مجموعة قواعد أساسية (لخادم لينكس)
ملف /etc/nftables.conf المقترح باستخدام عائلة إنترنت لتغطية كل من IPv4 و IPv6:
table inet filter {
set allowed_ssh {
type ipv4_addr; flags timeout;
}
chain input {
type filter hook input priority 0;
policy drop;
# loopback
iif "lo" accept
# established/related
ct state established,related accept
# ICMP/ICMPv6
ip protocol icmp accept
ip6 nexthdr ipv6-icmp accept
# Allow SSH with rate limit & whitelist
tcp dport 22 ct state new limit rate 3/minute accept
ip saddr @allowed_ssh accept
# HTTP/HTTPS
tcp dport { 80, 443 } ct state new accept
# DNS
udp dport 53 accept
tcp dport 53 accept
# log and drop others
counter log prefix "nft-drop: " flags all drop
}
chain forward {
type filter hook forward priority 0; policy drop;
}
chain output {
type filter hook output priority 0; policy accept;
}
}توضيح: تسمح مجموعة القواعد الأساسية هذه بالاتصالات الحلقية، والاتصالات الحالية، وSSH (مع تحديد معدل النقل)، وHTTP/HTTPS، وDNS، وتقوم بتسجيل وإسقاط بقية حركة المرور. قم بتعيين allowed_ssh مناسب لإضافة عناوين IP إلى القائمة البيضاء مع مهلة زمنية.
إدارة المجموعات والكتل المؤقتة
يُعد إنشاء وإدارة مجموعات القوائم البيضاء أو السوداء أمرًا مفيدًا للغاية. أمثلة:
nft add element inet filter allowed_ssh { 203.0.113.5 timeout 1h }
nft list set inet filter allowed_sshلحظر المهاجمين مؤقتًا، قم بتعيين علامة نفذ الوقت إنشاء وإضافة عناوين IP لفترة زمنية محددة.
ترجمة عناوين الشبكة (NAT)، وإعادة توجيه المنافذ، وإخفاء الهوية
مثال على تقنية NAT لخادم افتراضي خاص (VPS) ينشر خدمات متعددة خلف عنوان IP خاص:
table ip nat {
chain prerouting {
type nat hook prerouting priority 0;
tcp dport 2222 dnat to 10.0.0.10:22
tcp dport 8443 dnat to 10.0.0.20:443
}
chain postrouting {
type nat hook postrouting priority 100;
oif "eth0" masquerade
}
}ملحوظة: في بنى الحوسبة السحابية ذات العناوين المتعددة، استخدم تقنية إخفاء العناوين أو ترجمة عناوين الشبكة المصدرية (src NAT) للصادر. أما بالنسبة لبروتوكول IPv6، فاستخدم تقنية ترجمة عناوين الشبكة المحلية (DNAT) أو تعيين نطاقات عناوين IP (CIDR) المناسبة.
التصدي لهجمات DDoS و SYN
يحتوي برنامج nftables على ميزات تحديد معدل النقل وجداول التدفق التي يمكن استخدامها للتخفيف من تأثير الهجمات.
# allow limited number of new SYNs per second
tcp flags syn ct state new limit rate 10/second burst 20 accept
# synproxy can be used in extreme cases (kernel feature)
# nftables can match and direct traffic to synproxy or other mitigationsبالنسبة للهجمات واسعة النطاق، يتم الجمع بين خادم جدار الحماية (جداول نفتابلز) مع طبقة الحماية من هجمات DDoS على الشبكة أفضل طريقة هي تصفية حركة المرور الضارة قبل وصولها إلى الخادم.
قواعد التسجيل والمراقبة
أدوات وأوامر مفيدة للمراقبة:
- عرض عدادات لكل قاعدة: مجموعة قواعد قائمة NFT.
- تفعيل تسجيل البيانات مع تحديد البادئة ومعدل الطلبات:
nft add rule inet filter input tcp dport 22 counter log prefix "ssh-drop: " limit rate 10/minute dropأدوات أخرى: journalctl -f -u nftables, tcpdump, سمكة القرش, ، و شاشة مراقبة NFT.
نصائح أمنية عملية
بعض النصائح العملية والمهمة:
- قم بعمل نسخة احتياطية دائمًا: قبل النشر، قم بالإخراج مجموعة قواعد قائمة NFT يحفظ.
- استخدم التحميل الذري: nft -f /etc/nftables.conf يقوم بتحميل الملف بشكل ذري.
- منع عمليات حظر SSH: قم بتعيين قاعدة قبول مؤقتة لعنوان IP الخاص بك أو استخدم وحدة تحكم خارجية.
- برنامج التراجع التلقائي: عند إجراء تغييرات حساسة، قم بتعيين خاصية التراجع التلقائي في حالة عدم التأكيد.
نصائح عملية لتطبيقات مختلفة
لمسؤولي مواقع ووردبريس والمواقع الإلكترونية
افتح المنافذ الأساسية فقط (80/443/22). استخدم حدود معدل الطلبات لنماذج تسجيل الدخول وXML-RPC، وأنشئ مجموعة من عناوين IP المحظورة لمنع هجمات التخمين العشوائي. يُنصح بالجمع بين هذه الإجراءات وشبكة توصيل المحتوى (CDN) وجدار حماية تطبيقات الويب (WAF).
للمبرمجين ومهندسي DevOps
من العائلة إنترنت استخدم دعم IPv4/IPv6 للنشر المتزامن. خزّن القواعد في نظام التحكم بالإصدارات (VCS) واستخدم التكامل المستمر/التسليم المستمر (CI/CD) للنشر الآلي. استخدم خاصية تحميل الملفات والتراجع السريع لاختبار التغييرات.
للمتداولين (خادم افتراضي خاص للتداول)
اختر موقعًا قريبًا من خوادم الوسيط أو البورصة لتقليل زمن الاستجابة. قيّد حركة البيانات الواردة والصادرة بعناوين IP الضرورية، واستخدم القوائم البيضاء لمنع إغلاق المنافذ أثناء التحديثات.
للاعبين (خوادم افتراضية خاصة للألعاب)
افتح منافذ UDP التي تتطلبها اللعبة، وحسّن مهلة الاتصال (conntrack timeouts) لبروتوكول UDP. إذا كنت بحاجة إلى NAT، فاستخدم Flowtable لتحسين الأداء، واختر موقعًا بزمن استجابة منخفض (ping).
للحوسبة السحابية للذكاء الاصطناعي ووحدات معالجة الرسومات
اسمح بالوصول إلى منافذ الإدارة (SSH، واجهة برمجة تطبيقات Kubernetes) فقط من عناوين IP محددة. في البيئات الموزعة، حدد قواعد بين العقد وتحقق من أداء conntrack. يُنصح باستخدام شبكة خاصة وبروتوكول BGP/VLAN خاص لضمان الأمان وزيادة الإنتاجية.
نصائح عملية للتنفيذ والصيانة
بعض النصائح العملية لعملية الصيانة:
- احرص دائمًا على عمل نسخة احتياطية من مجموعة القواعد قبل إجراء أي تغييرات.
- استخدام الاستبدال الذري مع nft -f /etc/nftables.conf.
- قم بوضع قاعدة قبول مؤقتة لعنوان IP الخاص بالإدارة قبل إجراء تغييرات حساسة.
- قم بإعداد cron أو systemd-timer للتراجع التلقائي في حالة عدم استلام التأكيد.
الأدوات وتصحيح الأخطاء
الأدوات الرئيسية لتصحيح الأخطاء والمراقبة:
- مجموعة قواعد قائمة NFT
- شاشة مراقبة NFT / تتبع مراقبة NFT
- ss -tunlp لعرض المنافذ
- conntrack -L من حزمة conntrack-tools
- tcpdump أو سمكة القرش لالتقاط الحزم
الخاتمة والتوصيات العملية
يُعدّ nftables أداةً قويةً تجعل إدارة جدار الحماية حديثةً وسريعةً ومرنة. باستخدام عائلة إنترنتباستخدام المجموعات، وحدود المعدل، وتتبع الاتصالات، يمكنك إنشاء طبقة حماية فعالة مناسبة لخوادم الويب، وتداول VPS، والألعاب، وسحابة GPU.
إلى جانب تكوين الخادم، فإن الجمع بين خدمات الشبكة مثل CDN و Anti-DDoS و BGP، والتي يتم توفيرها في أكثر من 85 موقعًا عالميًا، يرفع مستوى الأمان والتوافر إلى مستوى أكثر موثوقية.









