كيفية إعداد جدار الحماية على خادم Ubuntu
نُشرت: ١٥ فبراير ٢٠٢٥ م في ٩:٣٢:٣٦ م UTC
آخر تحديث: ١٢ يناير ٢٠٢٦ م في ٨:٣٦:٤٣ ص UTC
تشرح هذه المقالة وتقدم بعض الأمثلة حول كيفية إعداد جدار حماية على نظام GNU/Linux باستخدام ufw، وهو اختصار لـ Uncomplicated FireWall - والاسم مناسب، فهو حقًا طريقة سهلة للغاية للتأكد من عدم وجود منافذ مفتوحة أكثر مما تحتاج إليه.
How to Set Up a Firewall on Ubuntu Server
تستند المعلومات الواردة في هذه المقالة إلى نظام Ubuntu Server 14.04 x64، وقد لا تكون صالحة للإصدارات الأخرى. (تحديث: أؤكد أن المعلومات الواردة في هذه المقالة لا تزال صالحة وفعّالة بشكل أساسي في Ubuntu Server 24.04، ولكن خلال السنوات العشر الماضية، أصبح جدار الحماية ufw أكثر ذكاءً بفضل توفيره لملفات تعريف لتطبيقات الخادم الشائعة (على سبيل المثال، يمكنك تفعيل "Nginx full" بدلاً من تفعيل المنفذين 80 و443 بشكل منفصل)، ولم يعد من الضروري تعطيل/تفعيل جدار الحماية بالكامل لتطبيق القواعد الجديدة).
عندما بدأتُ استخدام خوادم GNU/Linux (أوبونتو)، كان إعداد جدار الحماية يتطلب إنشاء ملف تكوين معقد لـ iptables وصيانته يدويًا. لكنني اكتشفتُ مؤخرًا ufw، وهو اختصار لـ Uncomplicated Firewall (جدار الحماية غير المعقد) - وهو كذلك بالفعل :-)
كان نظام Ubuntu Server 14.04 الخاص بي يحتوي بالفعل على ufw مثبتًا، ولكن إذا لم يكن كذلك لديك، فما عليك سوى تثبيته من المستودعات:
في الواقع، UFW مجرد أداة تُسهّل عملية ضبط إعدادات iptables، ففي الخلفية، يبقى iptables وجدار حماية نواة لينكس هما المسؤولان عن عملية التصفية، لذا فإن UFW ليس أقل أمانًا ولا أكثر أمانًا منهما. مع ذلك، ولأن UFW يُسهّل كثيرًا ضبط جدار الحماية بشكل صحيح، فقد يُقلّل من مخاطر الخطأ البشري، وبالتالي قد يكون أكثر أمانًا للمسؤولين عديمي الخبرة.
إذا كان خادمك مُهيأً لاستخدام IPv6 بالإضافة إلى IPv4، فتأكد من تفعيل هذا الخيار لـ UFW أيضًا. عدّل الملف /etc/default/ufw وابحث عن سطر يحتوي على IPV6=yes. كان هذا السطر موجودًا بالفعل في تثبيتي، ولكن إذا لم يكن موجودًا أو إذا كانت قيمته لا، فعليك تعديله.
بعد ذلك، استخدم موجه الأوامر لتفعيل المنافذ التي تريد فتحها. إذا كنت متصلاً بخادمك عبر SSH، فتأكد من السماح بذلك أيضًا، وإلا فقد ينقطع اتصالك وربما يُمنعك من الوصول إلى خادمك عند تشغيله - اعتمادًا على ما إذا كان لديك وصول فعلي إلى الخادم أم لا، فقد يكون هذا الأمر مزعجًا بعض الشيء ;-)
على سبيل المثال، إذا كنت تستخدم ssh على المنفذ القياسي 22 وتقوم بتكوين خادم ويب يدعم كلاً من الاتصالات غير المشفرة (HTTP على المنفذ 80) والمشفرة (HTTPS على المنفذ 443)، فستقوم بإصدار الأوامر التالية لتكوين ufw:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
إذا كنت بحاجة إلى المزيد من القواعد، فما عليك سوى إضافتها كما هو موضح أعلاه.
إذا كان لديك عنوان IP ثابت وتحتاج فقط إلى الاتصال عبر SSH من موقع واحد، فيمكنك أيضًا تقييد اتصالات SSH بعنوان مصدر واحد على النحو التالي:
بالطبع، أدخل عنوان IP الخاص بك بدلاً من ذلك.
بعد الانتهاء، قم بتفعيل جدار الحماية ufw عن طريق إدخال ما يلي:
انتهى الأمر! جدار الحماية يعمل الآن وسيبدأ تشغيله تلقائيًا عند إعادة تشغيل الخادم الخاص بك :-)
إذا قمت بإجراء تغييرات على إعدادات ufw، فقد تحتاج إلى تعطيلها ثم تمكينها مرة أخرى لتطبيق التغييرات، كما يلي:
sudo ufw enable
للاطلاع على التكوين الحالي، أدخل ببساطة:
إذا لم يتم تمكين ufw، فسيتم عرض رسالة "غير نشط" فقط، وإلا فسيتم سرد القواعد المحددة حاليًا.
