چگونه Rule های فایروال را در CentOS 7 مدیریت کنیم

در CentOS7 شما نیاز دارید که با فایروال آشنا شوید.
در این مقاله ما می‌خواهیم درباره اضافه و حذف Rule های اساسی فایروال بحث کنیم. این Rule ها به شما اجازه می‌دهند به خدماتی که در حال اجرا بر روی سرورتان است دسترسی داشته باشید.

هشدار: هنگامی که با یک سرور Remote کار می‌کنید و تنظیمات فایروال آن را مدیریت می‌کنید، باید مراقب باشید که از سرور خارج نشوید. مثلا اگر پورت ۲۲ که مربوط به SSH است را ببندید دیگر نمی‌توانید از طریق SSH به سرور دسترسی داشته باشید. برای این مواقع شما می‌توانید تگ دائمی (permanent flag) را حذف کنید که در صورت مواجه با همچین مشکلی با Reboot کردن سرور Rule هایی که ایجاد کرده‌اید حذف می‌شوند.

به طور کلی در نرم افزار فایروال سه منطقه وجود دارد؛ Domain Profile ،Private Profile ،Public Profile.
منطقه Domain Profile برای زمانی‌که کامپیوتر شما عضو دامنه یک شرکت بزرگ است استفاده می‌شود. منطقه Private Profile برای یک شبکه خصوصی محلی استفاده می‌شود و منطقه Public Profil برای زمانی استفاده می‌شود که کامپیوتر شما عضو یک شبکه محلی عمومی باشد. در CentOS7 منطقه پیش‌فرض فایروال “Public” است. شما می‌توانید این مسیر را به /etc/firewalld/firewalld.conf تغییر دهید. اما در حال حاضر ما با توجه به اهداف مقاله همان منطقه “Public” را در نظر می‌گیریم.

باز کردن پورت:

برای باز کردن پورت ۸۰ (Http) در فایروال، شما می‌توانید از دستور زیر استفاده کنید.

firewall-cmd --permanent --zone=public --add-port=80/tcp

نکته: در دستور بالا با حذف تگ Permanent در صورت مواجه با مشکل با Reboot کردن سیستم Rule هایی که ایجاد کرده‌اید حذف می‌شوند.

با استفاده از دستور زیر می‌توانید تغییرات را در فایروال اعمال کنید:

firewall-cmd –reload

تایید Rule ها:

دستور زیر برای بررسی باز بودن پورت استفاده می‌شود، این دستور به سادگی با یک بله یا نه بازگشت داده می‌شود.

firewall-cmd --zone=public --query-port=80/tcp

ایجاد Rule ها با استفاده از نام سرویس‌ها:

متناوبا شما می‌توانید با استفاده از نام سرویس‌ها Rule ها را ایجاد کنید:

firewall-cmd --permanent --zone=public --add-service=http

اکنون می‌توانید با دستور زیر تغییرات را اعمال نمائید:

firewall-cmd –reload

بررسی پورت سرویس‌های باز شده:

firewall-cmd --zone=public --query-service=http

مثال‌های واقعی:

این مراحل یک ورودی دائم از پیکربندی فایروالتان ایجاد می‌کنید که ورودی اتصالات TCP به پورت ۸۰ TCP از اینترنت را اجازه می‌دهد.

با استفاده از دستور “firewall-cmd –list-all”می‌توانید تنظیمات اخیر فایورال خود را مشاهده کنید.

مثال:

firewall-cmd --list-all

public (default, active)
interfaces: eth0 eth1
sources:
services: ssh
ports: 80/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:

برای حذف Rule یا سرویسی که اضافه کرده‌اید:

firewall-cmd --zone=public --remove-port=80/tcp

یا

firewall-cmd --zone=public --remove-service=http

سپس با استفاده از دستور زیر از اعمال تغییرات مطمئن شوید:

firewall-cmd –reload

فایروال اجازه می‌دهد که راحت و آسان قوانین فایروال در CentOS7 را مدیریت کنید. با کمی تمرین می‌تواند ابزاری مطمئن و امن برای حفظ زیرساخت‌های خود داشته باشید.