إذا كنت جديدًا على Linux، فربما تكون قد سمعت عن UFW أو Uncompliced Firewall. كما يوحي الاسم، UFW هي أداة بسيطة وسهلة الاستخدام تتيح لك إدارة جدار حماية Linux الخاص بك.
في هذه المقالة، سنراجع بعض أساسيات وتفسيرات UFW لمساعدتك على البدء.
ما هو جدار الحماية?
جدار الحماية هو نظام أمان الشبكة الذي يراقب ويتحكم في حركة مرور الشبكة القادمة والصادرة بناءً على قواعد أمنية محددة مسبقًا. يعمل كحاجز بين جهاز الكمبيوتر أو الشبكة والإنترنت أو الشبكات الأخرى.
لماذا تستخدم UFW?
UFW هو واجهة أمامية لجدار الحماية iptable الذي يأتي مثبتًا مسبقًا في معظم توزيعات Linux. إنه يبسط عملية إدارة جدار الحماية من خلال توفير واجهة سطر أوامر سهلة الاستخدام.
UFW أساسيات
تثبيت
تم تثبيت UFW مسبقًا على معظم توزيعات Linux. ومع ذلك، إذا لم يتم تثبيته على نظامك، يمكنك تثبيته باستخدام الأمر التالي:
$ sudo apt-get install ufw
الجملة الأساسية
التركيبة الأساسية لـ UFW هي كما يلي:
$ sudo ufw [option] [allow/deny] [port/protocol]
فيما يلي تفصيل للبنية:
- sudo – يسمح لك بتشغيل الأمر بامتيازات الجذر
- ufw – UFW أمر
- [option] – خيارات إضافية مثل enable, disable, status, reset, reload
- [allow/deny] – ما إذا كان يجب السماح بحركة المرور أو رفضها
- [port/protocol] – رقم المنفذ و/أو البروتوكول الواجب السماح بهما أو رفضهما
للتحقق من حالة
للتحقق من حالة الاتحاد، قم بتشغيل الأمر التالي:
$ sudo ufw status
سيوضح لك هذا الوضع الحالي لـ UFW والقواعد السارية حاليًا.
تمكين وتعطيل UFW
لتمكين UFW, يدير الأمر التالي:
$ sudo ufw enable
تعطيل UFW, قم بتشغيل الأمر التالي:
$ sudo ufw disable
السياسات الافتراضية
عند تمكين UFW، يتم تعيين السياسات الافتراضية لحرمان جميع حركة المرور القادمة والسماح بجميع حركة المرور الصادرة. يمكنك تغيير السياسات الافتراضية باستخدام الأوامر التالية:
$ sudo ufw default allow [incoming/outgoing]
$ sudo ufw default deny [incoming/outgoing]
السماح بحركة المرور وحرمانها
للسماح بحركة المرور إلى منفذ معين، قم بتشغيل الأمر التالي:
$ sudo ufw allow [port/protocol]
لمنع حركة المرور إلى ميناء معين، قم بتشغيل الأمر التالي:
$ sudo ufw deny [port/protocol]
احظر عنوان IP
لحظر جميع اتصالات الشبكة التي تنشأ من عنوان IP محدد، قم بتشغيل الأمر التالي، واستبدال عنوان IP المميز بعنوان IP الذي تريد حظره:
$ sudo ufw deny from 192.168.10.224
OutputRule added
في هذه الحالة، from 192.168.10.224
يعين نوع source عنوان ال ip “192.168.10.224”.
إذا قمت بتشغيلsudo ufw status
الآن، سترى عنوان IP المحدد مدرجًا على أنه مرفوض:
OutputStatus: active
To Action From
-- ------ ----
Anywhere DENY 192.168.10.224
يتم حظر جميع الاتصالات، القادمة أو الخارجة، لعنوان IP المحدد.
يمكنك أيضًا حظر الاتصالات من شبكة فرعية كاملة من خلال توفير قناع الشبكة الفرعية المقابل لمضيف، مثل 192.168.10.0/24
.
اسمح لعنوان IP
للسماح لجميع اتصالات الشبكة التي تنشأ من عنوان IP محدد، قم بتشغيل الأمر التالي، واستبدال عنوان IP المميز بعنوان IP الذي تريد السماح بالوصول إليه:
$ sudo ufw allow from 192.168.10.224
OutputRule added
إذا قمت بتشغيل sudo ufw status
الآن، سترى مخرجات مشابهة لهذا، تظهر الكلمة ALLOW
بجانب عنوان IP الذي قمت بإضافته للتو.
OutputStatus: active
To Action From
-- ------ ----
...
Anywhere ALLOW 192.168.10.224
يمكنك أيضًا السماح بالاتصالات من شبكة فرعية كاملة من خلال توفير قناع الشبكة الفرعية المقابل لمضيف، مثل 192.168.10.0/24
.
تحذف قاعدة UFW
لحذف قاعدة قمت بإعدادها سابقًا داخل UFW، استخدم ufw delete
تليها القاعدة (allow
أو deny
) ومواصفات الأهداف. سيحذف المثال التالي قاعدة تم وضعها سابقًا للسماح بجميع الاتصالات من عنوان IP لـ 192.168.10.224
:
$ sudo ufw delete allow from 192.168.10.224
OutputRule deleted
طريقة أخرى لتحديد القاعدة التي تريد حذفها هي توفير معرف القاعدة. ويمكن الحصول على هذه المعلومات بالأمر التالي:
$ sudo ufw status numbered
OutputStatus: active
To Action From
-- ------ ----
[1] Anywhere DENY IN 192.168.10.220
[2] Anywhere on eth0 ALLOW IN 192.168.10.222
من الناتج، يمكنك أن ترى أن هناك قاعدتين نشطتين. القاعدة الأولى، مع القيم المميزة، تنفي جميع الاتصالات القادمة من عنوان IP 192.168.10.220
. القاعدة الثانية تسمح بالاتصالات على eth0
الواجهة القادمة من عنوان IP 192.168.10.222
.
لأنه افتراضيًا UFW يمنع بالفعل جميع الوصول الخارجي ما لم يُسمح به صراحة، فإن القاعدة الأولى زائدة عن الحاجة، لذلك يمكنك إزالتها. لحذف قاعدة بهويتها، قم بتشغيل:
$ sudo ufw delete 1
سيُطلب منك تأكيد العملية والتأكد من أن الهوية التي تقدمها تشير إلى القاعدة الصحيحة التي تريد حذفها.
OutputDeleting:
deny from 192.168.10.220
Proceed with operation (y|n)? y
Rule deleted
إذا قمت بإدراج قواعدك مرة أخرى مع sudo ufw status
, سترى أن القاعدة قد أزيلت.
قائمة ملفات تعريف التطبيقات المتاحة
عند التثبيت، ستقوم التطبيقات التي تعتمد على اتصالات الشبكة عادةً بإعداد ملف تعريف UFW يمكنك استخدامه للسماح بالاتصال من العناوين الخارجية. غالبًا ما يكون هذا هو نفسه الجري ufw allow from
, مع ميزة توفير طريق مختصر يستخلص أرقام الموانئ المحددة التي تستخدمها الخدمة ويوفر تسميات سهلة الاستعمال للخدمات المشار إليها.
ولإعداد قائمة بالملامح المتاحة حاليا، يرجى الاطلاع على ما يلي:
$ sudo ufw app list
إذا قمت بتثبيت خدمة مثل خادم الويب أو أي برنامج آخر يعتمد على الشبكة ولم يتم توفير ملف تعريف داخل UFW، فتأكد أولاً من تمكين الخدمة. بالنسبة للخوادم البعيدة، سيكون لديك عادةً OpenSSH متاحًا بسهولة:
OutputAvailable applications:
OpenSSH
اسمح لجميع HTTP/HTTPS الواردة (port 443
/ 80
)
عادةً ما تستمع خوادم الويب، مثل Apache و Nginx، إلى طلبات HTTP في المنفذ 80
.
تعمل HTTPS عادةً في المنفذ 443
. إذا تم تعيين سياستك الافتراضية لحركة المرور القادمة على الانخفاض أو الرفض، فستحتاج إلى إنشاء قاعدة UFW للسماح بالوصول الخارجي في المنفذ 443
. يمكنك استخدام إما رقم المنفذ أو اسم الخدمة (https
) كمعامل لهذا الأمر.
للسماح لجميع HTTPS و HTTP الواردة (port 443
/ 80
) اتصالات, شغل:
$ sudo ufw allow https,http
OutputRule added
Rule added (v6)
البناء البديل هو تحديد رقم منفذ خدمة HTTPS:
$ sudo ufw allow 443,80
Conclusion
UFW هي أداة قوية وسهلة الاستخدام تتيح لك إدارة جدار حماية Linux الخاص بك. مع أساسيات UFW والتفسيرات الواردة في هذه المقالة، يجب أن يكون لديك الآن فهم جيد لكيفية البدء مع UFW.
تذكر أن تكون دائمًا حذرًا عند تكوين جدار الحماية الخاص بك، واسمح فقط بحركة المرور اللازمة لعمل نظامك بشكل صحيح.